-
-
Save roycehaynes/26376f8aa213e6de654a to your computer and use it in GitHub Desktop.
config.js (aka main.js)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require.config({ | |
deps: [ | |
'main', | |
'util/jquery.cookie', | |
'util/sprintf', | |
'util/uri', | |
'util/hashids', | |
'util/sha1' | |
], | |
paths: { | |
// application javascript. | |
libs: '../assets/js', | |
// Libraries | |
util: '../vendor/js/utilities', | |
plugins: '../vendor/js/plugins', | |
jquery:'../vendor/js/jquery-1.9.1.min', | |
underscore: '../vendor/js/underscore-1.4.4.min', | |
//backbone: '../vendor/js/backbone-0.9.9.min', | |
backbone: '../vendor/js/backbone', | |
stackmob: '../vendor/js/stackmob-0.7.0', | |
stripe: '../vendor/js/stripe/v1/stripe', | |
qunit: 'tests/qunit/1.11.0/qunit', | |
//jasmine:'tests/jasmine/1.3.1/jasmine', | |
//'jasmine-html':'tests/jasmine/1.3.1/jasmine-html', | |
text: '../vendor/js/text' | |
}, | |
shim: { | |
underscore: { | |
exports: '_' | |
}, | |
backbone: { | |
deps: ['underscore'], | |
exports: 'Backbone' | |
}, | |
stackmob: { | |
deps: ['backbone'], | |
exports: 'StackMob' | |
}, | |
'util/hashids': [], | |
'util/uri': [], | |
'util/sprintf': [], | |
'util/sha1': [], | |
'util/jquery.cookie': [], | |
'plugins/backbone.safe' : ['backbone'], | |
'plugins/backbone.layoutmanager': ['backbone'], | |
'plugins/backbone.modal' : ['backbone'], | |
'plugins/backbone.validation.amd' : ['backbone'], | |
qunit: { | |
exports: 'QUnit' | |
} | |
} | |
}); | |
define( ["stackmob", "stripe", "qunit"], | |
function(StackMob, Stripe, QUnit) { | |
// Initialize StackMob API | |
StackMob.init({ | |
appName: "mycreate", | |
clientSubdomain: "", | |
publicKey: "", | |
apiVersion: 0, | |
userSchema: "user", | |
apiURL: "https://api.stackmob.com/" | |
}); | |
//TODO: swap out for production key | |
Stripe.setPublishableKey(''); | |
QUnit.config.autostart = false; | |
QUnit.start(); //Tests loaded, run tests | |
} | |
); |
Looking into it some more, loading QUnit through require seems to cause problems with the runner. I would load it as a separate script tag in the html.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Are you getting the error 'Uncaught TypeError: Cannot call method 'config' of undefined'?
If so, that's because of the QUnit argument that's being returned from the define statement, which is undefined. QUnit itself isn't an AMD module and therefore doesn't return anything to the define callback. The shim is providing QUnit as a global variable, however the define statement is returning a local scoped var, QUnit, as undefined. When you try to access QUnit.config.autostart, it's trying to access the local undefined var instead of the global var.
If you changed QUnit inside of the define callback function to window.QUnit, it should work. A proper solution would be to add QUnit into the stackmob deps array and remove QUnit from the define statement dependency list and the function arguments. That will keep the define statement from creating a local var of QUnit, allowing you to access the global QUnit without having to use window.QUnit.
I came up with this solution by doing a quick mock up of my own that mimics how you're loading QUnit in hopes to recreate the problem. If this doesn't solve it, I would need more info regarding the errors you're getting.