characterset-helper.js (2116B)
1 function runCharacterSetTests(encodingMap) { 2 // Add spaces and mix up case 3 Object.keys(encodingMap).forEach(function(name) { 4 var lower = encodingMap[name]; 5 var upper = encodingMap[name].map(function(s) { return s.toUpperCase() }); 6 var mixed = encodingMap[name].map(function(s) { 7 var ret = ""; 8 for (var i = 0; i < s.length; i += 2) { 9 ret += s[i].toUpperCase(); 10 if (i + 1 < s.length) { 11 ret += s[i + 1]; 12 } 13 } 14 return ret; 15 }); 16 var spacey = encodingMap[name].map(function(s) { 17 return " \t\n\f\r" + s + " \t\n\f\r"; 18 }); 19 encodingMap[name] = []; 20 for (var i = 0; i < lower.length; i++) { 21 encodingMap[name].push(lower[i]); 22 /* 23 if (lower[i] != upper[i]) { 24 encodingMap[name].push(upper[i]); 25 } 26 if (lower[i] != mixed[i] && upper[i] != mixed[i]) { 27 encodingMap[name].push(mixed[i]); 28 } 29 encodingMap[name].push(spacey[i]); 30 */ 31 } 32 }); 33 34 Object.keys(encodingMap).forEach(function(name) { 35 encodingMap[name].forEach(function(label) { 36 var iframe = document.createElement("iframe"); 37 var t = async_test("Name " + format_value(name) + 38 " has label " + format_value(label) + " (characterSet)"); 39 var t2 = async_test("Name " + format_value(name) + 40 " has label " + format_value(label) + " (inputEncoding)"); 41 var t3 = async_test("Name " + format_value(name) + 42 " has label " + format_value(label) + " (charset)"); 43 iframe.src = "encoding.py?label=" + label; 44 iframe.onload = function() { 45 t.step(function() { 46 assert_equals(iframe.contentDocument.characterSet, name); 47 }); 48 t2.step(function() { 49 assert_equals(iframe.contentDocument.inputEncoding, name); 50 }); 51 t3.step(function() { 52 assert_equals(iframe.contentDocument.charset, name); 53 }); 54 document.body.removeChild(iframe); 55 t.done(); 56 t2.done(); 57 t3.done(); 58 }; 59 document.body.appendChild(iframe); 60 }); 61 }); 62 }