| #!/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"); |
| |