1234567891011121314151617181920212223242526272829303132333435 |
- var test = require('tape');
- var punycode = require('punycode');
- var ent = require('../');
- test('hex', function (t) {
- for (var i = 0; i < 32; i++) {
- var a = String.fromCharCode(i);
- if (a.match(/\s/)) {
- t.equal(ent.decode(a), a);
- }
- else {
- var b = '&#x' + i.toString(16) + ';';
- t.equal(ent.decode(b), a);
- t.equal(ent.encode(a), '&#' + i + ';');
- }
- }
-
- for (var i = 127; i < 2000; i++) {
- var a = String.fromCharCode(i);
- var b = '&#x' + i.toString(16) + ';';
- var c = '&#X' + i.toString(16) + ';';
-
- t.equal(ent.decode(b), a);
- t.equal(ent.decode(c), a);
-
- var encoded = ent.encode(a);
- var encoded2 = ent.encode(a + a);
- if (!encoded.match(/^&\w+;/)) {
- t.equal(encoded, '&#' + i + ';');
- t.equal(encoded2, '&#' + i + ';&#' + i + ';');
- }
- }
- t.end();
- });
|