From 784bcf33e227fb6d92538330efc41773128780f3 Mon Sep 17 00:00:00 2001 From: Cloud Chen Date: Fri, 29 Mar 2013 11:18:32 +0800 Subject: [PATCH] Refined specs and running environment [+] Specs run on standalone server instead of file:// protocol [*] Modified being tested source file to be more frinendly for requirejs user --- Gruntfile.js | 13 +++++++++---- package.json | 7 ++++--- src/main/js/Enum.js | 8 ++++++++ src/main/js/Generator.js | 12 +++++++----- src/test/js/Generator.js | 20 ++++++++++++-------- 5 files changed, 40 insertions(+), 20 deletions(-) create mode 100644 src/main/js/Enum.js diff --git a/Gruntfile.js b/Gruntfile.js index 6dd1783..f5ca545 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -4,17 +4,21 @@ module.exports = function(grunt) { package: grunt.file.readJSON('package.json'), src: { main: 'src/main', - test: 'src/test', + test: 'src/test' }, bin: { coverage: 'bin/coverage' } }, + connect: { + default_options: {} + }, jasmine: { coverage: { - src: '<%= meta.src.main %>/js/Generator.js', + src: '<%= meta.src.main %>/js/*.js', options: { specs: '<%= meta.src.test %>/js/Generator.js', + host: 'http://127.0.0.1:8000/', template: require('grunt-template-jasmine-istanbul'), templateOptions: { coverage: '<%= meta.bin.coverage %>/coverage.json', @@ -45,6 +49,7 @@ module.exports = function(grunt) { }); grunt.loadNpmTasks('grunt-contrib-jasmine'); + grunt.loadNpmTasks('grunt-contrib-connect'); - grunt.registerTask('test:coverage', ['jasmine:coverage']); -}; \ No newline at end of file + grunt.registerTask('test:coverage', ['connect', 'jasmine:coverage']); +}; diff --git a/package.json b/package.json index 3027d14..083a60b 100644 --- a/package.json +++ b/package.json @@ -9,9 +9,10 @@ "url": "https://github.com/maenu/grunt-template-jasmine-istanbul-example.git" }, "devDependencies": { - "grunt": "~0.4.0", - "grunt-contrib-jasmine": "~0.3.1", - "grunt-template-jasmine-istanbul": "~0.2.0", + "grunt": "~0.4.1", + "grunt-contrib-jasmine": "~0.4.1", + "grunt-template-jasmine-istanbul": "git://github.com/cloudchen/grunt-template-jasmine-istanbul", + "grunt-contrib-connect": "~0.2.0", "grunt-template-jasmine-requirejs": "~0.1.0" } } diff --git a/src/main/js/Enum.js b/src/main/js/Enum.js new file mode 100644 index 0000000..3c291a9 --- /dev/null +++ b/src/main/js/Enum.js @@ -0,0 +1,8 @@ +define({ + ONE: '.', + TWO: ':', + THREE: ':.', + FOUR: '::', + FIVE: ':.:', + SIX: ':::' +}); diff --git a/src/main/js/Generator.js b/src/main/js/Generator.js index 0719f23..195d208 100644 --- a/src/main/js/Generator.js +++ b/src/main/js/Generator.js @@ -1,5 +1,7 @@ -define({ - getRandomNumber: function () { - return 4; - } -}); \ No newline at end of file +define(['Enum'], function(Enum) { + return function (){ + this.getRandomNumber = function() { + return Enum.FOUR; + }; + }; +}); diff --git a/src/test/js/Generator.js b/src/test/js/Generator.js index e5eec81..7ea5e5d 100644 --- a/src/test/js/Generator.js +++ b/src/test/js/Generator.js @@ -1,9 +1,13 @@ -var Generator = require('Generator'); +define(['Generator', 'Enum'], function(Generator, Enum) { + describe('Generator', function () { + beforeEach(function() { + this.generator = new Generator(); + }); -describe('Generator', function () { - describe('getRandomNumber', function () { - it('should be chosen by fair dice roll', function () { - expect(Generator.getRandomNumber()).toBe(4); - }); - }); -}); \ No newline at end of file + describe('getRandomNumber', function () { + it('should be chosen by fair dice roll', function () { + expect(this.generator.getRandomNumber()).toBe(Enum.FOUR); + }); + }); + }); +});