54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | #!/usr/bin/env node | ||
|  | /* | ||
|  |  * Keycode Map Generator JavaScript Tests | ||
|  |  * | ||
|  |  * Copyright 2017 Pierre Ossman for Cendio AB | ||
|  |  * | ||
|  |  * This file is dual license under the terms of the GPLv2 or later | ||
|  |  * and 3-clause BSD licenses. | ||
|  |  */ | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | 
 | ||
|  | var assert = require('assert'); | ||
|  | var babel = require('babel-core'); | ||
|  | var fs = require('fs'); | ||
|  | 
 | ||
|  | function include(fn) { | ||
|  |   var options = { | ||
|  |     plugins: ["transform-es2015-modules-commonjs"] | ||
|  |   }; | ||
|  | 
 | ||
|  |   var code = babel.transformFileSync(fn, options).code; | ||
|  |   fs.writeFileSync("." + fn + "_nodejs.js", code); | ||
|  |   var imp = require("./." + fn + "_nodejs.js"); | ||
|  |   fs.unlinkSync("./." + fn + "_nodejs.js"); | ||
|  | 
 | ||
|  |   return imp | ||
|  | } | ||
|  | 
 | ||
|  | var code_map_osx_to_win32 = include("osx2win32.js").default; | ||
|  | var name_map_osx_to_win32 = include("osx2win32_name.js").default; | ||
|  | 
 | ||
|  | var code_map_osx_to_xkb = include("osx2xkb.js").default; | ||
|  | var name_map_osx_to_xkb = include("osx2xkb_name.js").default; | ||
|  | 
 | ||
|  | var code_map_html_to_win32 = include("html2win32.js").default; | ||
|  | var name_map_html_to_win32 = include("html2win32_name.js").default; | ||
|  | 
 | ||
|  | var code_table_osx = include("osx.js").default; | ||
|  | var name_table_osx = include("osx_name.js").default; | ||
|  | 
 | ||
|  | assert.equal(code_map_osx_to_win32[0x1d], 0x30); | ||
|  | assert.equal(name_map_osx_to_win32[0x1d], "VK_0"); | ||
|  | 
 | ||
|  | assert.equal(code_map_osx_to_xkb[0x1d], "AE10"); | ||
|  | assert.equal(name_map_osx_to_xkb[0x1d], "AE10"); | ||
|  | 
 | ||
|  | assert.equal(code_map_html_to_win32["ControlLeft"], 0x11); | ||
|  | assert.equal(name_map_html_to_win32["ControlLeft"], "VK_CONTROL"); | ||
|  | 
 | ||
|  | assert.equal(code_table_osx[0x1d], 0x3b); | ||
|  | assert.equal(name_table_osx[0x1d], "Control"); | ||
|  | 
 |