Skip to content

Commit

Permalink
update definitions
Browse files Browse the repository at this point in the history
  • Loading branch information
Clayblockunova committed Sep 21, 2024
1 parent 05243b9 commit c056a89
Show file tree
Hide file tree
Showing 3 changed files with 323 additions and 9 deletions.
44 changes: 44 additions & 0 deletions src/lib/definitions.js
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,9 @@ function getFHPaddingEntries(index)
var LOCALE_INFINITY = Feature.LOCALE_INFINITY;
var LOCALE_NUMERALS = Feature.LOCALE_NUMERALS;
var LOCALE_NUMERALS_EXT = Feature.LOCALE_NUMERALS_EXT;
var LOCALE_NUMERALS_IE11_WIN7 = Feature.LOCALE_NUMERALS_IE11_WIN7;
var LOCALE_NUMERALS_IE11_WIN7_8 = Feature.LOCALE_NUMERALS_IE11_WIN7_8;
var LOCALE_NUMERALS_IE11_WIN8 = Feature.LOCALE_NUMERALS_IE11_WIN8;
var LOCATION = Feature.LOCATION;
var MOZILLA = Feature.MOZILLA;
var NAME = Feature.NAME;
Expand Down Expand Up @@ -1305,6 +1308,8 @@ function getFHPaddingEntries(index)
'∞':
[
define('Infinity[TO_LOCALE_STRING]()', LOCALE_INFINITY),
define('Infinity[TO_LOCALE_STRING]("ja")[1]', LOCALE_NUMERALS_IE11_WIN7_8),
define('Infinity[TO_LOCALE_STRING]("ru")', LOCALE_NUMERALS_IE11_WIN8),
define('Infinity[TO_LOCALE_STRING]("ja")[SLICE_OR_SUBSTR]("-1")', JAPANESE_INFINITY),
define('Infinity[TO_LOCALE_STRING]("ja").at("-1")', JAPANESE_INFINITY, AT),
defineCharDefault(),
Expand Down Expand Up @@ -2169,21 +2174,60 @@ function getFHPaddingEntries(index)
useLocaleNumeralDefinition('ي', '"ar"', NaN, 1);
useLocaleNumeralDefinition('س', '"ar"', NaN, 2);
useLocaleNumeralDefinition('ر', '"ar"', NaN, 4, LOCALE_NUMERALS_EXT);
useLocaleNumeralDefinition('ب', '"ar"', NaN, 4, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('ق', '"ar"', NaN, 5, LOCALE_NUMERALS_EXT);
useLocaleNumeralDefinition('ر', '"ar"', NaN, 5, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('م', '"ar"', NaN, 6, LOCALE_NUMERALS_EXT);
useLocaleNumeralDefinition('ق', '"ar"', NaN, 6, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('م', '"ar"', NaN, 7, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('ا', '"ar"', Infinity, 2, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('ن', '"ar"', Infinity, 4, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('ه', '"ar"', Infinity, 5, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('ﺓ', '"ar"', Infinity, 8, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDigitDefinitions('"bn"', 0x09e6, LOCALE_NUMERALS_EXT);
useLocaleNumeralDefinition('č', '"cs"', NaN, 5, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('μ', '"el"', NaN, 0, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('η', '"el"', NaN, 1, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('α', '"el"', NaN, 3, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('ρ', '"el"', NaN, 4, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('ι', '"el"', NaN, 5, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('θ', '"el"', NaN, 6, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('ό', '"el"', NaN, 8, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('ς', '"el"', NaN, 9, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('Ά', '"el"', Infinity, 0, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('π', '"el"', Infinity, 1, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('ε', '"el"', Infinity, 2, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('ο', '"el"', Infinity, 5, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDigitDefinitions('"fa"', 0x06f0);
useLocaleNumeralDefinition('٬', '"fa"', 1000, 1);
useLocaleNumeralDefinition('ن', '"fa"', NaN, 0, LOCALE_NUMERALS_EXT);
useLocaleNumeralDefinition('ا', '"fa"', NaN, 1, LOCALE_NUMERALS_EXT);
useLocaleNumeralDefinition('ع', '"fa"', NaN, 2, LOCALE_NUMERALS_EXT);
useLocaleNumeralDefinition('د', '"fa"', NaN, 3, LOCALE_NUMERALS_EXT);
useLocaleNumeralDefinition('ל', '"he"', NaN, 0, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('非', '"ja"', NaN, 5, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('数', '"ja"', NaN, 6, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('値', '"ja"', NaN, 7, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('ė', '"lt"', Infinity, 7, LOCALE_NUMERALS_IE11_WIN7);
useLocaleNumeralDefinition('ī', '"lv"', Infinity, 6, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('ś', '"pl"', Infinity, 13, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('н', '"ru"', NaN, 0, LOCALE_NUMERALS_EXT);
useLocaleNumeralDefinition('е', '"ru"', NaN, 1, LOCALE_NUMERALS_EXT);
useLocaleNumeralDefinition('ч', '"ru"', NaN, 3, LOCALE_NUMERALS_EXT);
useLocaleNumeralDefinition('и', '"ru"', NaN, 4, LOCALE_NUMERALS_EXT);
useLocaleNumeralDefinition('с', '"ru"', NaN, 5, LOCALE_NUMERALS_EXT);
useLocaleNumeralDefinition('л', '"ru"', NaN, 6, LOCALE_NUMERALS_EXT);
useLocaleNumeralDefinition('о', '"ru"', NaN, 7, LOCALE_NUMERALS_EXT);
useLocaleNumeralDefinition('б', '"ru"', Infinity, 0, LOCALE_NUMERALS_IE11_WIN7);
useLocaleNumeralDefinition('е', '"ru"', Infinity, 1, LOCALE_NUMERALS_IE11_WIN7);
useLocaleNumeralDefinition('с', '"ru"', Infinity, 2, LOCALE_NUMERALS_IE11_WIN7);
useLocaleNumeralDefinition('к', '"ru"', Infinity, 3, LOCALE_NUMERALS_IE11_WIN7);
useLocaleNumeralDefinition('н', '"ru"', Infinity, 5, LOCALE_NUMERALS_IE11_WIN7);
useLocaleNumeralDefinition('ч', '"ru"', Infinity, 7, LOCALE_NUMERALS_IE11_WIN7);
useLocaleNumeralDefinition('о', '"ru"', Infinity, 9, LOCALE_NUMERALS_IE11_WIN7);
useLocaleNumeralDefinition('т', '"ru"', Infinity, 11, LOCALE_NUMERALS_IE11_WIN7);
useLocaleNumeralDefinition('ь', '"ru"', Infinity, 12, LOCALE_NUMERALS_IE11_WIN7);
useLocaleNumeralDefinition('正', '"zh"', Infinity, 0, LOCALE_NUMERALS_IE11_WIN7_8);
useLocaleNumeralDefinition('字', '"zh-cn"', NaN, 2, LOCALE_NUMERALS_IE11_WIN7_8);
}
)();
103 changes: 94 additions & 9 deletions src/lib/features.js
Original file line number Diff line number Diff line change
Expand Up @@ -569,6 +569,74 @@ var featureInfos =
},
includes: ['LOCALE_NUMERALS'],
},
LOCALE_NUMERALS_IE11_WIN7:
{
description:
'Localized number formatting exclusive to Interner Explorer 11 in Windows 7.\n' +
'This includes the letters in the Latvian string representation of Infinity ' +
'("bezgalība") and the letters in the Russian string representation of Infinity ' +
'("бесконечность").',
check:
function ()
{
var available =
checkLocaleNumeral('lv', Infinity, /^bezgalība/) &&
checkLocaleNumeral('ru', Infinity, /^бесконечность/);
return available;
},
includes: ['LOCALE_NUMERALS_IE11_WIN7_8'],
},
LOCALE_NUMERALS_IE11_WIN7_8:
{
description:
'Localized number formatting exclusive to Interner Explorer 11 in Windows 7 and 8.\n' +
'This includes all features of LOCALE_NUMERALS plus the output of the letters in the ' +
'second word of the Arabic string representation of NaN ("برقم"), the letters in the ' +
'Arabic string representation of Infinity ("+لا\xa0نهاية"), the letters in the the Czech ' +
'string representation of NaN ("Není\xa0číslo"), the letters in the the Greek string ' +
'representation of Infinity ("Άπειρο"), the letters in the Greek string representation ' +
'of NaN ("μη\xa0αριθμός"), the letters in the Hebrew string representation of NaN ' +
'("לא\xa0מספר"), the characters in the Japanese string representation of Infinity ' +
'("+∞"), the characters in the Japanese string representation of NaN ("NaN\xa0(非数値)"), ' +
'the letters in the Lithuanian string representation of Infinity ("begalybė"), the ' +
'letters in the Polish string representation of Infinity ("+nieskończoność"), the ' +
'characters in the Chinese string representation of Infinity ("正无穷大" or "正無窮大"), the ' +
'characters in the Simplified Chinese string representation of NaN ("非数字").',
check:
function ()
{
var available =
checkLocaleNumeral('ar', NaN, /^ليس.برقم/) &&
checkLocaleNumeral('ar', Infinity, /^\+لا.نهاية/) &&
checkLocaleNumeral('ar-td', 234567890.1, /^٢٣٤٬?٥٦٧٬?٨٩٠٫١/) &&
checkLocaleNumeral('cs', NaN, /^Není.číslo/) &&
checkLocaleNumeral('el', Infinity, /^Άπειρο/) &&
checkLocaleNumeral('el', NaN, /^μη.αριθμός/) &&
checkLocaleNumeral('he', NaN, /^לא.מספר/) &&
checkLocaleNumeral('ja', Infinity, /^\+∞/) &&
checkLocaleNumeral('ja', NaN, /^NaN \(非数値\)/) &&
checkLocaleNumeral('lt', Infinity, /^begalybė/) &&
checkLocaleNumeral('pl', Infinity, /^\+nieskończoność/) &&
checkLocaleNumeral('zh', Infinity, /^正/) &&
checkLocaleNumeral('zh-cn', NaN, /^非数字/);
return available;
},
includes: ['LOCALE_NUMERALS'],
},
LOCALE_NUMERALS_IE11_WIN8:
{
description:
'Localized number formatting exclusive to Interner Explorer 11 in Windows 8.\n' +
'In this case, Latvian and Russian string representation of Infinity are both "∞".',
check:
function ()
{
var available = Infinity.toLocaleString('lv') === '∞' &&
Infinity.toLocaleString('ru') === '∞';
return available;
},
includes: ['LOCALE_NUMERALS_IE11_WIN7_8'],
},
LOCATION:
{
description:
Expand Down Expand Up @@ -1104,23 +1172,40 @@ var featureInfos =
versions: ['11'],
includes:
{
ANY_DOCUMENT: true,
DOCUMENT: false,
GMT: true,
JAPANESE_INFINITY: true,
LOCALE_NUMERALS: true,
PLAIN_INTL: true,
SHORT_LOCALES: true,
ANY_DOCUMENT: true,
DOCUMENT: false,
GMT: true,
JAPANESE_INFINITY: true,
LOCALE_NUMERALS: true,
LOCALE_NUMERALS_IE11_WIN7: true,
LOCALE_NUMERALS_IE11_WIN7_8: true,
PLAIN_INTL: true,
SHORT_LOCALES: true,
},
},
IE_11_WIN_10:
IE_11_WIN_8:
{
inherits: 'IE_11',
versions: ['11'],
compatibilityTag: 'on Windows 8',
compatibilityShortTag: 'W8',
includes:
{ LOCALE_NUMERALS_IE11_WIN7: false, LOCALE_NUMERALS_IE11_WIN8: true },
},
IE_11_WIN_10:
{
inherits: 'IE_11_WIN_8',
versions: ['11'],
compatibilityTag: 'on Windows 10',
compatibilityShortTag: 'W10',
includes:
{ LOCALE_INFINITY: true, LOCALE_NUMERALS: false, LOCALE_NUMERALS_EXT: true },
{
LOCALE_INFINITY: true,
LOCALE_NUMERALS: false,
LOCALE_NUMERALS_EXT: true,
LOCALE_NUMERALS_IE11_WIN7_8: false,
LOCALE_NUMERALS_IE11_WIN8: false,
},
},
NODE_0_10:
{
Expand Down
185 changes: 185 additions & 0 deletions test/helpers/feature-emulation.helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -1081,6 +1081,191 @@
}
);
},
LOCALE_NUMERALS_IE11_WIN7:
function ()
{
this.arabicNaNString = 'ليس\xa0برقم';
registerNumberToLocaleStringAdapter
(
this,
function (locale)
{
var returnValue;
switch (locale)
{
case 'lv':
switch (+this) // In Internet Explorer 9, +this is different from this.
{
case Infinity:
return 'bezgalība';
case -Infinity:
return '-bezgalība';
}
break;
case 'ru':
switch (+this) // In Internet Explorer 9, +this is different from this.
{
case Infinity:
return 'бесконечность';
case -Infinity:
return '-бесконечность';
}
break;
}
return returnValue;
}
);
},
LOCALE_NUMERALS_IE11_WIN7_8:
function ()
{
this.arabicNaNString = 'ليس\xa0برقم';
registerNumberToLocaleStringAdapter
(
this,
function (locale)
{
var returnValue;
var number;
switch (locale)
{
case 'ar':
case 'ar-td':
number = Number(this);
if (isNaN(number))
returnValue = 'ليس\xa0برقم';
else
{
switch (+this) // In Internet Explorer 9, +this is different from this.
{
case Infinity:
return '+لا\xa0نهاية';
case -Infinity:
return '-لا\xa0نهاية';
}
}
break;
case 'cz':
number = Number(this);
if (isNaN(number))
returnValue = 'Není\xa0číslo';
break;
case 'el':
number = Number(this);
if (isNaN(number))
returnValue = 'μη\xa0αριθμός';
else
{
switch (+this) // In Internet Explorer 9, +this is different from this.
{
case Infinity:
return 'Άπειρο';
case -Infinity:
return '-Άπειρο';
}
}
break;
case 'he':
number = Number(this);
if (isNaN(number))
returnValue = 'לא\xa0מספר';
break;
case 'ja':
number = Number(this);
if (isNaN(number))
returnValue = 'NaN\xa0(非数値)';
else
{
switch (+this) // In Internet Explorer 9, +this is different from this.
{
case Infinity:
return '+∞';
case -Infinity:
return '-∞';
}
}
break;
case 'lt':
switch (+this) // In Internet Explorer 9, +this is different from this.
{
case Infinity:
return 'begalybė';
case -Infinity:
return '-begalybė';
}
break;
case 'pl':
switch (+this) // In Internet Explorer 9, +this is different from this.
{
case Infinity:
return '+nieskończoność';
case -Infinity:
return '-nieskończoność';
}
break;
case 'ru':
switch (+this) // In Internet Explorer 9, +this is different from this.
{
case Infinity:
return 'бесконечность';
case -Infinity:
return '-бесконечность';
}
break;
case 'zh':
switch (+this) // In Internet Explorer 9, +this is different from this.
{
case Infinity:
return '正无穷大';
case -Infinity:
return '负无穷大';
}
break;
case 'zh-cn':
number = Number(this);
if (isNaN(number))
returnValue = '非数字';
break;
}
return returnValue;
}
);
},
LOCALE_NUMERALS_IE11_WIN8:
function ()
{
this.arabicNaNString = 'ليس\xa0برقم';
registerNumberToLocaleStringAdapter
(
this,
function (locale)
{
var returnValue;
switch (locale)
{
case 'lv':
switch (+this) // In Internet Explorer 9, +this is different from this.
{
case Infinity:
return '∞';
case -Infinity:
return '-∞';
}
break;
case 'ru':
switch (+this) // In Internet Explorer 9, +this is different from this.
{
case Infinity:
return '∞';
case -Infinity:
return '-∞';
}
break;
}
return returnValue;
}
);
},
LOCATION:
function ()
{
Expand Down

0 comments on commit c056a89

Please sign in to comment.