Example #1
0
 "Convert non-strings and non-buffers": function() {
     assert.strictEqual(iconv.toEncoding({}, "utf8").toString(), "[object Object]");
     assert.strictEqual(iconv.toEncoding(10, "utf8").toString(), "10");
     assert.strictEqual(iconv.toEncoding(undefined, "utf8").toString(), "");
     assert.strictEqual(iconv.fromEncoding({}, "utf8"), "[object Object]");
     assert.strictEqual(iconv.fromEncoding(10, "utf8"), "10");
     assert.strictEqual(iconv.fromEncoding(undefined, "utf8"), "");
 },
Example #2
0
 "Big5 correctly encoded/decoded": function () {
     assert.strictEqual(iconv.toEncoding(testString, "big5").toString('binary'),
         testStringBig5Buffer.toString('binary'));
     assert.strictEqual(iconv.fromEncoding(testStringBig5Buffer, "big5"), testString);
     assert.strictEqual(iconv.toEncoding(testString2, 'big5').toString('binary'),
         testStringBig5Buffer2.toString('binary'));
     assert.strictEqual(iconv.fromEncoding(testStringBig5Buffer2, 'big5'), testString2);
 },
Example #3
0
 "Big5 correctly decodes and encodes characters · and ×": function() {
     // https://github.com/ashtuchkin/iconv-lite/issues/13
     // Reference: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT
     var chars = "·×";
     var big5Chars = new Buffer([0xA1, 0x50, 0xA1, 0xD1]);
     assert.strictEqual(iconv.toEncoding(chars, "big5").toString('binary'), big5Chars.toString('binary'));
     assert.strictEqual(iconv.fromEncoding(big5Chars, "big5"), chars)
 },
Example #4
0
	"compare with iconv result": function() {
		var mapfolder = path.join(path.dirname(module.filename), "../encodings/filemapping");
		var files = fs.readdirSync(mapfolder);
		var t;
		for (i=0; i<files.length; i++)
		{
			var x = files[i].indexOf(" ");
			if (x === -1) x = files[i].indexOf(".");
			var enc = files[i].substring(0, x);
			//console.log("Test encoding " + enc);
			var p = getBigText(path.join(mapfolder, files[i]));
	
			// compare iconv-lite with utf8
			assert.strictEqual(iconv.fromEncoding(p.other, enc).toString(), p.utf8);
	
			// compare iconv with utf8
			var iconvc = new (require("iconv").Iconv)(enc, "utf8");
			assert.strictEqual(iconvc.convert(p.other).toString(), p.utf8);
		}
	},
Example #5
0
	"ks_c_5601-1987 correctly encoded/decoded": function() {
		assert.strictEqual(iconv.toEncoding(testStringUtf, "ks_c_5601-1987").toString("binary"), testStringCP949Buffer.toString("binary"));
		assert.strictEqual(iconv.fromEncoding(testStringCP949Buffer, "ks_c_5601-1987"), testStringUtf);
	},
Example #6
0
var vows=require("vows"),assert=require("assert"),iconv=require(__dirname+"/../"),ascii="\x00\b	\n\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",encodings=[{name:"windows1254",variations:["windows-1254","win-1254","win1254","cp1254","cp-1254",1254],strings:{empty:"",ascii:ascii,turkish:"€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ",untranslatable:"Žž"},encodedStrings:{empty:new Buffer(""),ascii:new Buffer(ascii,"binary"),turkish:new Buffer("€‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ","binary")}},{name:"iso88599",variations:["iso-8859-9","turkish","turkish8","cp28599","cp-28599",28599],strings:{empty:"",ascii:ascii,turkish:" ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ",untranslatable:""},encodedStrings:{empty:new Buffer(""),ascii:new Buffer(ascii,"binary"),turkish:new Buffer(" ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ","binary")}}],testsBatch={};encodings.forEach(function(e){var n=e.variations[0],t="turkish",r={"Convert to empty buffer":function(){assert.strictEqual(iconv.toEncoding("",n).toString("binary"),new Buffer("").toString("binary"))},"Convert from empty buffer":function(){assert.strictEqual(iconv.fromEncoding(new Buffer(""),n),"")},"Convert from buffer":function(){for(var t in e.encodedStrings)assert.strictEqual(iconv.fromEncoding(e.encodedStrings[t],n),e.strings[t])},"Convert to buffer":function(){for(var t in e.encodedStrings)assert.strictEqual(iconv.toEncoding(e.strings[t],n).toString("binary"),e.encodedStrings[t].toString("binary"))},"Try different variations of encoding":function(){e.variations.forEach(function(n){assert.strictEqual(iconv.fromEncoding(e.encodedStrings[t],n),e.strings[t]),assert.strictEqual(iconv.toEncoding(e.strings[t],n).toString("binary"),e.encodedStrings[t].toString("binary"))})},"Untranslatable chars are converted to defaultCharSingleByte":function(){var t=e.strings.untranslatable.split("").map(function(e){return iconv.defaultCharSingleByte}).join("");assert.strictEqual(iconv.toEncoding(e.strings.untranslatable,n).toString("binary"),t)}};testsBatch[e.name+":"]=r}),vows.describe("Test Turkish encodings").addBatch(testsBatch)["export"](module);
Example #7
0
 "Convert from buffer": function() {
     for (var key in encoding.encodedStrings)
         assert.strictEqual(iconv.fromEncoding(encoding.encodedStrings[key], enc), 
             baseStrings[key]);
 },
Example #8
0
 encoding.variations.forEach(function(enc) {
     assert.strictEqual(iconv.fromEncoding(encoding.encodedStrings[key], enc), baseStrings[key]);
     assert.strictEqual(iconv.toEncoding(baseStrings[key], enc).toString('binary'), encoding.encodedStrings[key].toString('binary'));
 });
Example #9
0
 ['utf8', "UTF-8", "UCS2", "binary", ""].forEach(function(enc) {
     assert.strictEqual(iconv.toEncoding(testStringLatin1, enc).toString(enc), testStringLatin1);
     assert.strictEqual(iconv.fromEncoding(new Buffer(testStringLatin1, enc), enc), testStringLatin1);
 });
Example #10
0
 "Convert from empty buffer": function() {
     assert.strictEqual(iconv.fromEncoding(new Buffer(''), enc), "");
 },
Example #11
0
 "GB2312 correctly encoded/decoded": function () {
     assert.strictEqual(iconv.toEncoding(testString, "GB2312").toString('binary'), testStringGBKBuffer.toString('binary'));
     assert.strictEqual(iconv.fromEncoding(testStringGBKBuffer, "GB2312"), testString);
 },
Example #12
0
 "Big5 file read decoded,compare with iconv result": function() {
     var contentBuffer = fs.readFileSync(__dirname+"/big5File.txt");
     var str = iconv.fromEncoding(contentBuffer, "big5");
     var iconvc = new (require('iconv').Iconv)('big5','utf8');
     assert.strictEqual(iconvc.convert(contentBuffer).toString(), str);
 },
Example #13
0
var vows=require("vows"),fs=require("fs"),assert=require("assert"),iconv=require(__dirname+"/../"),testString="中文abc",testStringBig5Buffer=new Buffer([164,164,164,229,97,98,99]),testString2="測試",testStringBig5Buffer2=new Buffer([180,250,184,213]);vows.describe("Big5 tests").addBatch({"Big5 correctly encoded/decoded":function(){assert.strictEqual(iconv.toEncoding(testString,"big5").toString("binary"),testStringBig5Buffer.toString("binary")),assert.strictEqual(iconv.fromEncoding(testStringBig5Buffer,"big5"),testString),assert.strictEqual(iconv.toEncoding(testString2,"big5").toString("binary"),testStringBig5Buffer2.toString("binary")),assert.strictEqual(iconv.fromEncoding(testStringBig5Buffer2,"big5"),testString2)},"cp950 correctly encoded/decoded":function(){assert.strictEqual(iconv.toEncoding(testString,"cp950").toString("binary"),testStringBig5Buffer.toString("binary")),assert.strictEqual(iconv.fromEncoding(testStringBig5Buffer,"cp950"),testString)},"Big5 file read decoded,compare with iconv result":function(){var e=fs.readFileSync(__dirname+"/big5File.txt"),n=iconv.fromEncoding(e,"big5"),t=new(require("iconv").Iconv)("big5","utf8");assert.strictEqual(t.convert(e).toString(),n)},"Big5 correctly decodes and encodes characters · and ×":function(){var e="·×",n=new Buffer([161,80,161,209]);assert.strictEqual(iconv.toEncoding(e,"big5").toString("binary"),n.toString("binary")),assert.strictEqual(iconv.fromEncoding(n,"big5"),e)}})["export"](module);
Example #14
0
 "Return values are of correct types": function () {
     assert.ok(iconv.toEncoding(testString, "utf8") instanceof Buffer);
     var s = iconv.fromEncoding(new Buffer(testString), "utf8");
     assert.strictEqual(Object.prototype.toString.call(s), "[object String]");
 },
Example #15
0
 "Aliases encode and decode work the same as toEncoding and fromEncoding": function() {
     assert.strictEqual(iconv.toEncoding(testString, "latin1").toString("binary"), iconv.encode(testString, "latin1").toString("binary"));
     assert.strictEqual(iconv.fromEncoding(testStringLatin1, "latin1"), iconv.decode(testStringLatin1, "latin1"));
 },
Example #16
0
 "Base64 correctly encoded/decoded": function() {    
     assert.strictEqual(iconv.toEncoding(testStringBase64, "base64").toString("binary"), testString);
     assert.strictEqual(iconv.fromEncoding(new Buffer(testString, "binary"), "base64"), testStringBase64);
 },
Example #17
0
 assert.throws(function() { iconv.fromEncoding("a", "xxx"); });
Example #18
0
 "Convert from string, not buffer (binary encoding used)": function() {
     assert.strictEqual(iconv.fromEncoding(testStringLatin1, "binary"), testStringLatin1);
 },
Example #19
0
 "Latin1 correctly encoded/decoded": function() {    
     assert.strictEqual(iconv.toEncoding(testStringLatin1, "latin1").toString("binary"), testStringLatin1);
     assert.strictEqual(iconv.fromEncoding(new Buffer(testStringLatin1, "binary"), "latin1"), testStringLatin1);
 },