diff --git a/node-tests/runner.js b/node-tests/runner.js new file mode 100644 index 0000000..0c718a6 --- /dev/null +++ b/node-tests/runner.js @@ -0,0 +1,17 @@ +var path = require('path'); + +var testrunner = require('qunit'); +var walkSync = require('walk-sync'); + +var units = path.join(__dirname, 'unit'); +walkSync(units, { globs: ['**/*-test.js'] }).forEach(function(file) { + var code = path.join(__dirname, '..', file.replace(/-test\.js$/, '.js')); + var test = path.join(__dirname, 'unit', file); + + testrunner.run({ + code: code, + tests: test + }, function(error/*, report */) { + if (error) { throw error; } + }); +}); diff --git a/node-tests/unit/lib/resolver-test.js b/node-tests/unit/lib/resolver-test.js new file mode 100644 index 0000000..0e4bd74 --- /dev/null +++ b/node-tests/unit/lib/resolver-test.js @@ -0,0 +1,33 @@ +var Resolver = require('../../../lib/resolver'); + +QUnit.module('resolver.baseComponentFor'); + +test('does not resolve for a base component', function () { + var resolver = new Resolver({ + moduleNamespace: 'modules', + stylesNamespace: 'styles', + componentsNamespace: 'components', + templatesNamespace: 'templates' + }); + + var contexts = { + 'ui-base-theme': { + name: 'ui-base-theme', + scss: [ + 'modules/ui-base-theme/styles/components/ui-button--base.scss' + ], + js: [ + 'modules/ui-base-theme/components/ui-kind.js' + ], + hbs: [ + 'modules/ui-base-theme/templates/components/ui-kind.hbs' + ] + } + }; + + var scssFile = 'modules/ui-base-theme/styles/components/ui-button--base.scss'; + + var context = contexts['ui-base-theme']; + + equal(resolver.baseComponentFor(scssFile, context, contexts), false, 'resolved to something other than false'); +}); diff --git a/package.json b/package.json index fa1fa64..a72b300 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,9 @@ "scripts": { "build": "ember build", "start": "ember server", - "test": "ember try:each" + "test": "npm run node-tests && npm run ember-tests", + "node-tests": "node node-tests/runner.js", + "ember-tests": "ember try:each" }, "repository": "", "engines": { @@ -45,7 +47,8 @@ "ember-load-initializers": "^0.5.1", "ember-resolver": "^2.0.3", "flexi": "1.1.7", - "loader.js": "^4.0.1" + "loader.js": "^4.0.1", + "qunit": "^0.9.1" }, "keywords": [ "ember-addon"