diff options
author | Iain Merrick <husky@google.com> | 2010-09-29 10:59:30 +0100 |
---|---|---|
committer | Iain Merrick <husky@google.com> | 2010-09-29 16:27:50 +0100 |
commit | fd5c6425ce58eb75211be7718d5dee960842a37e (patch) | |
tree | fdcd1da6ceced587fa315991889655ca4105efb1 /LayoutTests/fast/encoding/resources/char-decoding-utils.js | |
parent | a477fea25b6f689360fd2b6a69ee21c3627d3b04 (diff) | |
download | external_webkit-fd5c6425ce58eb75211be7718d5dee960842a37e.zip external_webkit-fd5c6425ce58eb75211be7718d5dee960842a37e.tar.gz external_webkit-fd5c6425ce58eb75211be7718d5dee960842a37e.tar.bz2 |
Add fast/encoding layout tests.
Merged from WebKit at r67178.
The vast majority of these are passing. The exceptions:
- Three Mac-specific tests, won't fix.
- Four failures in the Java HTTP stack (no problem for the Chrome HTTP stack).
- fast/encoding/mailto-always-utf-8 needs a new LayoutTestController callback.
Change-Id: I16c613d42acd0ea2dc146909d514376d0a2e5aaa
Diffstat (limited to 'LayoutTests/fast/encoding/resources/char-decoding-utils.js')
-rw-r--r-- | LayoutTests/fast/encoding/resources/char-decoding-utils.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/LayoutTests/fast/encoding/resources/char-decoding-utils.js b/LayoutTests/fast/encoding/resources/char-decoding-utils.js new file mode 100644 index 0000000..a091ad8 --- /dev/null +++ b/LayoutTests/fast/encoding/resources/char-decoding-utils.js @@ -0,0 +1,34 @@ +function hex(number) +{ + var hexDigit = "0123456789ABCDEF"; + var hex = hexDigit.substr(number & 0xf, 1); + while (number > 15) { + number >>= 4; + hex = hexDigit.substr(number & 15, 1) + hex; + } + return hex; +} + +function decode(charsetName, characterSequence) +{ + var req = new XMLHttpRequest; + req.open('GET', 'data:text/plain,' + characterSequence, false); + req.overrideMimeType('text/plain; charset="' + charsetName + '"'); + req.send(''); + var code = hex(req.responseText.charCodeAt(0)); + return "U+" + ("0000" + code).substr(code.length, 4); +} + +function testDecode(charsetName, characterSequence, unicode) +{ + shouldBe("decode('" + charsetName + "', '" + characterSequence + "')", "'" + unicode + "'"); +} + +function batchTestDecode(inputData) +{ + for (var i in inputData.encodings) { + for (var j in inputData.encoded) + testDecode(inputData.encodings[i], inputData.encoded[j], inputData.unicode[j]); + } +} + |