forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			919 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			919 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" });
 | |
| }
 | 
