diff --git a/js/common/test-data/modules/coffee-test.coffee b/js/common/test-data/modules/coffee-test.coffee new file mode 100644 index 0000000000..9cce0c0f7b --- /dev/null +++ b/js/common/test-data/modules/coffee-test.coffee @@ -0,0 +1,5 @@ +# a CoffeeScript test file + +exports.coffeeSquare = (x) -> x * x + +exports.coffeeValue = "test" diff --git a/js/common/test-data/modules/test-data.json b/js/common/test-data/modules/test-data.json new file mode 100644 index 0000000000..7b26805064 --- /dev/null +++ b/js/common/test-data/modules/test-data.json @@ -0,0 +1,10 @@ +{ + "tags" : [ "foo", "bar", "baz" ], + "author" : { + "first" : "foo", + "last" : "bar" + }, + "number" : 42, + "sensible" : false, + "nullValue" : null +} diff --git a/js/common/tests/shell-require.js b/js/common/tests/shell-require.js index 14171771af..048f2c8223 100644 --- a/js/common/tests/shell-require.js +++ b/js/common/tests/shell-require.js @@ -63,6 +63,49 @@ function RequireTestSuite () { module.root.unloadAll(); }, +//////////////////////////////////////////////////////////////////////////////// +/// @brief test requiring JSON +//////////////////////////////////////////////////////////////////////////////// + + testRequireJson : function () { + var test = createTestPackage(); + var data = test.require("test-data"); + + assertTrue(data.hasOwnProperty("tags")); + assertEqual([ "foo", "bar", "baz" ], data.tags); + + assertTrue(data.hasOwnProperty("author")); + assertEqual({ "first" : "foo", "last" : "bar" }, data.author); + + assertTrue(data.hasOwnProperty("number")); + assertEqual(42, data.number); + + assertTrue(data.hasOwnProperty("sensible")); + assertFalse(data.sensible); + + assertTrue(data.hasOwnProperty("nullValue")); + assertNull(data.nullValue); + + assertFalse(data.hasOwnProperty("schabernack")); + }, + +//////////////////////////////////////////////////////////////////////////////// +/// @brief test coffee script execution +//////////////////////////////////////////////////////////////////////////////// + + testRequireCoffeeScript : function () { + var test = createTestPackage(); + var script = test.require("coffee-test"); + + assertTrue(script.hasOwnProperty("coffeeSquare")); + assertEqual("function", typeof script.coffeeSquare); + assertEqual(49, script.coffeeSquare(7)); + + assertTrue(script.hasOwnProperty("coffeeValue")); + assertEqual("string", typeof script.coffeeValue); + assertEqual("test", script.coffeeValue); + }, + //////////////////////////////////////////////////////////////////////////////// /// @brief test package loading ////////////////////////////////////////////////////////////////////////////////