aboutsummaryrefslogtreecommitdiffstats
path: root/test/helper.js
diff options
context:
space:
mode:
authorJames Lal <james@lightsofapollo.com>2012-06-27 19:28:37 +0200
committerJames Lal <james@lightsofapollo.com>2012-06-27 19:28:37 +0200
commitd76e26ac16c16ca30a9c177fa292f5cdf184955e (patch)
treefbc9e6df292440b689d1990911edd802e618df43 /test/helper.js
parent1c136b249274a3cad047e043693c6e643892b6a9 (diff)
downloadjsCalDAV-d76e26ac16c16ca30a9c177fa292f5cdf184955e.tar.gz
initial move to support web js
Diffstat (limited to 'test/helper.js')
-rw-r--r--test/helper.js85
1 files changed, 63 insertions, 22 deletions
diff --git a/test/helper.js b/test/helper.js
index f568bf8..12f21a6 100644
--- a/test/helper.js
+++ b/test/helper.js
@@ -1,21 +1,62 @@
(function() {
- var chai = require('chai'),
- fs = require('fs'),
- path = require('path');
- chai.Assertion.includeStack = true;
- assert = chai.assert;
+ var specialRequires = {
+ 'chai': requireChai
+ };
- loadSample = function(file, cb) {
- var root = __dirname + '/../samples/';
- fs.readFile(root + file, 'utf8', function(err, contents) {
- cb(err, contents);
- });
+ testSupport = {
+ isNode: (typeof(window) === 'undefined')
+ };
+
+ /* cross require */
+
+ testSupport.require = function cross_require(file, callback) {
+ if (file in specialRequires) {
+ return specialRequires[file](file, callback);
+ }
+
+ if (typeof(window) === 'undefined') {
+ var lib = require(__dirname + '/../' + file);
+ if (typeof(callback) !== 'undefined') {
+ callback(lib);
+ }
+ } else {
+ window.require(file, callback);
+ }
+ }
+
+ function setupChai(chai) {
+ chai.Assertion.includeStack = true;
+ assert = chai.assert;
+ }
+
+ function requireChai(file, callback) {
+ var path;
+ if (testSupport.isNode) {
+ setupChai(require('chai'));
+ } else {
+ require('/vendor/chai.js', function() {
+ setupChai(chai);
+ });
+ }
+ }
+
+ testSupport.require('chai');
+
+ testSupport.loadSample = function(file, cb) {
+ if (testSupport.isNode) {
+ var root = __dirname + '/../samples/';
+ require('fs').readFile(root + file, 'utf8', function(err, contents) {
+ cb(err, contents);
+ });
+ } else {
+ //xhr samples
+ }
};
- defineSample = function(file, cb) {
+ testSupport.defineSample = function(file, cb) {
suiteSetup(function(done) {
- loadSample(file, function(err, data) {
+ testSupport.loadSample(file, function(err, data) {
if (err) {
done(err);
}
@@ -25,12 +66,12 @@
});
};
- requireLib = function(lib) {
- return require(__dirname + '/../lib/webcals/' + lib);
+ testSupport.requireLib = function(lib, callback) {
+ testSupport.require('/lib/webcals/' + lib, callback);
};
- requireSupport = function(lib) {
- return require(__dirname + '/support/' + lib);
+ testSupport.requireSupport = function(lib) {
+ testSupport.require('/test/support/' + lib);
}
Webcals = require('../lib/webcals/webcals.js');
@@ -49,12 +90,11 @@
}
requireRequest = function(callback) {
- requireLib('xhr');
- requireLib('sax');
- requireLib('request/abstract');
- requireLib('template');
- requireSupport('fake_xhr');
-
+ testSupport.requireLib('xhr');
+ testSupport.requireLib('sax');
+ testSupport.requireLib('request/abstract');
+ testSupport.requireLib('template');
+ testSupport.requireSupport('fake_xhr');
//in the future we need a callback for browser support.
if (typeof(callback) !== 'undefined') {
@@ -64,3 +104,4 @@
}());
+