12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>Native Base64 Tests</title>
- <script src="../include/util.js"></script>
- <script src="../include/webutil.js"></script>
- <script src="../include/base64.js"></script>
- </head>
- <body>
- <h1>Native Base64 Tests</h1>
-
- <br>
- Messages:<br>
- <textarea id="debug" style="font-size: 9px;" cols=80 rows=25></textarea>
-
- <br>
- </body>
-
- <script>
- function debug(str) {
- console.log(str);
- cell = $D('debug');
- cell.textContent += str + "\n";
- cell.scrollTop = cell.scrollHeight;
- }
- function assertRun(code, result) {
- try {
- var actual = eval(code);
- } catch (exc) {
- debug("FAIL: '" + code + "' threw an exception");
- fail += 1;
- return false;
- }
- if (actual !== result) {
- debug("FAIL: '" + code + "' returned '" + actual + "', expected '" + result + "'");
- fail += 1;
- return false;
- }
- debug("PASS: '" + code + "' returned expected '" + result +"'");
- pass += 1;
- return true;
- }
- function Base64_decode(data) {
- var arr = Base64.decode (data);
- return arr.map(function (num) {
- return String.fromCharCode(num); } ).join('');
- }
- window.onload = function() {
- var str;
- debug('onload');
- fail = 0;
- pass = 0;
- assertRun('window.btoa("hello world")', 'aGVsbG8gd29ybGQ=');
- assertRun('window.btoa("a")', 'YQ==');
- assertRun('window.btoa("ab")', 'YWI=');
- assertRun('window.btoa("abc")', 'YWJj');
- assertRun('window.btoa("abcd")', 'YWJjZA==');
- assertRun('window.btoa("abcde")', 'YWJjZGU=');
- assertRun('window.btoa("abcdef")', 'YWJjZGVm');
- assertRun('window.btoa("abcdefg")', 'YWJjZGVmZw==');
- assertRun('window.btoa("abcdefgh")', 'YWJjZGVmZ2g=');
- assertRun('window.atob("aGVsbG8gd29ybGQ=")', 'hello world');
- assertRun('Base64_decode("aGVsbG8gd29ybGQ=")', 'hello world');
- assertRun('window.atob("YQ==")', 'a');
- assertRun('Base64_decode("YQ==")', 'a');
- assertRun('window.atob("YWI=")', 'ab');
- assertRun('Base64_decode("YWI=")', 'ab');
- assertRun('window.atob("YWJj")', 'abc');
- assertRun('Base64_decode("YWJj")', 'abc');
- assertRun('window.atob("YWJjZA==")', 'abcd');
- assertRun('Base64_decode("YWJjZA==")', 'abcd');
- assertRun('window.atob("YWJjZGU=")', 'abcde');
- assertRun('Base64_decode("YWJjZGU=")', 'abcde');
- assertRun('window.atob("YWJjZGVm")', 'abcdef');
- assertRun('Base64_decode("YWJjZGVm")', 'abcdef');
- assertRun('typeof window.btoa', 'function');
- assertRun('window.btoa("")', '');
- assertRun('window.btoa(null)', '');
- assertRun('window.atob(window.btoa(window))', window.toString()); // "[object DOMWindow]"
- assertRun('window.btoa("\\u0080\\u0081")', 'gIE=');
- debug("Tests failed: " + fail);
- debug("Tests passed: " + pass);
- }
- </script>
|