ember-source 2.17.2 → 2.18.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,51 +6,14 @@
6
6
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
7
7
  * @license Licensed under MIT license
8
8
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
9
- * @version 2.17.2
9
+ * @version 2.18.0-beta.1
10
10
  */
11
11
 
12
+ /*global process */
12
13
  var enifed, requireModule, Ember;
13
14
  var mainContext = this; // Used in ember-environment/lib/global.js
14
15
 
15
16
  (function() {
16
- var isNode = typeof window === 'undefined' &&
17
- typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';
18
-
19
- if (!isNode) {
20
- Ember = this.Ember = this.Ember || {};
21
- }
22
-
23
- if (typeof Ember === 'undefined') { Ember = {}; }
24
-
25
- if (typeof Ember.__loader === 'undefined') {
26
- var registry = {};
27
- var seen = {};
28
-
29
- enifed = function(name, deps, callback) {
30
- var value = { };
31
-
32
- if (!callback) {
33
- value.deps = [];
34
- value.callback = deps;
35
- } else {
36
- value.deps = deps;
37
- value.callback = callback;
38
- }
39
-
40
- registry[name] = value;
41
- };
42
-
43
- requireModule = function(name) {
44
- return internalRequire(name, null);
45
- };
46
-
47
- // setup `require` module
48
- requireModule['default'] = requireModule;
49
-
50
- requireModule.has = function registryHas(moduleName) {
51
- return !!registry[moduleName] || !!registry[moduleName + '/index'];
52
- };
53
-
54
17
  function missingModule(name, referrerName) {
55
18
  if (referrerName) {
56
19
  throw new Error('Could not find module ' + name + ' required by: ' + referrerName);
@@ -99,6 +62,44 @@ var mainContext = this; // Used in ember-environment/lib/global.js
99
62
  return exports;
100
63
  }
101
64
 
65
+ var isNode = typeof window === 'undefined' &&
66
+ typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';
67
+
68
+ if (!isNode) {
69
+ Ember = this.Ember = this.Ember || {};
70
+ }
71
+
72
+ if (typeof Ember === 'undefined') { Ember = {}; }
73
+
74
+ if (typeof Ember.__loader === 'undefined') {
75
+ var registry = {};
76
+ var seen = {};
77
+
78
+ enifed = function(name, deps, callback) {
79
+ var value = { };
80
+
81
+ if (!callback) {
82
+ value.deps = [];
83
+ value.callback = deps;
84
+ } else {
85
+ value.deps = deps;
86
+ value.callback = callback;
87
+ }
88
+
89
+ registry[name] = value;
90
+ };
91
+
92
+ requireModule = function(name) {
93
+ return internalRequire(name, null);
94
+ };
95
+
96
+ // setup `require` module
97
+ requireModule['default'] = requireModule;
98
+
99
+ requireModule.has = function registryHas(moduleName) {
100
+ return !!registry[moduleName] || !!registry[moduleName + '/index'];
101
+ };
102
+
102
103
  requireModule._eak_seen = registry;
103
104
 
104
105
  Ember.__loader = {
@@ -584,12 +585,12 @@ enifed('container/tests/container_test', ['ember-utils', 'ember-metal', 'contain
584
585
  assert.deepEqual(factoryManager.class, Component, 'No double extend');
585
586
  });
586
587
 
587
- QUnit.test('#factoryFor must supply a fullname', function (assert) {
588
+ QUnit.test('#factoryFor must supply a fullname', function () {
588
589
  var registry = new _container.Registry();
589
590
  var container = registry.container();
590
- assert.throws(function () {
591
+ expectAssertion(function () {
591
592
  container.factoryFor('chad-bar');
592
- }, /Invalid Fullname, expected: 'type:name' got: chad-bar/);
593
+ }, /fullName must be a proper full name/);
593
594
  });
594
595
 
595
596
  QUnit.test('#factoryFor returns a factory manager', function (assert) {
@@ -841,7 +842,7 @@ enifed('container/tests/registry_test', ['container', 'internal-test-helpers'],
841
842
 
842
843
  registry.register('controller:post', PostController);
843
844
 
844
- throws(function () {
845
+ expectAssertion(function () {
845
846
  registry.typeInjection('controller', 'injected', 'controller:post');
846
847
  }, /Cannot inject a 'controller:post' on other controller\(s\)\./);
847
848
  });
@@ -902,26 +903,6 @@ enifed('container/tests/registry_test', ['container', 'internal-test-helpers'],
902
903
  equal(isPresent, true, 'Normalizes the name when checking if the factory or instance is present');
903
904
  });
904
905
 
905
- QUnit.test('validateFullName throws an error if name is incorrect', function () {
906
- expect(2);
907
-
908
- var registry = new _container.Registry();
909
- var PostController = (0, _internalTestHelpers.factory)();
910
-
911
- registry.normalize = function () {
912
- return 'controller:post';
913
- };
914
-
915
- registry.register('controller:post', PostController);
916
- throws(function () {
917
- registry.validateFullName('post');
918
- }, /TypeError: Invalid Fullname, expected: 'type:name' got: post/);
919
-
920
- throws(function () {
921
- registry.validateFullName('route:http://foo.bar.com/baz');
922
- }, /TypeError: Invalid Fullname, expected: 'type:name' got: route:http:\/\/foo.bar.com\/baz/);
923
- });
924
-
925
906
  QUnit.test('The registry normalizes names when injecting', function () {
926
907
  var registry = new _container.Registry();
927
908
  var PostController = (0, _internalTestHelpers.factory)();
@@ -965,7 +946,7 @@ enifed('container/tests/registry_test', ['container', 'internal-test-helpers'],
965
946
  registry.register('controller:apple', FirstApple);
966
947
  strictEqual(registry.resolve('controller:apple'), FirstApple);
967
948
 
968
- throws(function () {
949
+ expectAssertion(function () {
969
950
  registry.register('controller:apple', SecondApple);
970
951
  }, /Cannot re-register: 'controller:apple', as it has already been resolved\./);
971
952
 
@@ -2339,33 +2320,33 @@ enifed('ember-application/tests/system/dependency_injection/default_resolver_tes
2339
2320
  assert.equal(this.applicationInstance.lookup('controller:nested-post'), this.applicationInstance.lookup('controller:nested_post'), 'looks up NestedPost controller on application');
2340
2321
  };
2341
2322
 
2342
- _class.prototype['@test the default resolver throws an error if the fullName to resolve is invalid'] = function (assert) {
2323
+ _class.prototype['@test the default resolver throws an error if the fullName to resolve is invalid'] = function () {
2343
2324
  var _this3 = this;
2344
2325
 
2345
- assert.throws(function () {
2326
+ expectAssertion(function () {
2346
2327
  _this3.applicationInstance.resolveRegistration(undefined);
2347
- }, TypeError, /Invalid fullName/);
2348
- assert.throws(function () {
2328
+ }, /fullName must be a proper full name/);
2329
+ expectAssertion(function () {
2349
2330
  _this3.applicationInstance.resolveRegistration(null);
2350
- }, TypeError, /Invalid fullName/);
2351
- assert.throws(function () {
2331
+ }, /fullName must be a proper full name/);
2332
+ expectAssertion(function () {
2352
2333
  _this3.applicationInstance.resolveRegistration('');
2353
- }, TypeError, /Invalid fullName/);
2354
- assert.throws(function () {
2334
+ }, /fullName must be a proper full name/);
2335
+ expectAssertion(function () {
2355
2336
  _this3.applicationInstance.resolveRegistration('');
2356
- }, TypeError, /Invalid fullName/);
2357
- assert.throws(function () {
2337
+ }, /fullName must be a proper full name/);
2338
+ expectAssertion(function () {
2358
2339
  _this3.applicationInstance.resolveRegistration(':');
2359
- }, TypeError, /Invalid fullName/);
2360
- assert.throws(function () {
2340
+ }, /fullName must be a proper full name/);
2341
+ expectAssertion(function () {
2361
2342
  _this3.applicationInstance.resolveRegistration('model');
2362
- }, TypeError, /Invalid fullName/);
2363
- assert.throws(function () {
2343
+ }, /fullName must be a proper full name/);
2344
+ expectAssertion(function () {
2364
2345
  _this3.applicationInstance.resolveRegistration('model:');
2365
- }, TypeError, /Invalid fullName/);
2366
- assert.throws(function () {
2346
+ }, /fullName must be a proper full name/);
2347
+ expectAssertion(function () {
2367
2348
  _this3.applicationInstance.resolveRegistration(':type');
2368
- }, TypeError, /Invalid fullName/);
2349
+ }, /fullName must be a proper full name/);
2369
2350
  };
2370
2351
 
2371
2352
  _class.prototype['@test lookup description'] = function (assert) {
@@ -16607,165 +16588,6 @@ enifed('ember-glimmer/tests/integration/components/dynamic-components-test', ['e
16607
16588
  return _class;
16608
16589
  }(_testCase.RenderingTest));
16609
16590
  });
16610
- enifed('ember-glimmer/tests/integration/components/error-handling-test', ['ember-babel', 'ember-metal', 'ember-glimmer/tests/utils/helpers', 'ember-glimmer/tests/utils/test-case'], function (_emberBabel, _emberMetal, _helpers, _testCase) {
16611
- 'use strict';
16612
-
16613
- (0, _testCase.moduleFor)('Errors thrown during render', function (_RenderingTest) {
16614
- (0, _emberBabel.inherits)(_class, _RenderingTest);
16615
-
16616
- function _class() {
16617
- return (0, _emberBabel.possibleConstructorReturn)(this, _RenderingTest.apply(this, arguments));
16618
- }
16619
-
16620
- _class.prototype['@test it can recover resets the transaction when an error is thrown during initial render'] = function (assert) {
16621
- var _this2 = this;
16622
-
16623
- var shouldThrow = true;
16624
- var FooBarComponent = _helpers.Component.extend({
16625
- init: function () {
16626
- this._super.apply(this, arguments);
16627
- if (shouldThrow) {
16628
- throw new Error('silly mistake in init!');
16629
- }
16630
- }
16631
- });
16632
-
16633
- this.registerComponent('foo-bar', { ComponentClass: FooBarComponent, template: 'hello' });
16634
-
16635
- assert.throws(function () {
16636
- _this2.render('{{#if switch}}{{#foo-bar}}{{foo-bar}}{{/foo-bar}}{{/if}}', { switch: true });
16637
- }, /silly mistake in init/);
16638
-
16639
- assert.equal(this.env.inTransaction, false, 'should not be in a transaction even though an error was thrown');
16640
-
16641
- this.assertText('');
16642
-
16643
- this.runTask(function () {
16644
- return (0, _emberMetal.set)(_this2.context, 'switch', false);
16645
- });
16646
-
16647
- shouldThrow = false;
16648
-
16649
- this.runTask(function () {
16650
- return (0, _emberMetal.set)(_this2.context, 'switch', true);
16651
- });
16652
-
16653
- this.assertText('hello');
16654
- };
16655
-
16656
- _class.prototype['@test it can recover resets the transaction when an error is thrown during rerender'] = function (assert) {
16657
- var _this3 = this;
16658
-
16659
- var shouldThrow = false;
16660
- var FooBarComponent = _helpers.Component.extend({
16661
- init: function () {
16662
- this._super.apply(this, arguments);
16663
- if (shouldThrow) {
16664
- throw new Error('silly mistake in init!');
16665
- }
16666
- }
16667
- });
16668
-
16669
- this.registerComponent('foo-bar', { ComponentClass: FooBarComponent, template: 'hello' });
16670
-
16671
- this.render('{{#if switch}}{{#foo-bar}}{{foo-bar}}{{/foo-bar}}{{/if}}', { switch: true });
16672
-
16673
- this.assertText('hello');
16674
-
16675
- this.runTask(function () {
16676
- return (0, _emberMetal.set)(_this3.context, 'switch', false);
16677
- });
16678
-
16679
- shouldThrow = true;
16680
-
16681
- assert.throws(function () {
16682
- _this3.runTask(function () {
16683
- return (0, _emberMetal.set)(_this3.context, 'switch', true);
16684
- });
16685
- }, /silly mistake in init/);
16686
-
16687
- assert.equal(this.env.inTransaction, false, 'should not be in a transaction even though an error was thrown');
16688
-
16689
- this.assertText('');
16690
-
16691
- this.runTask(function () {
16692
- return (0, _emberMetal.set)(_this3.context, 'switch', false);
16693
- });
16694
- shouldThrow = false;
16695
-
16696
- this.runTask(function () {
16697
- return (0, _emberMetal.set)(_this3.context, 'switch', true);
16698
- });
16699
-
16700
- this.assertText('hello');
16701
- };
16702
-
16703
- _class.prototype['@test it can recover resets the transaction when an error is thrown during didInsertElement'] = function (assert) {
16704
- var _this4 = this;
16705
-
16706
- var FooBarComponent = _helpers.Component.extend({
16707
- didInsertElement: function () {
16708
- this._super.apply(this, arguments);
16709
-
16710
- throw new Error('silly mistake!');
16711
- }
16712
- });
16713
-
16714
- this.registerComponent('foo-bar', { ComponentClass: FooBarComponent, template: 'hello' });
16715
-
16716
- assert.throws(function () {
16717
- _this4.render('{{#if switch}}{{#foo-bar}}{{foo-bar}}{{/foo-bar}}{{/if}}', { switch: true });
16718
- }, /silly mistake/);
16719
-
16720
- assert.equal(this.env.inTransaction, false, 'should not be in a transaction even though an error was thrown');
16721
-
16722
- this.assertText('hello');
16723
-
16724
- this.runTask(function () {
16725
- return (0, _emberMetal.set)(_this4.context, 'switch', false);
16726
- });
16727
-
16728
- this.assertText('');
16729
- };
16730
-
16731
- _class.prototype['@test it can recover resets the transaction when an error is thrown during destroy'] = function (assert) {
16732
- var _this5 = this;
16733
-
16734
- var shouldThrow = true;
16735
- var FooBarComponent = _helpers.Component.extend({
16736
- destroy: function () {
16737
- this._super.apply(this, arguments);
16738
- if (shouldThrow) {
16739
- throw new Error('silly mistake!');
16740
- }
16741
- }
16742
- });
16743
-
16744
- this.registerComponent('foo-bar', { ComponentClass: FooBarComponent, template: 'hello' });
16745
-
16746
- this.render('{{#if switch}}{{#foo-bar}}{{foo-bar}}{{/foo-bar}}{{/if}}', { switch: true });
16747
-
16748
- this.assertText('hello');
16749
-
16750
- assert.throws(function () {
16751
- _this5.runTask(function () {
16752
- return (0, _emberMetal.set)(_this5.context, 'switch', false);
16753
- });
16754
- }, /silly mistake/);
16755
-
16756
- this.assertText('');
16757
-
16758
- shouldThrow = false;
16759
- this.runTask(function () {
16760
- return (0, _emberMetal.set)(_this5.context, 'switch', true);
16761
- });
16762
-
16763
- this.assertText('hello');
16764
- };
16765
-
16766
- return _class;
16767
- }(_testCase.RenderingTest));
16768
- });
16769
16591
  enifed('ember-glimmer/tests/integration/components/fragment-components-test', ['ember-babel', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-glimmer/tests/utils/helpers', 'ember-metal'], function (_emberBabel, _testCase, _abstractTestCase, _helpers, _emberMetal) {
16770
16592
  'use strict';
16771
16593
 
@@ -27894,6 +27716,16 @@ enifed('ember-glimmer/tests/integration/helpers/loc-test', ['ember-babel', 'embe
27894
27716
  this.assertText('Hallo Freund - Hallo, Mr. Pitkin', 'the bound value is correct after replacement');
27895
27717
  };
27896
27718
 
27719
+ _class.prototype['@test it can be overriden'] = function () {
27720
+ this.registerHelper('loc', function () {
27721
+ return 'Yup';
27722
+ });
27723
+ this.render('{{loc greeting}}', {
27724
+ greeting: 'Hello Friend'
27725
+ });
27726
+ this.assertText('Yup', 'the localized string is correct');
27727
+ };
27728
+
27897
27729
  return _class;
27898
27730
  }(_testCase.RenderingTest));
27899
27731
  });
@@ -31565,7 +31397,6 @@ enifed('ember-glimmer/tests/integration/outlet-test', ['ember-babel', 'ember-gli
31565
31397
  outlet: 'main',
31566
31398
  name: 'application',
31567
31399
  controller: undefined,
31568
- ViewClass: undefined,
31569
31400
  template: undefined
31570
31401
  },
31571
31402
 
@@ -31591,7 +31422,6 @@ enifed('ember-glimmer/tests/integration/outlet-test', ['ember-babel', 'ember-gli
31591
31422
  outlet: 'main',
31592
31423
  name: 'application',
31593
31424
  controller: undefined,
31594
- ViewClass: undefined,
31595
31425
  template: undefined
31596
31426
  },
31597
31427
 
@@ -31614,7 +31444,6 @@ enifed('ember-glimmer/tests/integration/outlet-test', ['ember-babel', 'ember-gli
31614
31444
  outlet: 'main',
31615
31445
  name: 'application',
31616
31446
  controller: {},
31617
- ViewClass: undefined,
31618
31447
  template: this.owner.lookup('template:application')
31619
31448
  },
31620
31449
  outlets: Object.create(null)
@@ -31636,7 +31465,6 @@ enifed('ember-glimmer/tests/integration/outlet-test', ['ember-babel', 'ember-gli
31636
31465
  outlet: 'main',
31637
31466
  name: 'index',
31638
31467
  controller: {},
31639
- ViewClass: undefined,
31640
31468
  template: this.owner.lookup('template:index')
31641
31469
  },
31642
31470
  outlets: Object.create(null)
@@ -31660,7 +31488,6 @@ enifed('ember-glimmer/tests/integration/outlet-test', ['ember-babel', 'ember-gli
31660
31488
  outlet: 'main',
31661
31489
  name: 'application',
31662
31490
  controller: {},
31663
- ViewClass: undefined,
31664
31491
  template: this.owner.lookup('template:application')
31665
31492
  },
31666
31493
  outlets: Object.create(null)
@@ -31684,7 +31511,6 @@ enifed('ember-glimmer/tests/integration/outlet-test', ['ember-babel', 'ember-gli
31684
31511
  outlet: 'main',
31685
31512
  name: 'index',
31686
31513
  controller: {},
31687
- ViewClass: undefined,
31688
31514
  template: this.owner.lookup('template:index')
31689
31515
  },
31690
31516
  outlets: Object.create(null)
@@ -31708,7 +31534,6 @@ enifed('ember-glimmer/tests/integration/outlet-test', ['ember-babel', 'ember-gli
31708
31534
  outlet: 'main',
31709
31535
  name: 'application',
31710
31536
  controller: {},
31711
- ViewClass: undefined,
31712
31537
  template: this.owner.lookup('template:application')
31713
31538
  },
31714
31539
  outlets: Object.create(null)
@@ -31732,7 +31557,6 @@ enifed('ember-glimmer/tests/integration/outlet-test', ['ember-babel', 'ember-gli
31732
31557
  outlet: 'main',
31733
31558
  name: 'special',
31734
31559
  controller: {},
31735
- ViewClass: undefined,
31736
31560
  template: this.owner.lookup('template:special')
31737
31561
  },
31738
31562
  outlets: Object.create(null)
@@ -31756,7 +31580,6 @@ enifed('ember-glimmer/tests/integration/outlet-test', ['ember-babel', 'ember-gli
31756
31580
  outlet: 'main',
31757
31581
  name: 'application',
31758
31582
  controller: {},
31759
- ViewClass: undefined,
31760
31583
  template: this.owner.lookup('template:application')
31761
31584
  },
31762
31585
  outlets: Object.create(null)
@@ -31780,7 +31603,6 @@ enifed('ember-glimmer/tests/integration/outlet-test', ['ember-babel', 'ember-gli
31780
31603
  outlet: 'main',
31781
31604
  name: 'special',
31782
31605
  controller: {},
31783
- ViewClass: undefined,
31784
31606
  template: this.owner.lookup('template:special')
31785
31607
  },
31786
31608
  outlets: Object.create(null)
@@ -31805,7 +31627,6 @@ enifed('ember-glimmer/tests/integration/outlet-test', ['ember-babel', 'ember-gli
31805
31627
  outlet: 'main',
31806
31628
  name: 'application',
31807
31629
  controller: controller,
31808
- ViewClass: undefined,
31809
31630
  template: this.owner.lookup('template:application')
31810
31631
  },
31811
31632
  outlets: Object.create(null)
@@ -31829,7 +31650,6 @@ enifed('ember-glimmer/tests/integration/outlet-test', ['ember-babel', 'ember-gli
31829
31650
  outlet: 'main',
31830
31651
  name: 'foo',
31831
31652
  controller: {},
31832
- ViewClass: undefined,
31833
31653
  template: this.owner.lookup('template:foo')
31834
31654
  },
31835
31655
  outlets: Object.create(null)
@@ -31843,7 +31663,6 @@ enifed('ember-glimmer/tests/integration/outlet-test', ['ember-babel', 'ember-gli
31843
31663
  outlet: 'main',
31844
31664
  name: 'bar',
31845
31665
  controller: {},
31846
- ViewClass: undefined,
31847
31666
  template: this.owner.lookup('template:bar')
31848
31667
  },
31849
31668
  outlets: Object.create(null)
@@ -31884,7 +31703,6 @@ enifed('ember-glimmer/tests/integration/outlet-test', ['ember-babel', 'ember-gli
31884
31703
  outlet: 'main',
31885
31704
  name: 'outer',
31886
31705
  controller: {},
31887
- ViewClass: undefined,
31888
31706
  template: this.owner.lookup('template:outer')
31889
31707
  },
31890
31708
  outlets: {
@@ -31895,7 +31713,6 @@ enifed('ember-glimmer/tests/integration/outlet-test', ['ember-babel', 'ember-gli
31895
31713
  outlet: 'main',
31896
31714
  name: 'inner',
31897
31715
  controller: {},
31898
- ViewClass: undefined,
31899
31716
  template: this.owner.lookup('template:inner')
31900
31717
  },
31901
31718
  outlets: Object.create(null)
@@ -32940,7 +32757,7 @@ enifed('ember-glimmer/tests/integration/syntax/each-test', ['ember-babel', 'embe
32940
32757
  this.assertText('Hello Planet EarthGlobe World');
32941
32758
 
32942
32759
  this.runTask(function () {
32943
- return _this11.replace(2, 4, { text: 'my' });
32760
+ return _this11.replace(2, 4, [{ text: 'my' }]);
32944
32761
  });
32945
32762
 
32946
32763
  this.assertText('Hello my World');
@@ -33639,7 +33456,7 @@ enifed('ember-glimmer/tests/integration/syntax/each-test', ['ember-babel', 'embe
33639
33456
 
33640
33457
  this.runTask(function () {
33641
33458
  (0, _emberMetal.get)(_this37.context, 'first').pushObject('I');
33642
- (0, _emberMetal.get)(_this37.context, 'ninth').replace(0, 1, 'K');
33459
+ (0, _emberMetal.get)(_this37.context, 'ninth').replace(0, 1, ['K']);
33643
33460
  });
33644
33461
 
33645
33462
  this.assertText('O-Limbo-D-K-D-Wrath-K-Wrath-Limbo-I-D-K-D-Wrath-K-Wrath-I-O');
@@ -33671,7 +33488,7 @@ enifed('ember-glimmer/tests/integration/syntax/each-test', ['ember-babel', 'embe
33671
33488
 
33672
33489
  this.runTask(function () {
33673
33490
  var name = (0, _emberMetal.get)(_this38.context, 'name');
33674
- name.objectAt(0).replace(0, 1, 'lady');
33491
+ name.objectAt(0).replace(0, 1, ['lady']);
33675
33492
  name.pushObject(['bird']);
33676
33493
  });
33677
33494
 
@@ -34425,7 +34242,7 @@ enifed('ember-glimmer/tests/integration/syntax/with-test', ['ember-babel', 'embe
34425
34242
 
34426
34243
  this.runTask(function () {
34427
34244
  var array = (0, _emberMetal.get)(_this9.context, 'arrayThing');
34428
- array.replace(0, 1, 'Goodbye');
34245
+ array.replace(0, 1, ['Goodbye']);
34429
34246
  (0, _emberRuntime.removeAt)(array, 1);
34430
34247
  array.insertAt(1, ', ');
34431
34248
  array.pushObject('!');
@@ -43115,9 +42932,7 @@ enifed('ember-metal/tests/run_loop/later_test', ['ember-utils', 'ember-metal'],
43115
42932
  // run loop has to flush, it would have considered
43116
42933
  // the timer already expired.
43117
42934
  function pauseUntil(time) {
43118
- // jscs:disable
43119
- while (+new Date() < time) {} /* do nothing - sleeping */
43120
- // jscs:enable
42935
+ while (+new Date() < time) {/* do nothing - sleeping */}
43121
42936
  }
43122
42937
 
43123
42938
  QUnit.module('run.later', {
@@ -45322,7 +45137,6 @@ enifed('ember-routing/tests/location/util_test', ['ember-utils', 'ember-routing/
45322
45137
  }), true, 'When in IE8+, use onhashchange existence as evidence of the feature');
45323
45138
  });
45324
45139
 
45325
- // jscs:disable
45326
45140
  QUnit.test("Feature-detecting the history API", function () {
45327
45141
  equal((0, _util.supportsHistory)("", { pushState: true }), true, "returns true if not Android Gingerbread and history.pushState exists");
45328
45142
  equal((0, _util.supportsHistory)("", {}), false, "returns false if history.pushState doesn't exist");
@@ -45339,7 +45153,6 @@ enifed('ember-routing/tests/location/util_test', ['ember-utils', 'ember-routing/
45339
45153
  // Windows Phone UA and History API: https://github.com/Modernizr/Modernizr/issues/1471
45340
45154
  equal((0, _util.supportsHistory)("Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; Microsoft; Virtual) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537", { pushState: true }), true, "returns true for Windows Phone 8.1 with misleading user agent string");
45341
45155
  });
45342
- // jscs:enable
45343
45156
  });
45344
45157
  enifed('ember-routing/tests/system/cache_test', ['ember-routing/system/cache'], function (_cache) {
45345
45158
  'use strict';
@@ -46557,24 +46370,6 @@ enifed('ember-routing/tests/system/router_test', ['ember-utils', 'ember-routing/
46557
46370
 
46558
46371
  (0, _router.triggerEvent)(handlerInfos, false, ['loading']);
46559
46372
  });
46560
-
46561
- QUnit.test('Router#router deprecates when called', function (assert) {
46562
- assert.expect(2);
46563
-
46564
- var router = createRouter();
46565
-
46566
- expectDeprecation(function () {
46567
- assert.equal(router.router, router._routerMicrolib);
46568
- }, 'Usage of `router` is deprecated, use `_routerMicrolib` instead.');
46569
- });
46570
-
46571
- QUnit.test('Router#_routerMicrolib can be used without deprecation', function (assert) {
46572
- assert.expect(1);
46573
-
46574
- var router = createRouter();
46575
-
46576
- assert.ok(router._routerMicrolib, 'Router._routerMicrolib can be used without deprecation');
46577
- });
46578
46373
  });
46579
46374
  enifed('ember-routing/tests/utils_test', ['ember-routing/utils'], function (_utils) {
46580
46375
  'use strict';
@@ -47823,12 +47618,12 @@ enifed('ember-runtime/tests/computed/reduce_computed_macros_test', ['ember-metal
47823
47618
 
47824
47619
  var items = obj.get('items');
47825
47620
 
47826
- items.replace(0, 1, {
47621
+ items.replace(0, 1, [{
47827
47622
  fname: 'Jaime',
47828
47623
  lname: 'Lannister',
47829
47624
  age: 34
47830
- });
47831
- items.replace(1, 1, jaimeInDisguise);
47625
+ }]);
47626
+ items.replace(1, 1, [jaimeInDisguise]);
47832
47627
 
47833
47628
  deepEqual(obj.get('sortedItems').mapBy('fname'), ['Cersei', 'Jaime', 'Bran', 'Robb'], 'precond - array is initially sorted');
47834
47629
 
@@ -50245,7 +50040,7 @@ enifed('ember-runtime/tests/legacy_1x/mixins/observable/observable_test', ['embe
50245
50040
  });
50246
50041
 
50247
50042
  QUnit.test('should notify array observer when array changes', function () {
50248
- (0, _emberMetal.get)(object, 'normalArray').replace(0, 0, 6);
50043
+ (0, _emberMetal.get)(object, 'normalArray').replace(0, 0, [6]);
50249
50044
  equal(object.abnormal, 'notifiedObserver', 'observer should be notified');
50250
50045
  });
50251
50046
 
@@ -53004,6 +52799,26 @@ enifed('ember-runtime/tests/mixins/target_action_support_test', ['ember-environm
53004
52799
  ok(true === obj.triggerAction(), 'a valid target and action were specified');
53005
52800
  });
53006
52801
 
52802
+ QUnit.test('it should raise a deprecation warning when targetObject is specified and used', function () {
52803
+ expect(4);
52804
+ var obj = void 0;
52805
+ expectDeprecation(function () {
52806
+ obj = _object.default.extend(_target_action_support.default).create({
52807
+ action: 'anEvent',
52808
+ actionContext: {},
52809
+ targetObject: _object.default.create({
52810
+ anEvent: function (ctx) {
52811
+ ok(obj.actionContext === ctx, 'anEvent method was called with the expected context');
52812
+ }
52813
+ })
52814
+ });
52815
+ }, /Usage of `targetObject` is deprecated. Please use `target` instead./);
52816
+ ok(true === obj.triggerAction(), 'a valid targetObject and action were specified');
52817
+ expectDeprecation(function () {
52818
+ return obj.get('targetObject');
52819
+ }, /Usage of `targetObject` is deprecated. Please use `target` instead./);
52820
+ });
52821
+
53007
52822
  QUnit.test('it should find an actionContext specified as a property path', function () {
53008
52823
  expect(2);
53009
52824
 
@@ -57383,6 +57198,21 @@ enifed('ember-runtime/tests/system/native_array/copyable_suite_test', ['ember-ut
57383
57198
  ok(copiedArray[0] !== array[0], 'objects inside should be unique');
57384
57199
  });
57385
57200
  });
57201
+ enifed('ember-runtime/tests/system/native_array/replace_test', ['ember-runtime/system/native_array'], function (_native_array) {
57202
+ 'use strict';
57203
+
57204
+ QUnit.module('NativeArray.replace');
57205
+
57206
+ QUnit.test('raises assertion if third argument is not an array', function () {
57207
+ expectAssertion(function () {
57208
+ (0, _native_array.A)([1, 2, 3]).replace(1, 1, '');
57209
+ }, 'The third argument to replace needs to be an array.');
57210
+ });
57211
+
57212
+ QUnit.test('it does not raise an assertion if third parameter is not passed', function () {
57213
+ deepEqual((0, _native_array.A)([1, 2, 3]).replace(1, 2), (0, _native_array.A)([1]), 'no assertion raised');
57214
+ });
57215
+ });
57386
57216
  enifed('ember-runtime/tests/system/native_array/suite_test', ['ember-runtime/system/native_array', 'ember-runtime/tests/suites/mutable_array'], function (_native_array, _mutable_array) {
57387
57217
  'use strict';
57388
57218
 
@@ -59908,7 +59738,7 @@ enifed('ember-template-compiler/plugins/transform-dot-component-invocation', ['e
59908
59738
  }
59909
59739
 
59910
59740
  function isMultipartPath(path) {
59911
- return path.parts.length > 1;
59741
+ return path.parts && path.parts.length > 1;
59912
59742
  }
59913
59743
 
59914
59744
  function isInlineInvocation(path, params, hash) {
@@ -60652,7 +60482,7 @@ enifed('ember-template-compiler/system/compile-options', ['exports', 'ember-util
60652
60482
 
60653
60483
  exports.default = compileOptions;
60654
60484
  exports.registerPlugin = registerPlugin;
60655
- exports.unregisterPlugin = unregisterPlugin;
60485
+ exports.removePlugin = removePlugin;
60656
60486
 
60657
60487
 
60658
60488
  var USER_PLUGINS = [];
@@ -60670,73 +60500,51 @@ enifed('ember-template-compiler/system/compile-options', ['exports', 'ember-util
60670
60500
  options.plugins = { ast: [].concat(USER_PLUGINS, _plugins.default) };
60671
60501
  } else {
60672
60502
  var potententialPugins = [].concat(USER_PLUGINS, _plugins.default);
60673
- var providedPlugins = options.plugins.ast.map(function (plugin) {
60674
- return wrapLegacyPluginIfNeeded(plugin);
60675
- });
60676
60503
  var pluginsToAdd = potententialPugins.filter(function (plugin) {
60677
60504
  return options.plugins.ast.indexOf(plugin) === -1;
60678
60505
  });
60679
- options.plugins.ast = providedPlugins.concat(pluginsToAdd);
60506
+ options.plugins.ast = options.plugins.ast.slice().concat(pluginsToAdd);
60680
60507
  }
60681
60508
 
60682
60509
  return options;
60683
60510
  }
60684
60511
 
60685
- function wrapLegacyPluginIfNeeded(_plugin) {
60686
- var plugin = _plugin;
60512
+ function registerPlugin(type, _plugin) {
60513
+ if (type !== 'ast') {
60514
+ throw new Error('Attempting to register ' + _plugin + ' as "' + type + '" which is not a valid Glimmer plugin type.');
60515
+ }
60516
+
60517
+ var plugin = void 0;
60687
60518
  if (_plugin.prototype && _plugin.prototype.transform) {
60688
60519
  plugin = function (env) {
60689
- var pluginInstantiated = false;
60690
-
60691
60520
  return {
60692
60521
  name: _plugin.constructor && _plugin.constructor.name,
60693
60522
 
60694
60523
  visitors: {
60695
60524
  Program: function (node) {
60696
- if (!pluginInstantiated) {
60697
-
60698
- pluginInstantiated = true;
60699
- var _plugin2 = new _plugin(env);
60525
+ var plugin = new _plugin(env);
60700
60526
 
60701
- _plugin2.syntax = env.syntax;
60527
+ plugin.syntax = env.syntax;
60702
60528
 
60703
- return _plugin2.transform(node);
60704
- }
60529
+ return plugin.transform(node);
60705
60530
  }
60706
60531
  }
60707
60532
  };
60708
60533
  };
60709
-
60710
- plugin.__raw = _plugin;
60711
- }
60712
-
60713
- return plugin;
60714
- }
60715
-
60716
- function registerPlugin(type, _plugin) {
60717
- if (type !== 'ast') {
60718
- throw new Error('Attempting to register ' + _plugin + ' as "' + type + '" which is not a valid Glimmer plugin type.');
60719
- }
60720
-
60721
- for (var i = 0; i < USER_PLUGINS.length; i++) {
60722
- var PLUGIN = USER_PLUGINS[i];
60723
- if (PLUGIN === _plugin || PLUGIN.__raw === _plugin) {
60724
- return;
60725
- }
60534
+ } else {
60535
+ plugin = _plugin;
60726
60536
  }
60727
60537
 
60728
- var plugin = wrapLegacyPluginIfNeeded(_plugin);
60729
-
60730
60538
  USER_PLUGINS = [plugin].concat(USER_PLUGINS);
60731
60539
  }
60732
60540
 
60733
- function unregisterPlugin(type, PluginClass) {
60541
+ function removePlugin(type, PluginClass) {
60734
60542
  if (type !== 'ast') {
60735
60543
  throw new Error('Attempting to unregister ' + PluginClass + ' as "' + type + '" which is not a valid Glimmer plugin type.');
60736
60544
  }
60737
60545
 
60738
60546
  USER_PLUGINS = USER_PLUGINS.filter(function (plugin) {
60739
- return plugin !== PluginClass && plugin.__raw !== PluginClass;
60547
+ return plugin !== PluginClass;
60740
60548
  });
60741
60549
  }
60742
60550
  });
@@ -60885,7 +60693,9 @@ enifed('ember-template-compiler/tests/plugins/transform-dot-component-invocation
60885
60693
  QUnit.test('Does not throw a compiler error for path components', function (assert) {
60886
60694
  assert.expect(1);
60887
60695
 
60888
- ['{{this.modal open}}', '{{this.modal isOpen=true}}', '{{#this.modal}}Woot{{/this.modal}}', '{{c.modal open}}', '{{c.modal isOpen=true}}', '{{#c.modal}}Woot{{/c.modal}}', '{{#my-component as |c|}}{{c.a name="Chad"}}{{/my-component}}', '{{#my-component as |c|}}{{c.a "Chad"}}{{/my-component}}', '{{#my-component as |c|}}{{#c.a}}{{/c.a}}{{/my-component}}'].forEach(function (layout, i) {
60696
+ ['{{this.modal open}}', '{{this.modal isOpen=true}}', '{{#this.modal}}Woot{{/this.modal}}', '{{c.modal open}}', '{{c.modal isOpen=true}}', '{{#c.modal}}Woot{{/c.modal}}', '{{#my-component as |c|}}{{c.a name="Chad"}}{{/my-component}}', '{{#my-component as |c|}}{{c.a "Chad"}}{{/my-component}}', '{{#my-component as |c|}}{{#c.a}}{{/c.a}}{{/my-component}}', '<input disabled={{true}}>', // GH#15740
60697
+ '<td colspan={{3}}></td>' // GH#15217
60698
+ ].forEach(function (layout, i) {
60889
60699
  (0, _index.compile)(layout, { moduleName: 'example-' + i });
60890
60700
  });
60891
60701
 
@@ -62748,6 +62558,7 @@ enifed('ember-testing/tests/helpers_test', ['ember-babel', 'internal-test-helper
62748
62558
  _this31.router.map(function () {
62749
62559
  this.route('posts', { resetNamespace: true }, function () {
62750
62560
  this.route('new');
62561
+ this.route('edit', { resetNamespace: true });
62751
62562
  });
62752
62563
  });
62753
62564
  });
@@ -62793,6 +62604,18 @@ enifed('ember-testing/tests/helpers_test', ['ember-babel', 'internal-test-helper
62793
62604
  });
62794
62605
  };
62795
62606
 
62607
+ _class4.prototype['@test currentRouteName for \'/posts/edit\''] = function (assert) {
62608
+ assert.expect(3);
62609
+
62610
+ var testHelpers = this.application.testHelpers;
62611
+
62612
+ return testHelpers.visit('/posts/edit').then(function () {
62613
+ assert.equal(testHelpers.currentRouteName(), 'edit', 'should equal \'edit\'.');
62614
+ assert.equal(testHelpers.currentPath(), 'posts.edit', 'should equal \'posts.edit\'.');
62615
+ assert.equal(testHelpers.currentURL(), '/posts/edit', 'should equal \'/posts/edit\'.');
62616
+ });
62617
+ };
62618
+
62796
62619
  return _class4;
62797
62620
  }(HelpersTestCase));
62798
62621
 
@@ -65836,24 +65659,14 @@ enifed('ember/tests/helpers/link_to_test', ['ember-babel', 'ember-console', 'int
65836
65659
  (0, _emberBabel.inherits)(_class5, _ApplicationTestCase6);
65837
65660
 
65838
65661
  function _class5() {
65839
-
65840
- var _this8 = (0, _emberBabel.possibleConstructorReturn)(this, _ApplicationTestCase6.call(this));
65841
-
65842
- _this8._oldWarn = _emberConsole.default.warn;
65843
- _this8.warnCalled = false;
65844
- _emberConsole.default.warn = function () {
65845
- return _this8.warnCalled = true;
65846
- };
65847
- return _this8;
65662
+ return (0, _emberBabel.possibleConstructorReturn)(this, _ApplicationTestCase6.apply(this, arguments));
65848
65663
  }
65849
65664
 
65850
- _class5.prototype.teardown = function () {
65851
- _emberConsole.default.warn = this._oldWarn;
65852
- _ApplicationTestCase6.prototype.teardown.call(this);
65853
- };
65854
-
65855
65665
  _class5.prototype['@test link-to with null/undefined dynamic parameters are put in a loading state'] = function (assert) {
65666
+ var _this9 = this;
65667
+
65856
65668
  assert.expect(19);
65669
+ var warningMessage = 'This link-to is in an inactive loading state because at least one of its parameters presently has a null/undefined value, or the provided route name is invalid.';
65857
65670
 
65858
65671
  this.router.map(function () {
65859
65672
  this.route('thing', { path: '/thing/:thing_id' });
@@ -65893,9 +65706,9 @@ enifed('ember/tests/helpers/link_to_test', ['ember-babel', 'ember-console', 'int
65893
65706
  assertLinkStatus(contextLink);
65894
65707
  assertLinkStatus(staticLink);
65895
65708
 
65896
- this.warnCalled = false;
65897
- this.click(contextLink);
65898
- assert.ok(this.warnCalled, 'Logger.warn was called from clicking loading link');
65709
+ expectWarning(function () {
65710
+ _this9.click(contextLink);
65711
+ }, warningMessage);
65899
65712
 
65900
65713
  // Set the destinationRoute (context is still null).
65901
65714
  this.runTask(function () {
@@ -65927,9 +65740,9 @@ enifed('ember/tests/helpers/link_to_test', ['ember-babel', 'ember-console', 'int
65927
65740
  });
65928
65741
  assertLinkStatus(contextLink);
65929
65742
 
65930
- this.warnCalled = false;
65931
- this.click(staticLink);
65932
- assert.ok(this.warnCalled, 'Logger.warn was called from clicking loading link');
65743
+ expectWarning(function () {
65744
+ _this9.click(staticLink);
65745
+ }, warningMessage);
65933
65746
 
65934
65747
  this.runTask(function () {
65935
65748
  return controller.set('secondRoute', 'about');
@@ -65951,23 +65764,23 @@ enifed('ember/tests/helpers/link_to_test', ['ember-babel', 'ember-console', 'int
65951
65764
  }
65952
65765
 
65953
65766
  _class6.prototype['@test the {{link-to}} helper throws a useful error if you invoke it wrong'] = function (assert) {
65954
- var _this10 = this;
65767
+ var _this11 = this;
65955
65768
 
65956
65769
  assert.expect(1);
65957
65770
 
65958
65771
  assert.throws(function () {
65959
- _this10.runTask(function () {
65960
- _this10.createApplication();
65772
+ _this11.runTask(function () {
65773
+ _this11.createApplication();
65961
65774
 
65962
- _this10.add('router:main', _emberRouting.Router.extend({
65775
+ _this11.add('router:main', _emberRouting.Router.extend({
65963
65776
  location: 'none'
65964
65777
  }));
65965
65778
 
65966
- _this10.router.map(function () {
65779
+ _this11.router.map(function () {
65967
65780
  this.route('post', { path: 'post/:post_id' });
65968
65781
  });
65969
65782
 
65970
- _this10.addTemplate('application', '{{#link-to \'post\'}}Post{{/link-to}}');
65783
+ _this11.addTemplate('application', '{{#link-to \'post\'}}Post{{/link-to}}');
65971
65784
  });
65972
65785
  }, /(You attempted to define a `\{\{link-to "post"\}\}` but did not pass the parameters required for generating its dynamic segments.|You must provide param `post_id` to `generate`)/);
65973
65786
  };
@@ -74413,9 +74226,31 @@ enifed('ember/tests/routing/router_service_test/transitionTo_test', ['ember-babe
74413
74226
  });
74414
74227
  };
74415
74228
 
74416
- _class.prototype['@test RouterService#transitionTo with unspecified query params'] = function (assert) {
74229
+ _class.prototype['@test RouterService#transitionTo passing only queryParams works'] = function (assert) {
74417
74230
  var _this10 = this;
74418
74231
 
74232
+ assert.expect(2);
74233
+
74234
+ this.add('controller:parent.child', _emberRuntime.Controller.extend({
74235
+ queryParams: ['sort']
74236
+ }));
74237
+
74238
+ var queryParams = this.buildQueryParams({ sort: 'DESC' });
74239
+
74240
+ return this.visit('/').then(function () {
74241
+ return _this10.routerService.transitionTo('parent.child');
74242
+ }).then(function () {
74243
+ assert.equal(_this10.routerService.get('currentURL'), '/child');
74244
+ }).then(function () {
74245
+ return _this10.routerService.transitionTo(queryParams);
74246
+ }).then(function () {
74247
+ assert.equal(_this10.routerService.get('currentURL'), '/child?sort=DESC');
74248
+ });
74249
+ };
74250
+
74251
+ _class.prototype['@test RouterService#transitionTo with unspecified query params'] = function (assert) {
74252
+ var _this11 = this;
74253
+
74419
74254
  assert.expect(1);
74420
74255
 
74421
74256
  this.add('controller:parent.child', _emberRuntime.Controller.extend({
@@ -74428,14 +74263,14 @@ enifed('ember/tests/routing/router_service_test/transitionTo_test', ['ember-babe
74428
74263
  var queryParams = this.buildQueryParams({ sort: 'ASC' });
74429
74264
 
74430
74265
  return this.visit('/').then(function () {
74431
- return _this10.routerService.transitionTo('parent.child', queryParams);
74266
+ return _this11.routerService.transitionTo('parent.child', queryParams);
74432
74267
  }).then(function () {
74433
- assert.equal(_this10.routerService.get('currentURL'), '/child?sort=ASC');
74268
+ assert.equal(_this11.routerService.get('currentURL'), '/child?sort=ASC');
74434
74269
  });
74435
74270
  };
74436
74271
 
74437
74272
  _class.prototype['@test RouterService#transitionTo with aliased query params uses the original provided key'] = function (assert) {
74438
- var _this11 = this;
74273
+ var _this12 = this;
74439
74274
 
74440
74275
  assert.expect(1);
74441
74276
 
@@ -74449,14 +74284,14 @@ enifed('ember/tests/routing/router_service_test/transitionTo_test', ['ember-babe
74449
74284
  var queryParams = this.buildQueryParams({ url_sort: 'ASC' });
74450
74285
 
74451
74286
  return this.visit('/').then(function () {
74452
- return _this11.routerService.transitionTo('parent.child', queryParams);
74287
+ return _this12.routerService.transitionTo('parent.child', queryParams);
74453
74288
  }).then(function () {
74454
- assert.equal(_this11.routerService.get('currentURL'), '/child?url_sort=ASC');
74289
+ assert.equal(_this12.routerService.get('currentURL'), '/child?url_sort=ASC');
74455
74290
  });
74456
74291
  };
74457
74292
 
74458
74293
  _class.prototype['@test RouterService#transitionTo with aliased query params uses the original provided key when controller property name'] = function (assert) {
74459
- var _this12 = this;
74294
+ var _this13 = this;
74460
74295
 
74461
74296
  assert.expect(1);
74462
74297
 
@@ -74471,7 +74306,7 @@ enifed('ember/tests/routing/router_service_test/transitionTo_test', ['ember-babe
74471
74306
 
74472
74307
  return this.visit('/').then(function () {
74473
74308
  expectAssertion(function () {
74474
- return _this12.routerService.transitionTo('parent.child', queryParams);
74309
+ return _this13.routerService.transitionTo('parent.child', queryParams);
74475
74310
  }, 'You passed the `cont_sort` query parameter during a transition into parent.child, please update to url_sort');
74476
74311
  });
74477
74312
  };
@@ -77404,16 +77239,17 @@ enifed('internal-test-helpers/tests/index-test', [], function () {
77404
77239
  assert.ok(true, 'each package needs at least one test to be able to run through `npm test`');
77405
77240
  });
77406
77241
  });
77242
+ /*global enifed */
77407
77243
  enifed('node-module', ['exports'], function(_exports) {
77408
77244
  var IS_NODE = typeof module === 'object' && typeof module.require === 'function';
77409
77245
  if (IS_NODE) {
77410
77246
  _exports.require = module.require;
77411
77247
  _exports.module = module;
77412
- _exports.IS_NODE = IS_NODE
77248
+ _exports.IS_NODE = IS_NODE;
77413
77249
  } else {
77414
77250
  _exports.require = null;
77415
77251
  _exports.module = null;
77416
- _exports.IS_NODE = IS_NODE
77252
+ _exports.IS_NODE = IS_NODE;
77417
77253
  }
77418
77254
  });
77419
77255
  enifed("simple-html-tokenizer", ["exports"], function (exports) {