aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Talmage2013-08-21 19:17:07 -0400
committerIgor Minar2013-08-24 12:49:57 -0700
commite848099d1bc0aacc6e940b1c14bf63eac97a66fb (patch)
tree6420e16b3db1197092371a7b72cb20cf577b7925
parent5d9f42050a11015adbd5dc4dde73818919e93a99 (diff)
downloadangular.js-e848099d1bc0aacc6e940b1c14bf63eac97a66fb.tar.bz2
chore(tests): add Promises/A+ Test Suite to the build
Closes #3693
-rw-r--r--.gitignore1
-rw-r--r--Gruntfile.js26
-rw-r--r--lib/promises-aplus/promises-aplus-test-adapter.js15
-rw-r--r--package.json4
4 files changed, 42 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index c43b7e8c..0426bb18 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,3 +15,4 @@ angular.xcodeproj
.agignore
libpeerconnection.log
npm-debug.log
+/tmp/
diff --git a/Gruntfile.js b/Gruntfile.js
index 625ab7a3..8fbf84b0 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -11,6 +11,7 @@ module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-ddescribe-iit');
grunt.loadNpmTasks('grunt-merge-conflict');
grunt.loadNpmTasks('grunt-parallel');
+ grunt.loadNpmTasks('grunt-shell');
grunt.loadTasks('lib/grunt');
var NG_VERSION = util.getVersion();
@@ -28,7 +29,7 @@ module.exports = function(grunt) {
parallel: {
travis: {
tasks: [
- util.parallelTask(['test:unit', 'test:docgen', 'tests:docs'], {stream: true}),
+ util.parallelTask(['test:unit', 'test:docgen', 'test:promises-aplus', 'tests:docs'], {stream: true}),
util.parallelTask(['test:e2e'])
]
}
@@ -97,7 +98,10 @@ module.exports = function(grunt) {
},
- clean: {build: ['build']},
+ clean: {
+ build: ['build'],
+ tmp: ['tmp']
+ },
build: {
@@ -164,6 +168,10 @@ module.exports = function(grunt) {
cookies: {
dest: 'build/angular-cookies.js',
src: util.wrap(['src/ngCookies/cookies.js'], 'module')
+ },
+ "promises-aplus-adapter": {
+ dest:'tmp/promises-aplus-adapter++.js',
+ src:['src/ng/q.js','lib/promises-aplus/promises-aplus-test-adapter.js']
}
},
@@ -220,6 +228,17 @@ module.exports = function(grunt) {
}
},
+ shell:{
+ "promises-aplus-tests":{
+ options:{
+ //stdout:true,
+ stderr:true,
+ failOnError:true
+ },
+ command:'./node_modules/.bin/promises-aplus-tests tmp/promises-aplus-adapter++.js'
+ }
+ },
+
write: {
versionTXT: {file: 'build/version.txt', val: NG_VERSION.full},
@@ -229,7 +248,7 @@ module.exports = function(grunt) {
//alias tasks
- grunt.registerTask('test', 'Run unit, docs and e2e tests with Karma', ['package','test:unit', 'tests:docs', 'test:e2e']);
+ grunt.registerTask('test', 'Run unit, docs and e2e tests with Karma', ['package','test:unit','test:promises-aplus', 'tests:docs', 'test:e2e']);
grunt.registerTask('test:jqlite', 'Run the unit tests with Karma' , ['tests:jqlite']);
grunt.registerTask('test:jquery', 'Run the jQuery unit tests with Karma', ['tests:jquery']);
grunt.registerTask('test:modules', 'Run the Karma module tests with Karma', ['tests:modules']);
@@ -237,6 +256,7 @@ module.exports = function(grunt) {
grunt.registerTask('test:unit', 'Run unit, jQuery and Karma module tests with Karma', ['tests:jqlite', 'tests:jquery', 'tests:modules']);
grunt.registerTask('test:e2e', 'Run the end to end tests with Karma and keep a test server running in the background', ['connect:testserver', 'tests:end2end']);
grunt.registerTask('test:docgen', ['jasmine-node']);
+ grunt.registerTask('test:promises-aplus',['build:promises-aplus-adapter','shell:promises-aplus-tests']);
grunt.registerTask('minify', ['bower','clean', 'build', 'minall']);
grunt.registerTask('webserver', ['connect:devserver']);
diff --git a/lib/promises-aplus/promises-aplus-test-adapter.js b/lib/promises-aplus/promises-aplus-test-adapter.js
new file mode 100644
index 00000000..32134161
--- /dev/null
+++ b/lib/promises-aplus/promises-aplus-test-adapter.js
@@ -0,0 +1,15 @@
+var isFunction = function isFunction(value){return typeof value == 'function';}
+
+var $q = qFactory(process.nextTick, function noopExceptionHandler() {});
+
+exports.fulfilled = $q.resolve;
+exports.rejected = $q.reject;
+exports.pending = function () {
+ var deferred = $q.defer();
+
+ return {
+ promise: deferred.promise,
+ fulfill: deferred.resolve,
+ reject: deferred.reject
+ };
+};
diff --git a/package.json b/package.json
index 1d43cb99..001a942f 100644
--- a/package.json
+++ b/package.json
@@ -33,7 +33,9 @@
"grunt-contrib-jasmine-node": "~0.1.1",
"grunt-parallel": "git://github.com/vojtajina/grunt-parallel.git#streaming-per-task",
"grunt-ddescribe-iit": "~0.0.1",
- "grunt-merge-conflict": "~0.0.1"
+ "grunt-merge-conflict": "~0.0.1",
+ "promises-aplus-tests": "~1.3.2",
+ "grunt-shell": "~0.3.1"
},
"licenses": [
{