1
2 var vows = require('vows'),
3 assert = require('assert');
4
5 global.XMLHttpRequest = function () {}
6 var sinon = require('sinon');
7 var xhr = require("sinon/lib/sinon/util/fake_xml_http_request");
8 var fakeServer = require("sinon/lib/sinon/util/fake_server").fakeServer;
9
10 var requirejs = require('js/r.js');
11 requirejs.config({
12 nodeRequire: require,
13 baseUrl: 'js',
14 });
$ node spec/storydesk_spec.js
node.js:203
throw e; // process.nextTick error, or 'error' event on first tick
^
ReferenceError: sinon is not defined
at Object.<anonymous> (/usr/local/lib/node_modules/sinon/lib/sinon/util/fake_xml_http_request.js:20:1)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
at Module.require (module.js:357:17)
at require (module.js:368:17)
at Object.<anonymous> (/var/www/<my_app>/spec/storydesk_spec.js:7:11)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
****> If my code, line 6, reads "sinon = require('sinon');", I get a bit further...
$ node spec/storydesk_spec.js
ReferenceError: window is not defined
at /usr/local/lib/node_modules/sinon/lib/sinon/util/fake_server.js:47:16
at Object.<anonymous> (/usr/local/lib/node_modules/sinon/lib/sinon/util/fake_server.js:189:1)
at Module._compile (module.js:432:26)
...
at Object.<anonymous> (/var/www/storydesk/editor/templates/spec/storydesk_spec.js:8:18)
at Module._compile (module.js:432:26)
****> based on the last error, if I instantiate a 'window = {}', I get a bit further, but it still fails with...
$ node spec/storydesk_spec.js
TypeError: Cannot read property 'protocol' of undefined
at /usr/local/lib/node_modules/sinon/lib/sinon/util/fake_server.js:48:41
at Object.<anonymous> (/usr/local/lib/node_modules/sinon/lib/sinon/util/fake_server.js:189:1)
...
at Object.<anonymous> (/var/www/storydesk/editor/templates/spec/storydesk_spec.js:10:18)
at Module._compile (module.js:432:26)
... It looks like fake_server is expecting a 'window' and 'window.location'. Is there something else that should be included? Am I on the right track here?
Thanks
Tim