forked from mirrors/gecko-dev
		
	 0a8ff0ad85
			
		
	
	
		0a8ff0ad85
		
	
	
	
	
		
			
			# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D35951 --HG-- extra : source : 62f3501af4bc1c0bd1ee1977a28aee04706a6663
		
			
				
	
	
		
			49 lines
		
	
	
	
		
			1,003 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			1,003 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* This Source Code Form is subject to the terms of the Mozilla Public
 | |
|  * License, v. 2.0. If a copy of the MPL was not distributed with this
 | |
|  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | |
| 
 | |
| /* eslint-env worker */
 | |
| 
 | |
| // This file expects utils.js to be included in its scope
 | |
| /* import-globals-from ./util.js */
 | |
| importScripts("util.js");
 | |
| importScripts("test-vectors.js");
 | |
| 
 | |
| var window = this;
 | |
| 
 | |
| function finish(result) {
 | |
|   postMessage(result);
 | |
| }
 | |
| 
 | |
| function complete(test, valid) {
 | |
|   return function(x) {
 | |
|     if (valid) {
 | |
|       finish(valid(x));
 | |
|     } else {
 | |
|       finish(true);
 | |
|     }
 | |
|   };
 | |
| }
 | |
| 
 | |
| function memcmp_complete(test, value) {
 | |
|   return function(x) {
 | |
|     finish(util.memcmp(x, value));
 | |
|   };
 | |
| }
 | |
| 
 | |
| function error(test) {
 | |
|   return function(x) {
 | |
|     throw x;
 | |
|   };
 | |
| }
 | |
| 
 | |
| onmessage = function(msg) {
 | |
|   // eslint-disable-next-line no-eval
 | |
|   var test = eval("(" + msg.data + ")");
 | |
| 
 | |
|   try {
 | |
|     test.call({ complete: finish });
 | |
|   } catch (err) {
 | |
|     error(`Failed to run worker test: ${err}\n`);
 | |
|   }
 | |
| };
 |