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.
		
		
		
		
		
			
		
			
				
					36 lines
				
				965 B
			
		
		
			
		
	
	
					36 lines
				
				965 B
			| 
								 
											2 years ago
										 
									 | 
							
								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();
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								
							 |