зеркало из https://github.com/mozilla/gecko-dev.git
56 строки
929 B
JavaScript
56 строки
929 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" });
|
|
};
|