Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- > tree .
- .
- ├── node_modules
- ├── src
- │ └── utils.js
- └── test
- └── utils.js
- > cat src/utils.js
- define(['underscore'], function () {
- "use strict";
- if ('function' !== typeof Object.beget) {
- Object.beget = function (o) {
- var f = function () {
- };
- f.prototype = o;
- return new f();
- };
- }
- });
- > cat test/utils.js
- var requirejs = require('requirejs');
- requirejs.config({nodeRequire: require});
- requirejs(['../src/utils'], function(utils) {
- suite('utils', function() {
- test('should always work', function() {
- assert.equal(1, 1);
- })
- })
- });
- > mocha
- node.js:201
- throw e; // process.nextTick error, or 'error' event on first tick
- ^
- Error: Calling node's require("../src/utils") failed with error: ReferenceError: define is not defined
- at /.../node_modules/requirejs/bin/r.js:2276:27
- at Function.execCb (/.../node_modules/requirejs/bin/r.js:1872:25)
- at execManager (/.../node_modules/requirejs/bin/r.js:541:31)
- ...
- > cat test/utils.js
- var requirejs = require('requirejs');
- requirejs.config({nodeRequire: require});
- requirejs(['../src/utils', 'assert'], function(utils, assert) {
- suite('utils', function() {
- test('should always work', function() {
- assert.equal(1, 1);
- })
- })
- });
- > mocha -u tdd
- .
- ✔ 1 tests complete (1ms)
- if(typeof require != 'undefined') {
- // Require server-side-specific modules
- }
- // Insert code here
- if(typeof module != 'undefined') {
- module.exports = whateverImExporting;
- }
- mocha.addFile('lib/tests/Main_spec_node');
- describe('Testing "Other"', function(done){
- var Other;
- beforeEach(function(done){
- requirejs(['lib/Other'], function(_File){
- Other = _File;
- done(); // #1 Other Suite will run after this is called
- });
- });
- describe('#1 Other Suite:', function(){
- it('Other.test', function(){
- chai.expect(Other.test).to.equal(true);
- });
- });
- });
- > cat $PROJECT_HOME/test/test.js
- var requirejs = require('requirejs');
- var path = require('path')
- var project_directory = path.resolve(__dirname, '..')
- requirejs.config({
- nodeRequire: require,
- paths: {
- 'widget': project_directory + '/src/js/some/widget'
- }
- });
- describe("Mocha needs one test in order to wait on requirejs tests", function() {
- it('should wait for other tests', function(){
- require('assert').ok(true);
- });
- });
- requirejs(['widget/viewModel', 'assert'], function(model, assert){
- describe('MyViewModel', function() {
- it("should be 4 when 2", function () {
- assert.equal(model.square(2),4)
- })
- });
- })
- > cat $PROJECT_HOME/src/js/some/widget/viewModel.js
- define(["knockout"], function (ko) {
- function VideModel() {
- var self = this;
- self.square = function(n){
- return n*n;
- }
- }
- return new VideModel();
- })
- if (typeof define !== 'function') {
- var define = require('amdefine')(module);
- }
- npm install amdefine
- var root = typeof exports !== "undefined" && exports !== null ? exports : window;
- var foo = root.foo;
- if (!foo && (typeof require !== 'undefined')) {
- foo = require('./foo');
- }
- var Bar = function() {
- // do something with foo
- }
- root.bar = Bar;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement