| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | /** * Tests are taken from Text-Unidecode-0.04/test.pl *  * @see <http://search.cpan.org/~sburke/Text-Unidecode-0.04/lib/Text/Unidecode.pm> */'use strict';/* global describe, it */var assert = require('assert');var unidecode = require('../unidecode');describe('# Purity tests', function(){	var code;	var tests = [];		for(code=0; code<=127; code++) {		tests.push(String.fromCharCode(code));	}	tests.forEach(function(test) {		it(test.charCodeAt(0).toString(16) + ' ' + test, function(){			var exp = test;			var res = unidecode(exp);			assert.equal(res, exp);		});	});});describe('# Basic string tests', function(){	var tests = [		"",		1/10,		"I like pie.",		"\n",		"\r\n", // "\cm\cj" - perl control chars Ctrl+M, CTRL+J === \r\n		"I like pie.\n",	];		tests.forEach(function(test) {		it(test, function(){			var exp = test;			var res = unidecode(test.toString());			assert.equal(res, exp);		});	});});describe('# Complex tests', function(){	var tests = [		["\u00C6neid", "AEneid"],		["\u00E9tude", "etude"],		["\u5317\u4EB0", "Bei Jing "],		//  Chinese		["\u1515\u14c7\u14c7", "shanana"],		//  Canadian syllabics		["\u13d4\u13b5\u13c6", "taliqua"],		//  Cherokee		["\u0726\u071b\u073d\u0710\u073a", "ptu'i"],		//  Syriac		["\u0905\u092d\u093f\u091c\u0940\u0924", "abhijiit"],		//  Devanagari		["\u0985\u09ad\u09bf\u099c\u09c0\u09a4", "abhijiit"],		//  Bengali		["\u0d05\u0d2d\u0d3f\u0d1c\u0d40\u0d24", "abhijiit"],		//  Malayalaam		["\u0d2e\u0d32\u0d2f\u0d3e\u0d32\u0d2e\u0d4d", "mlyaalm"],		//  the Malayaalam word for "Malayaalam"		//  Yes, if we were doing it right, that'd be "malayaalam", not "mlyaalm"		["\u3052\u3093\u307e\u3044\u8336", "genmaiCha "],		//  Japanese, astonishingly unmangled.	];		tests.forEach(function(test) {		it(test[0] + '-->' + test[1], function(){			var exp = test[1];			var res = unidecode(test[0]);			assert.equal(res, exp);		});	});});
 |