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");
|
||
|
|