зеркало из https://github.com/mozilla/gecko-dev.git
47 строки
913 B
JavaScript
47 строки
913 B
JavaScript
|
/**
|
||
|
* Any copyright is dedicated to the Public Domain.
|
||
|
* http://creativecommons.org/publicdomain/zero/1.0/
|
||
|
*/
|
||
|
var data = [ -1, 0, 1, 1.5, null, undefined, true, false, "foo",
|
||
|
"123456789012345", "1234567890123456", "12345678901234567"];
|
||
|
|
||
|
var str = "";
|
||
|
for (var i = 0; i < 30; i++) {
|
||
|
data.push(str);
|
||
|
str += i % 2 ? "b" : "a";
|
||
|
}
|
||
|
|
||
|
onmessage = function(event) {
|
||
|
data.forEach(function(string) {
|
||
|
var encoded = btoa(string);
|
||
|
postMessage({ type: "btoa", value: encoded });
|
||
|
postMessage({ type: "atob", value: atob(encoded) });
|
||
|
});
|
||
|
|
||
|
var threw;
|
||
|
try {
|
||
|
atob();
|
||
|
}
|
||
|
catch(e) {
|
||
|
threw = true;
|
||
|
}
|
||
|
|
||
|
if (!threw) {
|
||
|
throw "atob didn't throw when called without an argument!";
|
||
|
}
|
||
|
threw = false;
|
||
|
|
||
|
try {
|
||
|
btoa();
|
||
|
}
|
||
|
catch(e) {
|
||
|
threw = true;
|
||
|
}
|
||
|
|
||
|
if (!threw) {
|
||
|
throw "btoa didn't throw when called without an argument!";
|
||
|
}
|
||
|
|
||
|
postMessage({ type: "done" });
|
||
|
}
|