diff options
| author | Misko Hevery | 2012-01-06 18:10:47 -0800 | 
|---|---|---|
| committer | Misko Hevery | 2012-01-10 22:27:00 -0800 | 
| commit | 5143e7bf065a3cbdf8400cf095b653d51bc83b8f (patch) | |
| tree | 980149c365d4cb5586d27975d26366a25ff7be6a /test/loaderSpec.js | |
| parent | afd25446d23f24872eb20ac79c8fbd2cff203ef0 (diff) | |
| download | angular.js-5143e7bf065a3cbdf8400cf095b653d51bc83b8f.tar.bz2 | |
feat(module): new module loader
Diffstat (limited to 'test/loaderSpec.js')
| -rw-r--r-- | test/loaderSpec.js | 63 | 
1 files changed, 63 insertions, 0 deletions
| diff --git a/test/loaderSpec.js b/test/loaderSpec.js new file mode 100644 index 00000000..afea159b --- /dev/null +++ b/test/loaderSpec.js @@ -0,0 +1,63 @@ +'use strict'; + +describe('module loader', function() { +  var window; + +  beforeEach(function () { +    window = {}; +    setupModuleLoader(window); +  }); + + +  it('should set up namespace', function() { +    expect(window.angular).toBeDefined(); +    expect(window.angular.module).toBeDefined(); +  }); + + +  it('should not override existing namespace', function() { +    var angular = window.angular; +    var module = angular.module; + +    setupModuleLoader(window); +    expect(window.angular).toBe(angular); +    expect(window.angular.module).toBe(module); +  }); + + +  it('should record calls', function() { +    var otherModule = window.angular.module('other', []); +    otherModule.init('otherInit'); + +    var myModule = window.angular.module('my', ['other'], 'init'); + +    myModule. +      service('sk', 'sv'). +      factory('fk', 'fv'). +      value('k', 'v'). +      filter('f', 'ff'). +      init('init2'); + +    expect(myModule.requires).toEqual(['other']); +    expect(myModule.invokeQueue).toEqual([ +      ['$injector', 'invoke', [null, 'init'] ], +      ['$provide', 'service', ['sk', 'sv'] ], +      ['$provide', 'factory', ['fk', 'fv'] ], +      ['$provide', 'value', ['k', 'v'] ], +      ['$filterProvider', 'register', ['f', 'ff'] ], +      ['$injector', 'invoke', [null, 'init2'] ] +    ]); +  }); + + +  it('should allow module redefinition', function() { +    expect(window.angular.module('a', [])).not.toBe(window.angular.module('a', [])); +  }); + + +  it('should complain of no module', function() { +    expect(function() { +      window.angular.module('dontExist'); +    }).toThrow('No module: dontExist'); +  }); +}); | 
