Advertisement
Guest User

Untitled

a guest
Aug 21st, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.33 KB | None | 0 0
  1. > tree .
  2. .
  3. ├── node_modules
  4. ├── src
  5. │   └── utils.js
  6. └── test
  7. └── utils.js
  8.  
  9. > cat src/utils.js
  10. define(['underscore'], function () {
  11.  
  12. "use strict";
  13.  
  14. if ('function' !== typeof Object.beget) {
  15. Object.beget = function (o) {
  16. var f = function () {
  17. };
  18. f.prototype = o;
  19. return new f();
  20. };
  21. }
  22.  
  23. });
  24.  
  25. > cat test/utils.js
  26. var requirejs = require('requirejs');
  27. requirejs.config({nodeRequire: require});
  28.  
  29. requirejs(['../src/utils'], function(utils) {
  30.  
  31. suite('utils', function() {
  32. test('should always work', function() {
  33. assert.equal(1, 1);
  34. })
  35. })
  36.  
  37. });
  38.  
  39. > mocha
  40.  
  41. node.js:201
  42. throw e; // process.nextTick error, or 'error' event on first tick
  43. ^
  44. Error: Calling node's require("../src/utils") failed with error: ReferenceError: define is not defined
  45. at /.../node_modules/requirejs/bin/r.js:2276:27
  46. at Function.execCb (/.../node_modules/requirejs/bin/r.js:1872:25)
  47. at execManager (/.../node_modules/requirejs/bin/r.js:541:31)
  48. ...
  49.  
  50. > cat test/utils.js
  51.  
  52. var requirejs = require('requirejs');
  53. requirejs.config({nodeRequire: require});
  54.  
  55. requirejs(['../src/utils', 'assert'], function(utils, assert) {
  56.  
  57. suite('utils', function() {
  58. test('should always work', function() {
  59. assert.equal(1, 1);
  60. })
  61. })
  62.  
  63. });
  64. > mocha -u tdd
  65.  
  66. .
  67.  
  68. ✔ 1 tests complete (1ms)
  69.  
  70. if(typeof require != 'undefined') {
  71. // Require server-side-specific modules
  72. }
  73.  
  74. // Insert code here
  75.  
  76. if(typeof module != 'undefined') {
  77. module.exports = whateverImExporting;
  78. }
  79.  
  80. mocha.addFile('lib/tests/Main_spec_node');
  81.  
  82. describe('Testing "Other"', function(done){
  83. var Other;
  84. beforeEach(function(done){
  85. requirejs(['lib/Other'], function(_File){
  86. Other = _File;
  87. done(); // #1 Other Suite will run after this is called
  88. });
  89. });
  90.  
  91. describe('#1 Other Suite:', function(){
  92. it('Other.test', function(){
  93. chai.expect(Other.test).to.equal(true);
  94. });
  95. });
  96. });
  97.  
  98. > cat $PROJECT_HOME/test/test.js
  99.  
  100. var requirejs = require('requirejs');
  101. var path = require('path')
  102. var project_directory = path.resolve(__dirname, '..')
  103.  
  104. requirejs.config({
  105. nodeRequire: require,
  106. paths: {
  107. 'widget': project_directory + '/src/js/some/widget'
  108. }
  109. });
  110.  
  111. describe("Mocha needs one test in order to wait on requirejs tests", function() {
  112. it('should wait for other tests', function(){
  113. require('assert').ok(true);
  114. });
  115. });
  116.  
  117.  
  118. requirejs(['widget/viewModel', 'assert'], function(model, assert){
  119.  
  120. describe('MyViewModel', function() {
  121. it("should be 4 when 2", function () {
  122. assert.equal(model.square(2),4)
  123. })
  124. });
  125.  
  126. })
  127.  
  128. > cat $PROJECT_HOME/src/js/some/widget/viewModel.js
  129.  
  130. define(["knockout"], function (ko) {
  131.  
  132. function VideModel() {
  133. var self = this;
  134.  
  135. self.square = function(n){
  136. return n*n;
  137. }
  138.  
  139. }
  140.  
  141. return new VideModel();
  142. })
  143.  
  144. if (typeof define !== 'function') {
  145. var define = require('amdefine')(module);
  146. }
  147.  
  148. npm install amdefine
  149.  
  150. var root = typeof exports !== "undefined" && exports !== null ? exports : window;
  151.  
  152. var foo = root.foo;
  153. if (!foo && (typeof require !== 'undefined')) {
  154. foo = require('./foo');
  155. }
  156.  
  157. var Bar = function() {
  158. // do something with foo
  159. }
  160.  
  161. root.bar = Bar;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement