From dd52595dd93833376aaee4e9a8f91dae2b09e614 Mon Sep 17 00:00:00 2001 From: christianalfoni Date: Fri, 24 Apr 2015 09:46:33 +0200 Subject: [PATCH] added webpack and jasmine node tests --- package.json | 21 +++++---------- specs/{Element-spec.js => Element-spec.jsx} | 2 ++ specs/{Formsy-spec.js => Formsy-spec.jsx} | 2 ++ ...s-equals-spec.js => Rules-equals-spec.jsx} | 2 ++ ...sValue-spec.js => Rules-hasValue-spec.jsx} | 2 ++ ...isAlpha-spec.js => Rules-isAlpha-spec.jsx} | 2 ++ ...isEmail-spec.js => Rules-isEmail-spec.jsx} | 2 ++ ...Length-spec.js => Rules-isLength-spec.jsx} | 2 ++ ...meric-spec.js => Rules-isNumeric-spec.jsx} | 2 ++ ...isWords-spec.js => Rules-isWords-spec.jsx} | 2 ++ ...ength-spec.js => Rules-maxLength-spec.jsx} | 2 ++ ...ength-spec.js => Rules-minLength-spec.jsx} | 2 ++ ...Validation-spec.js => Validation-spec.jsx} | 2 ++ testrunner.js | 27 +++++++++++++++++++ 14 files changed, 58 insertions(+), 14 deletions(-) rename specs/{Element-spec.js => Element-spec.jsx} (99%) rename specs/{Formsy-spec.js => Formsy-spec.jsx} (99%) rename specs/{Rules-equals-spec.js => Rules-equals-spec.jsx} (95%) rename specs/{Rules-hasValue-spec.js => Rules-hasValue-spec.jsx} (94%) rename specs/{Rules-isAlpha-spec.js => Rules-isAlpha-spec.jsx} (95%) rename specs/{Rules-isEmail-spec.js => Rules-isEmail-spec.jsx} (94%) rename specs/{Rules-isLength-spec.js => Rules-isLength-spec.jsx} (96%) rename specs/{Rules-isNumeric-spec.js => Rules-isNumeric-spec.jsx} (96%) rename specs/{Rules-isWords-spec.js => Rules-isWords-spec.jsx} (96%) rename specs/{Rules-maxLength-spec.js => Rules-maxLength-spec.jsx} (96%) rename specs/{Rules-minLength-spec.js => Rules-minLength-spec.jsx} (96%) rename specs/{Validation-spec.js => Validation-spec.jsx} (98%) create mode 100644 testrunner.js diff --git a/package.json b/package.json index 8907b69..a638808 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,8 @@ }, "main": "src/main.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", + "start": "webpack-dev-server --content-base build", + "test": "node testrunner", "examples": "webpack-dev-server --config examples/webpack.config.js --content-base examples" }, "author": "Christian Alfoni", @@ -21,19 +22,11 @@ "react-component" ], "devDependencies": { - "browserify": "^6.2.0", - "glob": "^4.0.6", - "gulp": "^3.8.9", - "gulp-if": "^1.2.4", - "gulp-livereload": "^3.4.0", - "gulp-notify": "^1.4.2", - "gulp-streamify": "0.0.5", - "gulp-uglify": "^0.3.1", - "gulp-util": "^3.0.0", - "jsx-loader": "^0.12.2", - "reactify": "^1.1.0", - "vinyl-source-stream": "^0.1.1", - "watchify": "^2.1.1", + "babel-core": "^5.1.11", + "babel-loader": "^5.0.0", + "jasmine-node": "^1.14.5", + "jsdom": "^3.1.2", + "node-jsx": "^0.13.2", "webpack": "^1.7.3", "webpack-dev-server": "^1.7.0" }, diff --git a/specs/Element-spec.js b/specs/Element-spec.jsx similarity index 99% rename from specs/Element-spec.js rename to specs/Element-spec.jsx index 758e73f..8f7f1ec 100644 --- a/specs/Element-spec.js +++ b/specs/Element-spec.jsx @@ -1,3 +1,5 @@ +var React = require('react/addons'); +var TestUtils = React.addons.TestUtils; var Formsy = require('./../src/main.js'); describe('Element', function() { diff --git a/specs/Formsy-spec.js b/specs/Formsy-spec.jsx similarity index 99% rename from specs/Formsy-spec.js rename to specs/Formsy-spec.jsx index 550c7f9..95b9c6e 100755 --- a/specs/Formsy-spec.js +++ b/specs/Formsy-spec.jsx @@ -1,3 +1,5 @@ +var React = require('react/addons'); +var TestUtils = React.addons.TestUtils; var Formsy = require('./../src/main.js'); describe('Formsy', function () { diff --git a/specs/Rules-equals-spec.js b/specs/Rules-equals-spec.jsx similarity index 95% rename from specs/Rules-equals-spec.js rename to specs/Rules-equals-spec.jsx index 7e26b86..e689a84 100644 --- a/specs/Rules-equals-spec.js +++ b/specs/Rules-equals-spec.jsx @@ -1,3 +1,5 @@ +var React = require('react/addons'); +var TestUtils = React.addons.TestUtils; var Formsy = require('./../src/main.js'); describe('Rules: equals', function() { diff --git a/specs/Rules-hasValue-spec.js b/specs/Rules-hasValue-spec.jsx similarity index 94% rename from specs/Rules-hasValue-spec.js rename to specs/Rules-hasValue-spec.jsx index 2e513f2..7fde21e 100644 --- a/specs/Rules-hasValue-spec.js +++ b/specs/Rules-hasValue-spec.jsx @@ -1,3 +1,5 @@ +var React = require('react/addons'); +var TestUtils = React.addons.TestUtils; var Formsy = require('./../src/main.js'); describe('Rules: hasValue', function() { diff --git a/specs/Rules-isAlpha-spec.js b/specs/Rules-isAlpha-spec.jsx similarity index 95% rename from specs/Rules-isAlpha-spec.js rename to specs/Rules-isAlpha-spec.jsx index 3eda51c..8e0e57c 100644 --- a/specs/Rules-isAlpha-spec.js +++ b/specs/Rules-isAlpha-spec.jsx @@ -1,3 +1,5 @@ +var React = require('react/addons'); +var TestUtils = React.addons.TestUtils; var Formsy = require('./../src/main.js'); describe('Rules: isAlpha', function() { diff --git a/specs/Rules-isEmail-spec.js b/specs/Rules-isEmail-spec.jsx similarity index 94% rename from specs/Rules-isEmail-spec.js rename to specs/Rules-isEmail-spec.jsx index 0cbef82..4b94387 100644 --- a/specs/Rules-isEmail-spec.js +++ b/specs/Rules-isEmail-spec.jsx @@ -1,3 +1,5 @@ +var React = require('react/addons'); +var TestUtils = React.addons.TestUtils; var Formsy = require('./../src/main.js'); describe('Rules: isEmail', function() { diff --git a/specs/Rules-isLength-spec.js b/specs/Rules-isLength-spec.jsx similarity index 96% rename from specs/Rules-isLength-spec.js rename to specs/Rules-isLength-spec.jsx index f9bfeec..7efdb2f 100644 --- a/specs/Rules-isLength-spec.js +++ b/specs/Rules-isLength-spec.jsx @@ -1,3 +1,5 @@ +var React = require('react/addons'); +var TestUtils = React.addons.TestUtils; var Formsy = require('./../src/main.js'); describe('Rules: isLength', function() { diff --git a/specs/Rules-isNumeric-spec.js b/specs/Rules-isNumeric-spec.jsx similarity index 96% rename from specs/Rules-isNumeric-spec.js rename to specs/Rules-isNumeric-spec.jsx index 10bc05d..ed135ee 100644 --- a/specs/Rules-isNumeric-spec.js +++ b/specs/Rules-isNumeric-spec.jsx @@ -1,3 +1,5 @@ +var React = require('react/addons'); +var TestUtils = React.addons.TestUtils; var Formsy = require('./../src/main.js'); describe('Rules: isNumeric', function() { diff --git a/specs/Rules-isWords-spec.js b/specs/Rules-isWords-spec.jsx similarity index 96% rename from specs/Rules-isWords-spec.js rename to specs/Rules-isWords-spec.jsx index a227277..539d7f2 100644 --- a/specs/Rules-isWords-spec.js +++ b/specs/Rules-isWords-spec.jsx @@ -1,3 +1,5 @@ +var React = require('react/addons'); +var TestUtils = React.addons.TestUtils; var Formsy = require('./../src/main.js'); describe('Rules: isWords', function() { diff --git a/specs/Rules-maxLength-spec.js b/specs/Rules-maxLength-spec.jsx similarity index 96% rename from specs/Rules-maxLength-spec.js rename to specs/Rules-maxLength-spec.jsx index ea0afc7..df3f1c3 100644 --- a/specs/Rules-maxLength-spec.js +++ b/specs/Rules-maxLength-spec.jsx @@ -1,3 +1,5 @@ +var React = require('react/addons'); +var TestUtils = React.addons.TestUtils; var Formsy = require('./../src/main.js'); describe('Rules: maxLength', function() { diff --git a/specs/Rules-minLength-spec.js b/specs/Rules-minLength-spec.jsx similarity index 96% rename from specs/Rules-minLength-spec.js rename to specs/Rules-minLength-spec.jsx index 7d80fcc..6d5ef5f 100644 --- a/specs/Rules-minLength-spec.js +++ b/specs/Rules-minLength-spec.jsx @@ -1,3 +1,5 @@ +var React = require('react/addons'); +var TestUtils = React.addons.TestUtils; var Formsy = require('./../src/main.js'); describe('Rules: minLength', function() { diff --git a/specs/Validation-spec.js b/specs/Validation-spec.jsx similarity index 98% rename from specs/Validation-spec.js rename to specs/Validation-spec.jsx index 971d0d4..6d31bd5 100644 --- a/specs/Validation-spec.js +++ b/specs/Validation-spec.jsx @@ -1,3 +1,5 @@ +var React = require('react/addons'); +var TestUtils = React.addons.TestUtils; var Formsy = require('./../src/main.js'); describe('Validation', function() { diff --git a/testrunner.js b/testrunner.js new file mode 100644 index 0000000..5289691 --- /dev/null +++ b/testrunner.js @@ -0,0 +1,27 @@ +require('node-jsx').install({ + extension: '.jsx' +}); + +var path = require('path'); +var jsdom = require("jsdom").jsdom; +var jasmine = require('jasmine-node'); + +global.document = jsdom(); +global.window = document.defaultView; +global.navigator = global.window.navigator; + +var jasmineOptions = { + specFolders: [path.resolve(__dirname, 'specs')], + //onComplete: onComplete, + isVerbose: true, + showColors: true, + teamcity: false, + useRequireJs: false, + regExpSpec: /spec\.jsx$/, + junitreport: true, + includeStackTrace: true, + //coffee: options.coffee, + //growl: options.growl +}; + +jasmine.executeSpecsInFolder(jasmineOptions);