mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.8 KiB
73 lines
1.8 KiB
9 years ago
|
'use strict';
|
||
|
|
||
|
const common = require('../common');
|
||
|
const icu = getPunycode();
|
||
|
const assert = require('assert');
|
||
|
|
||
|
function getPunycode() {
|
||
|
try {
|
||
|
return process.binding('icu');
|
||
|
} catch (err) {
|
||
|
return undefined;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (!icu) {
|
||
|
common.skip('icu punycode tests because ICU is not present.');
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
// Credit for list: http://www.i18nguy.com/markup/idna-examples.html
|
||
|
const tests = [
|
||
|
'افغانستا.icom.museum',
|
||
|
'الجزائر.icom.museum',
|
||
|
'österreich.icom.museum',
|
||
|
'বাংলাদেশ.icom.museum',
|
||
|
'беларусь.icom.museum',
|
||
|
'belgië.icom.museum',
|
||
|
'българия.icom.museum',
|
||
|
'تشادر.icom.museum',
|
||
|
'中国.icom.museum',
|
||
|
'القمر.icom.museum',
|
||
|
'κυπρος.icom.museum',
|
||
|
'českárepublika.icom.museum',
|
||
|
'مصر.icom.museum',
|
||
|
'ελλάδα.icom.museum',
|
||
|
'magyarország.icom.museum',
|
||
|
'ísland.icom.museum',
|
||
|
'भारत.icom.museum',
|
||
|
'ايران.icom.museum',
|
||
|
'éire.icom.museum',
|
||
|
'איקו״ם.ישראל.museum',
|
||
|
'日本.icom.museum',
|
||
|
'الأردن.icom.museum',
|
||
|
'қазақстан.icom.museum',
|
||
|
'한국.icom.museum',
|
||
|
'кыргызстан.icom.museum',
|
||
|
'ລາວ.icom.museum',
|
||
|
'لبنان.icom.museum',
|
||
|
'македонија.icom.museum',
|
||
|
'موريتانيا.icom.museum',
|
||
|
'méxico.icom.museum',
|
||
|
'монголулс.icom.museum',
|
||
|
'المغرب.icom.museum',
|
||
|
'नेपाल.icom.museum',
|
||
|
'عمان.icom.museum',
|
||
|
'قطر.icom.museum',
|
||
|
'românia.icom.museum',
|
||
|
'россия.иком.museum',
|
||
|
'србијаицрнагора.иком.museum',
|
||
|
'இலங்கை.icom.museum',
|
||
|
'españa.icom.museum',
|
||
|
'ไทย.icom.museum',
|
||
|
'تونس.icom.museum',
|
||
|
'türkiye.icom.museum',
|
||
|
'украина.icom.museum',
|
||
|
'việtnam.icom.museum'
|
||
|
];
|
||
|
|
||
|
// Testing the roundtrip
|
||
|
tests.forEach((i) => {
|
||
|
assert.strictEqual(i, icu.toUnicode(icu.toASCII(i)));
|
||
|
});
|