Skip to content

Commit

Permalink
test: cleanup test-intl.js
Browse files Browse the repository at this point in the history
Improved variables to be all const.
Enforced assert.strictEqual across all tests.
Modified haveIntl tests to check for int.
Fixed alignment.

PR-URL: #8641
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com>
  • Loading branch information
a-metta authored and Fishrock123 committed Oct 11, 2016
1 parent 14025db commit f2f6353
Showing 1 changed file with 33 additions and 30 deletions.
63 changes: 33 additions & 30 deletions test/parallel/test-intl.js
Original file line number Diff line number Diff line change
@@ -1,46 +1,46 @@
'use strict';
const common = require('../common');
var assert = require('assert');
const assert = require('assert');

// does node think that i18n was enabled?
var enablei18n = process.config.variables.v8_enable_i18n_support;
let enablei18n = process.config.variables.v8_enable_i18n_support;
if (enablei18n === undefined) {
enablei18n = false;
enablei18n = 0;
}

// is the Intl object present?
var haveIntl = (global.Intl != undefined);
const haveIntl = (global.Intl !== undefined);

// Returns true if no specific locale ids were configured (i.e. "all")
// Else, returns true if loc is in the configured list
// Else, returns false
function haveLocale(loc) {
var locs = process.config.variables.icu_locales.split(',');
const locs = process.config.variables.icu_locales.split(',');
return locs.indexOf(loc) !== -1;
}

if (!haveIntl) {
const erMsg =
'"Intl" object is NOT present but v8_enable_i18n_support is ' +
enablei18n;
assert.equal(enablei18n, false, erMsg);
assert.strictEqual(enablei18n, 0, erMsg);
common.skip('Intl tests because Intl object not present.');

} else {
const erMsg =
'"Intl" object is present but v8_enable_i18n_support is ' +
enablei18n +
'. Is this test out of date?';
assert.equal(enablei18n, true, erMsg);
assert.strictEqual(enablei18n, 1, erMsg);

// Construct a new date at the beginning of Unix time
var date0 = new Date(0);
const date0 = new Date(0);

// Use the GMT time zone
var GMT = 'Etc/GMT';
const GMT = 'Etc/GMT';

// Construct an English formatter. Should format to "Jan 70"
var dtf =
const dtf =
new Intl.DateTimeFormat(['en'],
{timeZone: GMT, month: 'short', year: '2-digit'});

Expand All @@ -54,30 +54,33 @@ if (!haveIntl) {
}

// Check with toLocaleString
var localeString = dtf.format(date0);
assert.equal(localeString, 'Jan 70');

{
const localeString = dtf.format(date0);
assert.strictEqual(localeString, 'Jan 70');
}
// Options to request GMT
var optsGMT = {timeZone: GMT};
const optsGMT = {timeZone: GMT};

// Test format
localeString = date0.toLocaleString(['en'], optsGMT);
assert.equal(localeString, '1/1/1970, 12:00:00 AM');

{
const localeString = date0.toLocaleString(['en'], optsGMT);
assert.strictEqual(localeString, '1/1/1970, 12:00:00 AM');
}
// number format
assert.equal(new Intl.NumberFormat(['en']).format(12345.67890), '12,345.679');
const numberFormat = new Intl.NumberFormat(['en']).format(12345.67890);
assert.strictEqual(numberFormat, '12,345.679');

var collOpts = { sensitivity: 'base', ignorePunctuation: true };
var coll = new Intl.Collator(['en'], collOpts);
const collOpts = { sensitivity: 'base', ignorePunctuation: true };
const coll = new Intl.Collator(['en'], collOpts);

assert.equal(coll.compare('blackbird', 'black-bird'), 0,
'ignore punctuation failed');
assert.equal(coll.compare('blackbird', 'red-bird'), -1,
'compare less failed');
assert.equal(coll.compare('bluebird', 'blackbird'), 1,
'compare greater failed');
assert.equal(coll.compare('Bluebird', 'bluebird'), 0,
'ignore case failed');
assert.equal(coll.compare('\ufb03', 'ffi'), 0,
'ffi ligature (contraction) failed');
assert.strictEqual(coll.compare('blackbird', 'black-bird'), 0,
'ignore punctuation failed');
assert.strictEqual(coll.compare('blackbird', 'red-bird'), -1,
'compare less failed');
assert.strictEqual(coll.compare('bluebird', 'blackbird'), 1,
'compare greater failed');
assert.strictEqual(coll.compare('Bluebird', 'bluebird'), 0,
'ignore case failed');
assert.strictEqual(coll.compare('\ufb03', 'ffi'), 0,
'ffi ligature (contraction) failed');
}

0 comments on commit f2f6353

Please sign in to comment.