@samitouri / QOS-React-2 / commits / f8af93237a
Fork 0

The library for web and native user interfaces.

Use bin/jsx and browserify to build a jasmine bundle.

Ben Newman committed May 28, 2013 at 16:10 UTC f8af93237adaa7c02df9edcbfccd07e6fdaaa0ed
18 files changed +92 -36
Gruntfile.js
+2
@@ -53,7 +53,9 @@ module.exports = function(grunt) {
53 grunt.registerTask('build:min', ['jsx:release', 'browserify:min']);
54 grunt.registerTask('build:test', [
55 'jsx:debug',
56 + 'jsx:jasmine',
57 'jsx:test',
58 + 'browserify:jasmine',
59 'browserify:test'
60 ]);
61
grunt/config/browserify.js
+12
@@ -76,6 +76,17 @@ var transformer = {
76 after: [simpleBannerify]
77 };
78
79 +var jasmine = {
80 + entries: [
81 + "./build/jasmine/all.js"
82 + ],
83 + requires: {
84 + "jasmine": "./build/jasmine/all.js"
85 + },
86 + outfile: "./build/jasmine.js",
87 + debug: false
88 +};
89 +
90 var test = {
91 entries: [
92 "./build/modules/test/all.js",
@@ -88,6 +99,7 @@ var test = {
99
100 module.exports = {
101 basic: basic,
102 + jasmine: jasmine,
103 test: test,
104 min: min,
105 transformer: transformer
grunt/config/jsx/jsx.js
+10
@@ -11,6 +11,15 @@ var debug = {
11 outputDir: "build/modules"
12 };
13
14 +var jasmine = {
15 + rootIDs: [
16 + "all"
17 + ],
18 + configFile: debug.configFile,
19 + sourceDir: "vendor/jasmine",
20 + outputDir: "build/jasmine"
21 +};
22 +
23 var test = {
24 rootIDs: rootIDs.concat([
25 "test/all.js",
@@ -30,6 +39,7 @@ var release = {
39
40 module.exports = {
41 debug: debug,
42 + jasmine: jasmine,
43 test: test,
44 release: release
45 };
src/test/all.js
-9
@@ -2,17 +2,8 @@
2 // modules in src/test and to specify an ordering on those modules, since
3 // some still have implicit dependencies on others.
4
5 -require("./phantom");
6 -require("./console");
5 require("ReactTestUtils");
6 require("reactComponentExpect");
9 -require("./diff");
10 -require("./PrintReporter");
11 -require("./HtmlReporter");
12 -require("./ReporterView");
13 -require("./SpecView");
14 -require("./SuiteView");
15 -require("./jasmine-support");
7 require("mocks");
8 require("mock-modules");
9 require("./mock-timers");
test/index.html
+1 -2
@@ -3,11 +3,10 @@
3 <head>
4 <link rel="stylesheet" type="text/css" href="jasmine.css" />
5 <script src="jasmine.js"></script>
6 - <script src="jasmine-html.js"></script>
6 <script src="react-test.js"></script>
7 <script>
8 window.onload = function() {
10 - jasmine.getEnv().execute();
9 + require("jasmine").getEnv().execute();
10 };
11 </script>
12 </head>
test/phantom-harness.js
+4 -2
@@ -45,10 +45,12 @@ server.listen(port, function(req, res) {
45 break;
46
47 case "jasmine.css":
48 - case "jasmine.js":
49 - case "jasmine-html.js":
48 file = "../vendor/jasmine/" + file;
49 break;
50 +
51 + case "jasmine.js":
52 + file = "../build/" + file;
53 + break;
54 }
55
56 if (/\.css$/i.test(file)) {
vendor/jasmine/HtmlReporter.js renamed
+2
@@ -1,3 +1,5 @@
1 +var jasmine = require("./jasmine");
2 +
3 exports.HtmlReporter =
4 jasmine.HtmlReporter = function(_doc) {
5 var self = this;
vendor/jasmine/PrintReporter.js renamed
+2 -1
@@ -1,3 +1,4 @@
1 +var jasmine = require("./jasmine");
2 var diff = require('./diff');
3
4 var red = '\u001b[1;41m';
@@ -54,7 +55,7 @@ PrintReporter.prototype.reportRunnerResults = function(runner) {
55 this.failCount + " fail"
56 ].join(" "));
57
57 - require("test/phantom").exit(this.failCount);
58 + require("./phantom").exit(this.failCount);
59 };
60
61
vendor/jasmine/ReporterView.js renamed
+2
@@ -1,3 +1,5 @@
1 +var jasmine = require("jasmine");
2 +
3 jasmine.HtmlReporter.ReporterView = function(dom) {
4 this.startedAt = new Date();
5 this.runningSpecCount = 0;
vendor/jasmine/SpecView.js renamed
+2
@@ -1,3 +1,5 @@
1 +var jasmine = require("./jasmine");
2 +
3 jasmine.HtmlReporter.SpecView = function(spec, dom, views) {
4 this.spec = spec;
5 this.dom = dom;
vendor/jasmine/SuiteView.js renamed
+2
@@ -1,3 +1,5 @@
1 +var jasmine = require("./jasmine");
2 +
3 jasmine.HtmlReporter.SuiteView = function(suite, dom, views) {
4 this.suite = suite;
5 this.dom = dom;
vendor/jasmine/all.js new
+38
@@ -0,0 +1,38 @@
1 +require("./phantom");
2 +require("./console");
3 +
4 +// TODO Also bundle jasmine.css here.
5 +var jasmine = require("./jasmine");
6 +require("./jasmine-html");
7 +require("./jasmine-support");
8 +
9 +require("./HtmlReporter");
10 +require("./PrintReporter");
11 +require("./ReporterView");
12 +require("./SpecView");
13 +require("./SuiteView");
14 +
15 +var env = jasmine.getEnv();
16 +env.addReporter(new jasmine.HtmlReporter);
17 +env.addReporter(new jasmine.PrintReporter);
18 +
19 +function exposeFrom(obj) {
20 + obj.spyOn = jasmine.spyOn;
21 + obj.it = jasmine.it;
22 + obj.xit = jasmine.xit;
23 + obj.expect = jasmine.expect;
24 + obj.runs = jasmine.runs;
25 + obj.waits = jasmine.waits;
26 + obj.waitsFor = jasmine.waitsFor;
27 + obj.beforeEach = jasmine.beforeEach;
28 + obj.afterEach = jasmine.afterEach;
29 + obj.describe = jasmine.describe;
30 + obj.xdescribe = jasmine.xdescribe;
31 + obj.jasmine = jasmine;
32 + return obj;
33 +}
34 +jasmine.exposeFrom = exposeFrom;
35 +var global = Function("return this")();
36 +exposeFrom(global);
37 +
38 +module.exports = jasmine;
vendor/jasmine/console.js renamed
vendor/jasmine/diff.js renamed
vendor/jasmine/jasmine-html.js
+2
@@ -1,3 +1,5 @@
1 +var jasmine = require("./jasmine");
2 +
3 jasmine.HtmlReporterHelpers = {};
4
5 jasmine.HtmlReporterHelpers.createDom = function(type, attrs, childrenVarArgs) {
vendor/jasmine/jasmine-support.js renamed
+1 -8
@@ -1,5 +1,4 @@
1 -var global = Function("return this")();
2 -var jasmine = global.jasmine;
1 +var jasmine = require("./jasmine");
2 var spec = false; // TODO
3
4 // Add some matcher for mock functions
@@ -126,9 +125,3 @@ if (typeof WeakMap !== "undefined") {
125 return (mismatchKeys.length == 0 && mismatchValues.length == 0);
126 };
127 }
129 -
130 -var HtmlReporter = require("./HtmlReporter").HtmlReporter;
131 -var PrintReporter = require("./PrintReporter").PrintReporter;
132 -
133 -jasmine.getEnv().addReporter(new HtmlReporter);
134 -jasmine.getEnv().addReporter(new PrintReporter);
vendor/jasmine/jasmine.js
+12 -14
@@ -1,12 +1,10 @@
1 -var isCommonJS = typeof window == "undefined" && typeof exports == "object";
2 -
1 /**
2 * Top level namespace for Jasmine, a lightweight JavaScript BDD/spec/testing framework.
3 *
4 * @namespace
5 */
6 var jasmine = {};
9 -if (isCommonJS) exports.jasmine = jasmine;
7 +exports = module.exports = jasmine;
8 /**
9 * @private
10 */
@@ -480,7 +478,7 @@ jasmine.log = function() {
478 var spyOn = function(obj, methodName) {
479 return jasmine.getEnv().currentSpec.spyOn(obj, methodName);
480 };
483 -if (isCommonJS) exports.spyOn = spyOn;
481 +exports.spyOn = spyOn;
482
483 /**
484 * Creates a Jasmine spec that will be added to the current suite.
@@ -498,7 +496,7 @@ if (isCommonJS) exports.spyOn = spyOn;
496 var it = function(desc, func) {
497 return jasmine.getEnv().it(desc, func);
498 };
501 -if (isCommonJS) exports.it = it;
499 +exports.it = it;
500
501 /**
502 * Creates a <em>disabled</em> Jasmine spec.
@@ -511,7 +509,7 @@ if (isCommonJS) exports.it = it;
509 var xit = function(desc, func) {
510 return jasmine.getEnv().xit(desc, func);
511 };
514 -if (isCommonJS) exports.xit = xit;
512 +exports.xit = xit;
513
514 /**
515 * Starts a chain for a Jasmine expectation.
@@ -525,7 +523,7 @@ if (isCommonJS) exports.xit = xit;
523 var expect = function(actual) {
524 return jasmine.getEnv().currentSpec.expect(actual);
525 };
528 -if (isCommonJS) exports.expect = expect;
526 +exports.expect = expect;
527
528 /**
529 * Defines part of a jasmine spec. Used in cominbination with waits or waitsFor in asynchrnous specs.
@@ -535,7 +533,7 @@ if (isCommonJS) exports.expect = expect;
533 var runs = function(func) {
534 jasmine.getEnv().currentSpec.runs(func);
535 };
538 -if (isCommonJS) exports.runs = runs;
536 +exports.runs = runs;
537
538 /**
539 * Waits a fixed time period before moving to the next block.
@@ -546,7 +544,7 @@ if (isCommonJS) exports.runs = runs;
544 var waits = function(timeout) {
545 jasmine.getEnv().currentSpec.waits(timeout);
546 };
549 -if (isCommonJS) exports.waits = waits;
547 +exports.waits = waits;
548
549 /**
550 * Waits for the latchFunction to return true before proceeding to the next block.
@@ -558,7 +556,7 @@ if (isCommonJS) exports.waits = waits;
556 var waitsFor = function(latchFunction, optional_timeoutMessage, optional_timeout) {
557 jasmine.getEnv().currentSpec.waitsFor.apply(jasmine.getEnv().currentSpec, arguments);
558 };
561 -if (isCommonJS) exports.waitsFor = waitsFor;
559 +exports.waitsFor = waitsFor;
560
561 /**
562 * A function that is called before each spec in a suite.
@@ -570,7 +568,7 @@ if (isCommonJS) exports.waitsFor = waitsFor;
568 var beforeEach = function(beforeEachFunction) {
569 jasmine.getEnv().beforeEach(beforeEachFunction);
570 };
573 -if (isCommonJS) exports.beforeEach = beforeEach;
571 +exports.beforeEach = beforeEach;
572
573 /**
574 * A function that is called after each spec in a suite.
@@ -582,7 +580,7 @@ if (isCommonJS) exports.beforeEach = beforeEach;
580 var afterEach = function(afterEachFunction) {
581 jasmine.getEnv().afterEach(afterEachFunction);
582 };
585 -if (isCommonJS) exports.afterEach = afterEach;
583 +exports.afterEach = afterEach;
584
585 /**
586 * Defines a suite of specifications.
@@ -602,7 +600,7 @@ if (isCommonJS) exports.afterEach = afterEach;
600 var describe = function(description, specDefinitions) {
601 return jasmine.getEnv().describe(description, specDefinitions);
602 };
605 -if (isCommonJS) exports.describe = describe;
603 +exports.describe = describe;
604
605 /**
606 * Disables a suite of specifications. Used to disable some suites in a file, or files, temporarily during development.
@@ -613,7 +611,7 @@ if (isCommonJS) exports.describe = describe;
611 var xdescribe = function(description, specDefinitions) {
612 return jasmine.getEnv().xdescribe(description, specDefinitions);
613 };
616 -if (isCommonJS) exports.xdescribe = xdescribe;
614 +exports.xdescribe = xdescribe;
615
616
617 // Provide the XMLHttpRequest class for IE 5.x-6.x:
vendor/jasmine/phantom.js renamed