diff options
Diffstat (limited to 'thirdparty/systemjs/test/test-jsextensions.html')
-rw-r--r-- | thirdparty/systemjs/test/test-jsextensions.html | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/thirdparty/systemjs/test/test-jsextensions.html b/thirdparty/systemjs/test/test-jsextensions.html new file mode 100644 index 000000000..bb64a8f73 --- /dev/null +++ b/thirdparty/systemjs/test/test-jsextensions.html @@ -0,0 +1,112 @@ +<!doctype html> +<html> + <head> + <link rel="stylesheet" type="text/css" href="../bower_components/qunit/qunit/qunit.css"/> + <script src="../bower_components/qunit/qunit/qunit.js"></script> + </head> + <body> + + <h1 id="qunit-header">SystemJS Test Suite</h1> + + <h2 id="qunit-banner"></h2> + <div id="qunit-testrunner-toolbar"></div> + <h2 id="qunit-userAgent"></h2> + <ol id="qunit-tests"></ol> + <div id="qunit-test-area"></div> + + <script> + // test polyfill loading + // window.URL = undefined; + </script> + + <script src="../dist/system.src.js" type="text/javascript"></script> + <script> + System.traceurOptions = { asyncFunctions: true }; + System.paths.traceur = '../node_modules/traceur/bin/traceur.js'; + + QUnit.config.testTimeout = 2000; + + QUnit.module("SystemJS JS Extensions"); + + System.config({ + defaultJSExtensions: true + }); + + asyncTest('Error handling', function() { + System['import']('tests/main').then(function(m) { + ok(m.dep == 'value'); + start(); + }); + }); + + asyncTest('Pathing extension handling', function() { + System.config({ + paths: { + 'path': 'tests/main' + }, + packages: { + 'tests/testpkg': { + basePath: 'lib', + defaultExtension: 'ts', + map: { + './asdf': './test.ts' + } + }, + 'tests/subcontextual-map': { + main: 'submodule', + map: { + dep: 'path' + } + } + } + }); + + Promise.all([ + System['import']('path'), + System['import']('tests/testpkg/asdf'), + System['import']('tests/subcontextual-map'), + System['import']('tests/main-dep'), + System['import']('tests/main-dep.js') + ]) + .then(function(mods) { + ok(mods[0].dep == 'value'); + ok(mods[1] == 'ts'); + ok(mods[2].dep == 'value'); + ok(mods[3] == mods[2]); + ok(mods[3] == mods[4]); + start(); + }) + }); + + System.config({ + packages: { + 'custom': { + defaultExtension: 'ext' + } + } + }); + asyncTest('Register extensions', function(err) { + System['import']('tests/register-default-extension.js').then(function() { + System['import']('custom/file.ext').then(function(m) { + ok(m.custom == 'ext'); + start(); + }, err); + }, err); + }); + + System.config({ + packages: { + 'tests/no-default-ext': { + defaultExtension: false + } + } + }); + asyncTest('No default extension', function(err) { + System['import']('tests/no-default-ext/file.ext').then(function(m) { + ok(m.ext == 'ext'); + start(); + }, err); + }); + </script> + </body> +</html>
\ No newline at end of file |