54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
#!/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");
 | 
						|
 |