ember-source 2.16.3 → 2.17.0.beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@
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.16.3
9
+ * @version 2.17.0-beta.4
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -6,7 +6,7 @@
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.16.3
9
+ * @version 2.17.0-beta.4
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -684,6 +684,31 @@ enifed('container/tests/container_test', ['ember-babel', 'ember-utils', 'ember-m
684
684
  assert.deepEqual(instance1.constructor, instance2.constructor);
685
685
  });
686
686
 
687
+ QUnit.test('can properly reset cache', function (assert) {
688
+ var registry = new _container.Registry();
689
+ var container = registry.container();
690
+
691
+ var Component = (0, _internalTestHelpers.factory)();
692
+ registry.register('component:foo-bar', Component);
693
+
694
+ var factory1 = container.factoryFor('component:foo-bar');
695
+ var factory2 = container.factoryFor('component:foo-bar');
696
+
697
+ var instance1 = container.lookup('component:foo-bar');
698
+ var instance2 = container.lookup('component:foo-bar');
699
+
700
+ assert.equal(instance1, instance2);
701
+ assert.equal(factory1, factory2);
702
+
703
+ container.reset();
704
+
705
+ var factory3 = container.factoryFor('component:foo-bar');
706
+ var instance3 = container.lookup('component:foo-bar');
707
+
708
+ assert.notEqual(instance1, instance3);
709
+ assert.notEqual(factory1, factory3);
710
+ });
711
+
687
712
  QUnit.test('#factoryFor created instances come with instance injections', function (assert) {
688
713
  var registry = new _container.Registry();
689
714
  var container = registry.container();
@@ -8312,7 +8337,7 @@ QUnit.test('should pass ESLint', function(assert) {
8312
8337
  assert.ok(true, 'ember-glimmer/tests/integration/application/actions-test.js should pass ESLint\n\n');
8313
8338
  });
8314
8339
 
8315
- enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-glimmer/tests/utils/helpers', 'ember-runtime', 'ember-glimmer', 'ember-application', 'ember-routing'], function (_emberBabel, _testCase, _abstractTestCase, _helpers, _emberRuntime, _emberGlimmer, _emberApplication, _emberRouting) {
8340
+ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-glimmer/tests/utils/helpers', 'ember-runtime', 'ember-glimmer', 'ember-application', 'ember-routing', 'ember-metal'], function (_emberBabel, _testCase, _abstractTestCase, _helpers, _emberRuntime, _emberGlimmer, _emberApplication, _emberRouting, _emberMetal) {
8316
8341
  'use strict';
8317
8342
 
8318
8343
  var _templateObject = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n <h1>{{contextType}}</h1>\n {{ambiguous-curlies}}\n\n {{outlet}}\n '], ['\n <h1>{{contextType}}</h1>\n {{ambiguous-curlies}}\n\n {{outlet}}\n ']),
@@ -8678,8 +8703,15 @@ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel'
8678
8703
 
8679
8704
  assert.expect(2);
8680
8705
 
8706
+ var errorEntered = _emberRuntime.RSVP.defer();
8707
+
8681
8708
  this.setupAppAndRoutableEngine();
8682
8709
  this.additionalEngineRegistrations(function () {
8710
+ this.register('route:application_error', _emberRouting.Route.extend({
8711
+ activate: function () {
8712
+ _emberMetal.run.next(errorEntered.resolve);
8713
+ }
8714
+ }));
8683
8715
  this.register('template:application_error', (0, _helpers.compile)('Error! {{model.message}}'));
8684
8716
  this.register('route:post', _emberRouting.Route.extend({
8685
8717
  model: function () {
@@ -8691,6 +8723,8 @@ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel'
8691
8723
  return this.visit('/').then(function () {
8692
8724
  _this12.assertText('Application');
8693
8725
  return _this12.transitionTo('blog.post');
8726
+ }).then(function () {
8727
+ return errorEntered.promise;
8694
8728
  }).then(function () {
8695
8729
  _this12.assertText('ApplicationError! Oh, noes!');
8696
8730
  });
@@ -8701,8 +8735,15 @@ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel'
8701
8735
 
8702
8736
  assert.expect(2);
8703
8737
 
8738
+ var errorEntered = _emberRuntime.RSVP.defer();
8739
+
8704
8740
  this.setupAppAndRoutableEngine();
8705
8741
  this.additionalEngineRegistrations(function () {
8742
+ this.register('route:error', _emberRouting.Route.extend({
8743
+ activate: function () {
8744
+ _emberMetal.run.next(errorEntered.resolve);
8745
+ }
8746
+ }));
8706
8747
  this.register('template:error', (0, _helpers.compile)('Error! {{model.message}}'));
8707
8748
  this.register('route:post', _emberRouting.Route.extend({
8708
8749
  model: function () {
@@ -8714,6 +8755,8 @@ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel'
8714
8755
  return this.visit('/').then(function () {
8715
8756
  _this13.assertText('Application');
8716
8757
  return _this13.transitionTo('blog.post');
8758
+ }).then(function () {
8759
+ return errorEntered.promise;
8717
8760
  }).then(function () {
8718
8761
  _this13.assertText('ApplicationEngineError! Oh, noes!');
8719
8762
  });
@@ -8724,8 +8767,15 @@ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel'
8724
8767
 
8725
8768
  assert.expect(2);
8726
8769
 
8770
+ var errorEntered = _emberRuntime.RSVP.defer();
8771
+
8727
8772
  this.setupAppAndRoutableEngine();
8728
8773
  this.additionalEngineRegistrations(function () {
8774
+ this.register('route:post_error', _emberRouting.Route.extend({
8775
+ activate: function () {
8776
+ _emberMetal.run.next(errorEntered.resolve);
8777
+ }
8778
+ }));
8729
8779
  this.register('template:post_error', (0, _helpers.compile)('Error! {{model.message}}'));
8730
8780
  this.register('route:post', _emberRouting.Route.extend({
8731
8781
  model: function () {
@@ -8737,6 +8787,8 @@ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel'
8737
8787
  return this.visit('/').then(function () {
8738
8788
  _this14.assertText('Application');
8739
8789
  return _this14.transitionTo('blog.post');
8790
+ }).then(function () {
8791
+ return errorEntered.promise;
8740
8792
  }).then(function () {
8741
8793
  _this14.assertText('ApplicationEngineError! Oh, noes!');
8742
8794
  });
@@ -8747,8 +8799,15 @@ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel'
8747
8799
 
8748
8800
  assert.expect(2);
8749
8801
 
8802
+ var errorEntered = _emberRuntime.RSVP.defer();
8803
+
8750
8804
  this.setupAppAndRoutableEngine();
8751
8805
  this.additionalEngineRegistrations(function () {
8806
+ this.register('route:post.error', _emberRouting.Route.extend({
8807
+ activate: function () {
8808
+ _emberMetal.run.next(errorEntered.resolve);
8809
+ }
8810
+ }));
8752
8811
  this.register('template:post.error', (0, _helpers.compile)('Error! {{model.message}}'));
8753
8812
  this.register('route:post.comments', _emberRouting.Route.extend({
8754
8813
  model: function () {
@@ -8760,6 +8819,8 @@ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel'
8760
8819
  return this.visit('/').then(function () {
8761
8820
  _this15.assertText('Application');
8762
8821
  return _this15.transitionTo('blog.post.comments');
8822
+ }).then(function () {
8823
+ return errorEntered.promise;
8763
8824
  }).then(function () {
8764
8825
  _this15.assertText('ApplicationEngineError! Oh, noes!');
8765
8826
  });
@@ -8769,18 +8830,23 @@ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel'
8769
8830
  var _this16 = this;
8770
8831
 
8771
8832
  assert.expect(3);
8833
+ var done = assert.async();
8772
8834
 
8773
- var resolveLoading = void 0;
8835
+ var loadingEntered = _emberRuntime.RSVP.defer();
8836
+ var resolveLoading = _emberRuntime.RSVP.defer();
8774
8837
 
8775
8838
  this.setupAppAndRoutableEngine();
8776
8839
  this.additionalEngineRegistrations(function () {
8840
+ this.register('route:application_loading', _emberRouting.Route.extend({
8841
+ activate: function () {
8842
+ _emberMetal.run.next(loadingEntered.resolve);
8843
+ }
8844
+ }));
8777
8845
  this.register('template:application_loading', (0, _helpers.compile)('Loading'));
8778
8846
  this.register('template:post', (0, _helpers.compile)('Post'));
8779
8847
  this.register('route:post', _emberRouting.Route.extend({
8780
8848
  model: function () {
8781
- return new _emberRuntime.RSVP.Promise(function (resolve) {
8782
- resolveLoading = resolve;
8783
- });
8849
+ return resolveLoading.promise;
8784
8850
  }
8785
8851
  }));
8786
8852
  });
@@ -8789,16 +8855,17 @@ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel'
8789
8855
  _this16.assertText('Application');
8790
8856
  var transition = _this16.transitionTo('blog.post');
8791
8857
 
8792
- _this16.runTaskNext(function () {
8858
+ loadingEntered.promise.then(function () {
8793
8859
  _this16.assertText('ApplicationLoading');
8794
- resolveLoading();
8795
- });
8860
+ resolveLoading.resolve();
8796
8861
 
8797
- return transition.then(function () {
8798
8862
  _this16.runTaskNext(function () {
8799
- return _this16.assertText('ApplicationEnginePost');
8863
+ _this16.assertText('ApplicationEnginePost');
8864
+ done();
8800
8865
  });
8801
8866
  });
8867
+
8868
+ return transition;
8802
8869
  });
8803
8870
  };
8804
8871
 
@@ -8806,18 +8873,23 @@ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel'
8806
8873
  var _this17 = this;
8807
8874
 
8808
8875
  assert.expect(3);
8876
+ var done = assert.async();
8809
8877
 
8810
- var resolveLoading = void 0;
8878
+ var loadingEntered = _emberRuntime.RSVP.defer();
8879
+ var resolveLoading = _emberRuntime.RSVP.defer();
8811
8880
 
8812
8881
  this.setupAppAndRoutableEngine();
8813
8882
  this.additionalEngineRegistrations(function () {
8883
+ this.register('route:loading', _emberRouting.Route.extend({
8884
+ activate: function () {
8885
+ _emberMetal.run.next(loadingEntered.resolve);
8886
+ }
8887
+ }));
8814
8888
  this.register('template:loading', (0, _helpers.compile)('Loading'));
8815
8889
  this.register('template:post', (0, _helpers.compile)('Post'));
8816
8890
  this.register('route:post', _emberRouting.Route.extend({
8817
8891
  model: function () {
8818
- return new _emberRuntime.RSVP.Promise(function (resolve) {
8819
- resolveLoading = resolve;
8820
- });
8892
+ return resolveLoading.promise;
8821
8893
  }
8822
8894
  }));
8823
8895
  });
@@ -8826,16 +8898,17 @@ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel'
8826
8898
  _this17.assertText('Application');
8827
8899
  var transition = _this17.transitionTo('blog.post');
8828
8900
 
8829
- _this17.runTaskNext(function () {
8901
+ loadingEntered.promise.then(function () {
8830
8902
  _this17.assertText('ApplicationEngineLoading');
8831
- resolveLoading();
8832
- });
8903
+ resolveLoading.resolve();
8833
8904
 
8834
- return transition.then(function () {
8835
8905
  _this17.runTaskNext(function () {
8836
- return _this17.assertText('ApplicationEnginePost');
8906
+ _this17.assertText('ApplicationEnginePost');
8907
+ done();
8837
8908
  });
8838
8909
  });
8910
+
8911
+ return transition;
8839
8912
  });
8840
8913
  };
8841
8914
 
@@ -8882,20 +8955,25 @@ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel'
8882
8955
  var _this19 = this;
8883
8956
 
8884
8957
  assert.expect(3);
8958
+ var done = assert.async();
8885
8959
 
8886
- var resolveLoading = void 0;
8960
+ var loadingEntered = _emberRuntime.RSVP.defer();
8961
+ var resolveLoading = _emberRuntime.RSVP.defer();
8887
8962
 
8888
8963
  this.setupAppAndRoutableEngine();
8889
8964
  this.additionalEngineRegistrations(function () {
8890
8965
  this.register('template:post', (0, _helpers.compile)('{{outlet}}'));
8891
8966
  this.register('template:post.comments', (0, _helpers.compile)('Comments'));
8967
+ this.register('route:post.loading', _emberRouting.Route.extend({
8968
+ activate: function () {
8969
+ _emberMetal.run.next(loadingEntered.resolve);
8970
+ }
8971
+ }));
8892
8972
  this.register('template:post.loading', (0, _helpers.compile)('Loading'));
8893
8973
  this.register('template:post.likes', (0, _helpers.compile)('Likes'));
8894
8974
  this.register('route:post.likes', _emberRouting.Route.extend({
8895
8975
  model: function () {
8896
- return new _emberRuntime.RSVP.Promise(function (resolve) {
8897
- resolveLoading = resolve;
8898
- });
8976
+ return resolveLoading.promise;
8899
8977
  }
8900
8978
  }));
8901
8979
  });
@@ -8904,16 +8982,17 @@ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel'
8904
8982
  _this19.assertText('ApplicationEngineComments');
8905
8983
  var transition = _this19.transitionTo('blog.post.likes');
8906
8984
 
8907
- _this19.runTaskNext(function () {
8985
+ loadingEntered.promise.then(function () {
8908
8986
  _this19.assertText('ApplicationEngineLoading');
8909
- resolveLoading();
8910
- });
8987
+ resolveLoading.resolve();
8911
8988
 
8912
- return transition.then(function () {
8913
8989
  _this19.runTaskNext(function () {
8914
- return _this19.assertText('ApplicationEngineLikes');
8990
+ _this19.assertText('ApplicationEngineLikes');
8991
+ done();
8915
8992
  });
8916
8993
  });
8994
+
8995
+ return transition;
8917
8996
  });
8918
8997
  };
8919
8998
 
@@ -8958,6 +9037,77 @@ enifed('ember-glimmer/tests/integration/application/engine-test', ['ember-babel'
8958
9037
  });
8959
9038
  };
8960
9039
 
9040
+ _class.prototype['@test visit() routable engine which errors on init'] = function testVisitRoutableEngineWhichErrorsOnInit(assert) {
9041
+ var _this22 = this;
9042
+
9043
+ assert.expect(1);
9044
+
9045
+ var hooks = [];
9046
+
9047
+ this.additionalEngineRegistrations(function () {
9048
+ this.register('route:application', _emberRouting.Route.extend({
9049
+ init: function () {
9050
+ throw new Error('Whoops! Something went wrong...');
9051
+ }
9052
+ }));
9053
+ });
9054
+
9055
+ this.setupAppAndRoutableEngine(hooks);
9056
+
9057
+ return this.visit('/', { shouldRender: true }).then(function () {
9058
+ return _this22.visit('/blog');
9059
+ }).catch(function (error) {
9060
+ assert.equal(error.message, 'Whoops! Something went wrong...');
9061
+ });
9062
+ };
9063
+
9064
+ (0, _emberBabel.createClass)(_class, [{
9065
+ key: 'routerOptions',
9066
+ get: function () {
9067
+ var assert = this.assert;
9068
+
9069
+ return {
9070
+ location: 'none',
9071
+
9072
+ _getHandlerFunction: function () {
9073
+ var _this23 = this;
9074
+
9075
+ var syncHandler = this._super.apply(this, arguments);
9076
+ this._enginePromises = Object.create(null);
9077
+ this._resolvedEngines = Object.create(null);
9078
+
9079
+ return function (name) {
9080
+ var engineInfo = _this23._engineInfoByRoute[name];
9081
+ if (!engineInfo) {
9082
+ return syncHandler(name);
9083
+ }
9084
+
9085
+ var engineName = engineInfo.name;
9086
+ if (_this23._resolvedEngines[engineName]) {
9087
+ return syncHandler(name);
9088
+ }
9089
+
9090
+ var enginePromise = _this23._enginePromises[engineName];
9091
+
9092
+ if (!enginePromise) {
9093
+ enginePromise = new _emberRuntime.RSVP.Promise(function (resolve) {
9094
+ setTimeout(function () {
9095
+ _this23._resolvedEngines[engineName] = true;
9096
+
9097
+ resolve();
9098
+ }, 1);
9099
+ });
9100
+ _this23._enginePromises[engineName] = enginePromise;
9101
+ }
9102
+
9103
+ return enginePromise.then(function () {
9104
+ return syncHandler(name);
9105
+ });
9106
+ };
9107
+ }
9108
+ };
9109
+ }
9110
+ }]);
8961
9111
  return _class;
8962
9112
  }(_testCase.ApplicationTest));
8963
9113
  });
@@ -17476,109 +17626,6 @@ QUnit.test('should pass ESLint', function(assert) {
17476
17626
  assert.ok(true, 'ember-glimmer/tests/integration/components/dynamic-components-test.js should pass ESLint\n\n');
17477
17627
  });
17478
17628
 
17479
- 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) {
17480
- 'use strict';
17481
-
17482
- (0, _testCase.moduleFor)('Errors thrown during render', function (_RenderingTest) {
17483
- (0, _emberBabel.inherits)(_class, _RenderingTest);
17484
-
17485
- function _class() {
17486
- (0, _emberBabel.classCallCheck)(this, _class);
17487
- return (0, _emberBabel.possibleConstructorReturn)(this, _RenderingTest.apply(this, arguments));
17488
- }
17489
-
17490
- _class.prototype['@test it can recover resets the transaction when an error is thrown during initial render'] = function testItCanRecoverResetsTheTransactionWhenAnErrorIsThrownDuringInitialRender(assert) {
17491
- var _this2 = this;
17492
-
17493
- var shouldThrow = true;
17494
- var FooBarComponent = _helpers.Component.extend({
17495
- init: function () {
17496
- this._super.apply(this, arguments);
17497
- if (shouldThrow) {
17498
- throw new Error('silly mistake in init!');
17499
- }
17500
- }
17501
- });
17502
-
17503
- this.registerComponent('foo-bar', { ComponentClass: FooBarComponent, template: 'hello' });
17504
-
17505
- assert.throws(function () {
17506
- _this2.render('{{#if switch}}{{#foo-bar}}{{foo-bar}}{{/foo-bar}}{{/if}}', { switch: true });
17507
- }, /silly mistake in init/);
17508
-
17509
- assert.equal(this.env.inTransaction, false, 'should not be in a transaction even though an error was thrown');
17510
-
17511
- this.assertText('');
17512
-
17513
- this.runTask(function () {
17514
- return (0, _emberMetal.set)(_this2.context, 'switch', false);
17515
- });
17516
-
17517
- shouldThrow = false;
17518
-
17519
- this.runTask(function () {
17520
- return (0, _emberMetal.set)(_this2.context, 'switch', true);
17521
- });
17522
-
17523
- this.assertText('hello');
17524
- };
17525
-
17526
- _class.prototype['@test it can recover resets the transaction when an error is thrown during rerender'] = function testItCanRecoverResetsTheTransactionWhenAnErrorIsThrownDuringRerender(assert) {
17527
- var _this3 = this;
17528
-
17529
- var shouldThrow = false;
17530
- var FooBarComponent = _helpers.Component.extend({
17531
- init: function () {
17532
- this._super.apply(this, arguments);
17533
- if (shouldThrow) {
17534
- throw new Error('silly mistake in init!');
17535
- }
17536
- }
17537
- });
17538
-
17539
- this.registerComponent('foo-bar', { ComponentClass: FooBarComponent, template: 'hello' });
17540
-
17541
- this.render('{{#if switch}}{{#foo-bar}}{{foo-bar}}{{/foo-bar}}{{/if}}', { switch: true });
17542
-
17543
- this.assertText('hello');
17544
-
17545
- this.runTask(function () {
17546
- return (0, _emberMetal.set)(_this3.context, 'switch', false);
17547
- });
17548
-
17549
- shouldThrow = true;
17550
-
17551
- assert.throws(function () {
17552
- _this3.runTask(function () {
17553
- return (0, _emberMetal.set)(_this3.context, 'switch', true);
17554
- });
17555
- }, /silly mistake in init/);
17556
-
17557
- assert.equal(this.env.inTransaction, false, 'should not be in a transaction even though an error was thrown');
17558
-
17559
- this.assertText('');
17560
-
17561
- this.runTask(function () {
17562
- return (0, _emberMetal.set)(_this3.context, 'switch', false);
17563
- });
17564
- shouldThrow = false;
17565
-
17566
- this.runTask(function () {
17567
- return (0, _emberMetal.set)(_this3.context, 'switch', true);
17568
- });
17569
-
17570
- this.assertText('hello');
17571
- };
17572
-
17573
- return _class;
17574
- }(_testCase.RenderingTest));
17575
- });
17576
- QUnit.module('ESLint | ember-glimmer/tests/integration/components/error-handling-test.js');
17577
- QUnit.test('should pass ESLint', function(assert) {
17578
- assert.expect(1);
17579
- assert.ok(true, 'ember-glimmer/tests/integration/components/error-handling-test.js should pass ESLint\n\n');
17580
- });
17581
-
17582
17629
  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) {
17583
17630
  'use strict';
17584
17631
 
@@ -30090,16 +30137,10 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
30090
30137
  _templateObject2 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with model as |item|}}\n {{item.name}}: {{partial \'show-id\'}}\n {{/with}}'], ['\n {{#with model as |item|}}\n {{item.name}}: {{partial \'show-id\'}}\n {{/with}}']),
30091
30138
  _templateObject3 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each items as |item|}}\n {{item.id}}: {{partial \'show-item\'}} |\n {{/each}}'], ['\n {{#each items as |item|}}\n {{item.id}}: {{partial \'show-item\'}} |\n {{/each}}']),
30092
30139
  _templateObject4 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each items as |item|}}\n {{item}}: {{partial \'show-item\'}} |\n {{/each}}'], ['\n {{#each items as |item|}}\n {{item}}: {{partial \'show-item\'}} |\n {{/each}}']),
30093
- _templateObject5 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n [outer: {{name}}] {{partial \'inner-partial\'}}\n '], ['\n [outer: {{name}}] {{partial \'inner-partial\'}}\n ']),
30094
- _templateObject6 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each names as |name i|}}\n {{i}}: {{partial \'outer-partial\'}}\n {{/each}}'], ['\n {{#each names as |name i|}}\n {{i}}: {{partial \'outer-partial\'}}\n {{/each}}']),
30095
- _templateObject7 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with \'Ben\' as |person2|}}\n Hi {{person1}} (aged {{age}}) and {{person2}}. {{partial \'person3-partial\'}}\n {{/with}}\n '], ['\n {{#with \'Ben\' as |person2|}}\n Hi {{person1}} (aged {{age}}) and {{person2}}. {{partial \'person3-partial\'}}\n {{/with}}\n ']),
30096
- _templateObject8 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with \'Alex\' as |person3|}}\n Hi {{person1}} (aged {{age}}), {{person2}} and {{person3}}. {{partial \'person4-partial\'}}\n {{/with}}\n '], ['\n {{#with \'Alex\' as |person3|}}\n Hi {{person1}} (aged {{age}}), {{person2}} and {{person3}}. {{partial \'person4-partial\'}}\n {{/with}}\n ']),
30097
- _templateObject9 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with \'Sarah\' as |person4|}}\n Hi {{person1}} (aged {{age}}), {{person2}}, {{person3}} and {{person4}}.\n {{/with}}\n '], ['\n {{#with \'Sarah\' as |person4|}}\n Hi {{person1}} (aged {{age}}), {{person2}}, {{person3}} and {{person4}}.\n {{/with}}\n ']),
30098
- _templateObject10 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with \'Sophie\' as |person1|}}\n Hi {{person1}} (aged {{age}}). {{partial \'person2-partial\'}}\n {{/with}}'], ['\n {{#with \'Sophie\' as |person1|}}\n Hi {{person1}} (aged {{age}}). {{partial \'person2-partial\'}}\n {{/with}}']),
30099
- _templateObject11 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each model.items as |template i|}}\n {{model.type}}: {{partial template}}\n {{/each}}'], ['\n {{#each model.items as |template i|}}\n {{model.type}}: {{partial template}}\n {{/each}}']),
30100
- _templateObject12 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with item.thing as |t|}}\n {{partial t}}\n {{else}}\n Nothing!\n {{/with}}'], ['\n {{#with item.thing as |t|}}\n {{partial t}}\n {{else}}\n Nothing!\n {{/with}}']),
30101
- _templateObject13 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#outer.inner as |inner|}}\n inner.name: {{inner.name}}\n {{/outer.inner}}\n '], ['\n {{#outer.inner as |inner|}}\n inner.name: {{inner.name}}\n {{/outer.inner}}\n ']),
30102
- _templateObject14 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#outer-component name=name as |outer|}}\n {{partial \'some-partial\'}}\n {{/outer-component}}'], ['\n {{#outer-component name=name as |outer|}}\n {{partial \'some-partial\'}}\n {{/outer-component}}']);
30140
+ _templateObject5 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#each model.items as |template i|}}\n {{model.type}}: {{partial template}}\n {{/each}}'], ['\n {{#each model.items as |template i|}}\n {{model.type}}: {{partial template}}\n {{/each}}']),
30141
+ _templateObject6 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#with item.thing as |t|}}\n {{partial t}}\n {{else}}\n Nothing!\n {{/with}}'], ['\n {{#with item.thing as |t|}}\n {{partial t}}\n {{else}}\n Nothing!\n {{/with}}']),
30142
+ _templateObject7 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#outer.inner as |inner|}}\n inner.name: {{inner.name}}\n {{/outer.inner}}\n '], ['\n {{#outer.inner as |inner|}}\n inner.name: {{inner.name}}\n {{/outer.inner}}\n ']),
30143
+ _templateObject8 = (0, _emberBabel.taggedTemplateLiteralLoose)(['\n {{#outer-component name=name as |outer|}}\n {{partial \'some-partial\'}}\n {{/outer-component}}'], ['\n {{#outer-component name=name as |outer|}}\n {{partial \'some-partial\'}}\n {{/outer-component}}']);
30103
30144
 
30104
30145
  (0, _testCase.moduleFor)('Helpers test: {{partial}}', function (_RenderingTest) {
30105
30146
  (0, _emberBabel.inherits)(_class, _RenderingTest);
@@ -30305,69 +30346,13 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
30305
30346
  this.assertText('apple: apple |: |orange: orange |banana: banana |');
30306
30347
  };
30307
30348
 
30308
- _class.prototype['@test nested partials using data from {{#each}}'] = function testNestedPartialsUsingDataFromEach() {
30309
- var _this8 = this;
30310
-
30311
- this.registerPartial('_outer-partial', (0, _abstractTestCase.strip)(_templateObject5));
30312
-
30313
- this.registerPartial('inner-partial', '[inner: {{name}}]');
30314
-
30315
- this.render((0, _abstractTestCase.strip)(_templateObject6), {
30316
- names: (0, _emberRuntime.A)(['Alex', 'Ben'])
30317
- });
30318
-
30319
- this.assertStableRerender();
30320
-
30321
- this.assertText('0: [outer: Alex] [inner: Alex]1: [outer: Ben] [inner: Ben]');
30322
-
30323
- this.runTask(function () {
30324
- return _this8.context.names.pushObject('Sophie');
30325
- });
30326
-
30327
- this.assertText('0: [outer: Alex] [inner: Alex]1: [outer: Ben] [inner: Ben]2: [outer: Sophie] [inner: Sophie]');
30328
-
30329
- this.runTask(function () {
30330
- return (0, _emberMetal.set)(_this8.context, 'names', (0, _emberRuntime.A)(['Alex', 'Ben']));
30331
- });
30332
-
30333
- this.assertText('0: [outer: Alex] [inner: Alex]1: [outer: Ben] [inner: Ben]');
30334
- };
30335
-
30336
- _class.prototype['@test nested partials within nested `{{#with}}` blocks'] = function testNestedPartialsWithinNestedWithBlocks() {
30337
- var _this9 = this;
30338
-
30339
- this.registerPartial('_person2-partial', (0, _abstractTestCase.strip)(_templateObject7));
30340
-
30341
- this.registerPartial('_person3-partial', (0, _abstractTestCase.strip)(_templateObject8));
30342
-
30343
- this.registerPartial('_person4-partial', (0, _abstractTestCase.strip)(_templateObject9));
30344
-
30345
- this.render((0, _abstractTestCase.strip)(_templateObject10), { age: 0 });
30346
-
30347
- this.assertStableRerender();
30348
-
30349
- this.assertText('Hi Sophie (aged 0). Hi Sophie (aged 0) and Ben. Hi Sophie (aged 0), Ben and Alex. Hi Sophie (aged 0), Ben, Alex and Sarah.');
30350
-
30351
- this.runTask(function () {
30352
- return (0, _emberMetal.set)(_this9.context, 'age', 1);
30353
- });
30354
-
30355
- this.assertText('Hi Sophie (aged 1). Hi Sophie (aged 1) and Ben. Hi Sophie (aged 1), Ben and Alex. Hi Sophie (aged 1), Ben, Alex and Sarah.');
30356
-
30357
- this.runTask(function () {
30358
- return (0, _emberMetal.set)(_this9.context, 'age', 0);
30359
- });
30360
-
30361
- this.assertText('Hi Sophie (aged 0). Hi Sophie (aged 0) and Ben. Hi Sophie (aged 0), Ben and Alex. Hi Sophie (aged 0), Ben, Alex and Sarah.');
30362
- };
30363
-
30364
30349
  _class.prototype['@test dynamic partials in {{#each}}'] = function testDynamicPartialsInEach() {
30365
- var _this10 = this;
30350
+ var _this8 = this;
30366
30351
 
30367
30352
  this.registerPartial('_odd', 'ODD{{i}}');
30368
30353
  this.registerPartial('_even', 'EVEN{{i}}');
30369
30354
 
30370
- this.render((0, _abstractTestCase.strip)(_templateObject11), {
30355
+ this.render((0, _abstractTestCase.strip)(_templateObject5), {
30371
30356
  model: {
30372
30357
  items: ['even', 'odd', 'even', 'odd'],
30373
30358
  type: 'number'
@@ -30379,13 +30364,13 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
30379
30364
  this.assertText('number: EVEN0number: ODD1number: EVEN2number: ODD3');
30380
30365
 
30381
30366
  this.runTask(function () {
30382
- return (0, _emberMetal.set)(_this10.context, 'model.type', 'integer');
30367
+ return (0, _emberMetal.set)(_this8.context, 'model.type', 'integer');
30383
30368
  });
30384
30369
 
30385
30370
  this.assertText('integer: EVEN0integer: ODD1integer: EVEN2integer: ODD3');
30386
30371
 
30387
30372
  this.runTask(function () {
30388
- return (0, _emberMetal.set)(_this10.context, 'model', {
30373
+ return (0, _emberMetal.set)(_this8.context, 'model', {
30389
30374
  items: ['even', 'odd', 'even', 'odd'],
30390
30375
  type: 'number'
30391
30376
  });
@@ -30395,11 +30380,11 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
30395
30380
  };
30396
30381
 
30397
30382
  _class.prototype['@test dynamic partials in {{#with}}'] = function testDynamicPartialsInWith() {
30398
- var _this11 = this;
30383
+ var _this9 = this;
30399
30384
 
30400
30385
  this.registerPartial('_thing', '{{t}}');
30401
30386
 
30402
- this.render((0, _abstractTestCase.strip)(_templateObject12), {
30387
+ this.render((0, _abstractTestCase.strip)(_templateObject6), {
30403
30388
  item: { thing: false }
30404
30389
  });
30405
30390
 
@@ -30408,20 +30393,20 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
30408
30393
  this.assertText('Nothing!');
30409
30394
 
30410
30395
  this.runTask(function () {
30411
- return (0, _emberMetal.set)(_this11.context, 'item.thing', 'thing');
30396
+ return (0, _emberMetal.set)(_this9.context, 'item.thing', 'thing');
30412
30397
  });
30413
30398
 
30414
30399
  this.assertText('thing');
30415
30400
 
30416
30401
  this.runTask(function () {
30417
- return (0, _emberMetal.set)(_this11.context, 'item', { thing: false });
30402
+ return (0, _emberMetal.set)(_this9.context, 'item', { thing: false });
30418
30403
  });
30419
30404
 
30420
30405
  this.assertText('Nothing!');
30421
30406
  };
30422
30407
 
30423
30408
  _class.prototype['@test partials which contain contextual components'] = function testPartialsWhichContainContextualComponents() {
30424
- var _this12 = this;
30409
+ var _this10 = this;
30425
30410
 
30426
30411
  this.registerComponent('outer-component', {
30427
30412
  template: '{{yield (hash inner=(component "inner-component" name=name))}}'
@@ -30431,22 +30416,22 @@ enifed('ember-glimmer/tests/integration/helpers/partial-test', ['ember-babel', '
30431
30416
  template: '{{yield (hash name=name)}}'
30432
30417
  });
30433
30418
 
30434
- this.registerPartial('_some-partial', (0, _abstractTestCase.strip)(_templateObject13));
30419
+ this.registerPartial('_some-partial', (0, _abstractTestCase.strip)(_templateObject7));
30435
30420
 
30436
- this.render((0, _abstractTestCase.strip)(_templateObject14), { name: 'Sophie' });
30421
+ this.render((0, _abstractTestCase.strip)(_templateObject8), { name: 'Sophie' });
30437
30422
 
30438
30423
  this.assertStableRerender();
30439
30424
 
30440
30425
  this.assertText('inner.name: Sophie');
30441
30426
 
30442
30427
  this.runTask(function () {
30443
- return (0, _emberMetal.set)(_this12.context, 'name', 'Ben');
30428
+ return (0, _emberMetal.set)(_this10.context, 'name', 'Ben');
30444
30429
  });
30445
30430
 
30446
30431
  this.assertText('inner.name: Ben');
30447
30432
 
30448
30433
  this.runTask(function () {
30449
- return (0, _emberMetal.set)(_this12.context, 'name', 'Sophie');
30434
+ return (0, _emberMetal.set)(_this10.context, 'name', 'Sophie');
30450
30435
  });
30451
30436
 
30452
30437
  this.assertText('inner.name: Sophie');
@@ -42302,19 +42287,19 @@ enifed('ember-metal/tests/map_test', ['ember-metal'], function (_emberMetal) {
42302
42287
  });
42303
42288
 
42304
42289
  QUnit.test('forEach without proper callback', function () {
42305
- QUnit.throws(function () {
42290
+ expectAssertion(function () {
42306
42291
  map.forEach();
42307
42292
  }, '[object Undefined] is not a function');
42308
42293
 
42309
- QUnit.throws(function () {
42294
+ expectAssertion(function () {
42310
42295
  map.forEach(undefined);
42311
42296
  }, '[object Undefined] is not a function');
42312
42297
 
42313
- QUnit.throws(function () {
42298
+ expectAssertion(function () {
42314
42299
  map.forEach(1);
42315
42300
  }, '[object Number] is not a function');
42316
42301
 
42317
- QUnit.throws(function () {
42302
+ expectAssertion(function () {
42318
42303
  map.forEach({});
42319
42304
  }, '[object Object] is not a function');
42320
42305
 
@@ -42323,7 +42308,7 @@ enifed('ember-metal/tests/map_test', ['ember-metal'], function (_emberMetal) {
42323
42308
  });
42324
42309
  // ensure the error happens even if no data is present
42325
42310
  equal(map.size, 0);
42326
- QUnit.throws(function () {
42311
+ expectAssertion(function () {
42327
42312
  map.forEach({});
42328
42313
  }, '[object Object] is not a function');
42329
42314
  });
@@ -42535,13 +42520,6 @@ enifed('ember-metal/tests/map_test', ['ember-metal'], function (_emberMetal) {
42535
42520
  equal(map.constructor, _emberMetal.Map);
42536
42521
  });
42537
42522
 
42538
- QUnit.test('Map() without `new`', function () {
42539
- QUnit.throws(function () {
42540
- // jshint newcap:false
42541
- (0, _emberMetal.Map)();
42542
- }, /Constructor Map requires 'new'/);
42543
- });
42544
-
42545
42523
  QUnit.test('MapWithDefault.prototype.constructor', function () {
42546
42524
  var map = new _emberMetal.MapWithDefault({
42547
42525
  defaultValue: function (key) {
@@ -42590,13 +42568,6 @@ enifed('ember-metal/tests/map_test', ['ember-metal'], function (_emberMetal) {
42590
42568
  }
42591
42569
  });
42592
42570
 
42593
- QUnit.test('OrderedSet() without `new`', function () {
42594
- QUnit.throws(function () {
42595
- // jshint newcap:false
42596
- (0, _emberMetal.OrderedSet)();
42597
- }, /Constructor OrderedSet requires 'new'/);
42598
- });
42599
-
42600
42571
  QUnit.test('add returns the set', function () {
42601
42572
  var obj = {};
42602
42573
  equal(map.add(obj), map);
@@ -46842,7 +46813,7 @@ enifed('ember-metal/tests/watching/watch_test', ['ember-environment', 'ember-met
46842
46813
  equal(meta_objB.peekWatching('foo'), 1, 'should be watching foo');
46843
46814
  equal(meta_objB.readableChainWatchers().has('foo', chainNode), true, 'should have chain watcher');
46844
46815
 
46845
- (0, _emberMetal.destroy)(objA);
46816
+ (0, _emberMetal.deleteMeta)(objA);
46846
46817
 
46847
46818
  equal(meta_objB.peekWatching('foo'), 0, 'should not be watching foo');
46848
46819
  equal(meta_objB.readableChainWatchers().has('foo', chainNode), false, 'should not have chain watcher');
@@ -52726,14 +52697,16 @@ enifed('ember-runtime/tests/inject_test', ['ember-metal', 'ember-runtime/inject'
52726
52697
  });
52727
52698
  }
52728
52699
 
52729
- QUnit.test('factories should return a list of lazy injection full names', function () {
52730
- var AnObject = _object.default.extend({
52731
- foo: new _emberMetal.InjectedProperty('foo', 'bar'),
52732
- bar: new _emberMetal.InjectedProperty('quux')
52733
- });
52700
+ if (true) {
52701
+ QUnit.test('factories should return a list of lazy injection full names', function () {
52702
+ var AnObject = _object.default.extend({
52703
+ foo: new _emberMetal.InjectedProperty('foo', 'bar'),
52704
+ bar: new _emberMetal.InjectedProperty('quux')
52705
+ });
52734
52706
 
52735
- deepEqual(AnObject._lazyInjections(), { 'foo': 'foo:bar', 'bar': 'quux:bar' }, 'should return injected container keys');
52736
- });
52707
+ deepEqual(AnObject._lazyInjections(), { 'foo': 'foo:bar', 'bar': 'quux:bar' }, 'should return injected container keys');
52708
+ });
52709
+ }
52737
52710
  });
52738
52711
  QUnit.module('ESLint | ember-runtime/tests/inject_test.js');
52739
52712
  QUnit.test('should pass ESLint', function(assert) {
@@ -63049,68 +63022,24 @@ enifed('ember-runtime/tests/system/string/camelize_test', ['ember-environment',
63049
63022
  });
63050
63023
  }
63051
63024
 
63052
- QUnit.test('camelize normal string', function () {
63053
- deepEqual((0, _string.camelize)('my favorite items'), 'myFavoriteItems');
63054
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63055
- deepEqual('my favorite items'.camelize(), 'myFavoriteItems');
63056
- }
63057
- });
63058
-
63059
- QUnit.test('camelize capitalized string', function () {
63060
- deepEqual((0, _string.camelize)('I Love Ramen'), 'iLoveRamen');
63061
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63062
- deepEqual('I Love Ramen'.camelize(), 'iLoveRamen');
63063
- }
63064
- });
63065
-
63066
- QUnit.test('camelize dasherized string', function () {
63067
- deepEqual((0, _string.camelize)('css-class-name'), 'cssClassName');
63068
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63069
- deepEqual('css-class-name'.camelize(), 'cssClassName');
63070
- }
63071
- });
63072
-
63073
- QUnit.test('camelize underscored string', function () {
63074
- deepEqual((0, _string.camelize)('action_name'), 'actionName');
63075
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63076
- deepEqual('action_name'.camelize(), 'actionName');
63077
- }
63078
- });
63079
-
63080
- QUnit.test('camelize dot notation string', function () {
63081
- deepEqual((0, _string.camelize)('action.name'), 'actionName');
63082
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63083
- deepEqual('action.name'.camelize(), 'actionName');
63084
- }
63085
- });
63086
-
63087
- QUnit.test('does nothing with camelcased string', function () {
63088
- deepEqual((0, _string.camelize)('innerHTML'), 'innerHTML');
63089
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63090
- deepEqual('innerHTML'.camelize(), 'innerHTML');
63091
- }
63092
- });
63093
-
63094
- QUnit.test('camelize namespaced classified string', function () {
63095
- deepEqual((0, _string.camelize)('PrivateDocs/OwnerInvoice'), 'privateDocs/ownerInvoice');
63096
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63097
- deepEqual('PrivateDocs/OwnerInvoice'.camelize(), 'privateDocs/ownerInvoice');
63098
- }
63099
- });
63100
-
63101
- QUnit.test('camelize namespaced underscored string', function () {
63102
- deepEqual((0, _string.camelize)('private_docs/owner_invoice'), 'privateDocs/ownerInvoice');
63103
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63104
- deepEqual('private_docs/owner_invoice'.camelize(), 'privateDocs/ownerInvoice');
63105
- }
63106
- });
63025
+ function test(given, expected, description) {
63026
+ QUnit.test(description, function () {
63027
+ deepEqual((0, _string.camelize)(given), expected);
63028
+ if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63029
+ deepEqual(given.camelize(), expected);
63030
+ }
63031
+ });
63032
+ }
63107
63033
 
63108
- QUnit.test('camelize namespaced dasherized string', function () {
63109
- deepEqual((0, _string.camelize)('private-docs/owner-invoice'), 'privateDocs/ownerInvoice');
63110
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63111
- deepEqual('private-docs/owner-invoice'.camelize(), 'privateDocs/ownerInvoice');
63112
- }
63113
- });
63034
+ test('my favorite items', 'myFavoriteItems', 'camelize normal string');
63035
+ test('I Love Ramen', 'iLoveRamen', 'camelize capitalized string');
63036
+ test('css-class-name', 'cssClassName', 'camelize dasherized string');
63037
+ test('action_name', 'actionName', 'camelize underscored string');
63038
+ test('action.name', 'actionName', 'camelize dot notation string');
63039
+ test('innerHTML', 'innerHTML', 'does nothing with camelcased string');
63040
+ test('PrivateDocs/OwnerInvoice', 'privateDocs/ownerInvoice', 'camelize namespaced classified string');
63041
+ test('private_docs/owner_invoice', 'privateDocs/ownerInvoice', 'camelize namespaced underscored string');
63042
+ test('private-docs/owner-invoice', 'privateDocs/ownerInvoice', 'camelize namespaced dasherized string');
63114
63043
  });
63115
63044
  QUnit.module('ESLint | ember-runtime/tests/system/string/camelize_test.js');
63116
63045
  QUnit.test('should pass ESLint', function(assert) {
@@ -63129,68 +63058,24 @@ enifed('ember-runtime/tests/system/string/capitalize_test', ['ember-environment'
63129
63058
  });
63130
63059
  }
63131
63060
 
63132
- QUnit.test('capitalize normal string', function () {
63133
- deepEqual((0, _string.capitalize)('my favorite items'), 'My favorite items');
63134
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63135
- deepEqual('my favorite items'.capitalize(), 'My favorite items');
63136
- }
63137
- });
63138
-
63139
- QUnit.test('capitalize dasherized string', function () {
63140
- deepEqual((0, _string.capitalize)('css-class-name'), 'Css-class-name');
63141
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63142
- deepEqual('css-class-name'.capitalize(), 'Css-class-name');
63143
- }
63144
- });
63145
-
63146
- QUnit.test('capitalize underscored string', function () {
63147
- deepEqual((0, _string.capitalize)('action_name'), 'Action_name');
63148
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63149
- deepEqual('action_name'.capitalize(), 'Action_name');
63150
- }
63151
- });
63152
-
63153
- QUnit.test('capitalize camelcased string', function () {
63154
- deepEqual((0, _string.capitalize)('innerHTML'), 'InnerHTML');
63155
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63156
- deepEqual('innerHTML'.capitalize(), 'InnerHTML');
63157
- }
63158
- });
63159
-
63160
- QUnit.test('does nothing with capitalized string', function () {
63161
- deepEqual((0, _string.capitalize)('Capitalized string'), 'Capitalized string');
63162
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63163
- deepEqual('Capitalized string'.capitalize(), 'Capitalized string');
63164
- }
63165
- });
63166
-
63167
- QUnit.test('capitalize namespaced camelized string', function () {
63168
- deepEqual((0, _string.capitalize)('privateDocs/ownerInvoice'), 'PrivateDocs/OwnerInvoice');
63169
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63170
- deepEqual('privateDocs/ownerInvoice'.capitalize(), 'PrivateDocs/OwnerInvoice');
63171
- }
63172
- });
63173
-
63174
- QUnit.test('capitalize namespaced underscored string', function () {
63175
- deepEqual((0, _string.capitalize)('private_docs/owner_invoice'), 'Private_docs/Owner_invoice');
63176
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63177
- deepEqual('private_docs/owner_invoice'.capitalize(), 'Private_docs/Owner_invoice');
63178
- }
63179
- });
63180
-
63181
- QUnit.test('capitalize namespaced dasherized string', function () {
63182
- deepEqual((0, _string.capitalize)('private-docs/owner-invoice'), 'Private-docs/Owner-invoice');
63183
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63184
- deepEqual('private-docs/owner-invoice'.capitalize(), 'Private-docs/Owner-invoice');
63185
- }
63186
- });
63061
+ function test(given, expected, description) {
63062
+ QUnit.test(description, function () {
63063
+ deepEqual((0, _string.capitalize)(given), expected);
63064
+ if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63065
+ deepEqual(given.capitalize(), expected);
63066
+ }
63067
+ });
63068
+ }
63187
63069
 
63188
- QUnit.test('capitalize string with accent character', function () {
63189
- deepEqual((0, _string.capitalize)('šabc'), 'Šabc');
63190
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63191
- deepEqual('šabc'.capitalize(), 'Šabc');
63192
- }
63193
- });
63070
+ test('my favorite items', 'My favorite items', 'capitalize normal string');
63071
+ test('css-class-name', 'Css-class-name', 'capitalize dasherized string');
63072
+ test('action_name', 'Action_name', 'capitalize underscored string');
63073
+ test('innerHTML', 'InnerHTML', 'capitalize camelcased string');
63074
+ test('Capitalized string', 'Capitalized string', 'does nothing with capitalized string');
63075
+ test('privateDocs/ownerInvoice', 'PrivateDocs/OwnerInvoice', 'capitalize namespaced camelized string');
63076
+ test('private_docs/owner_invoice', 'Private_docs/Owner_invoice', 'capitalize namespaced underscored string');
63077
+ test('private-docs/owner-invoice', 'Private-docs/Owner-invoice', 'capitalize namespaced dasherized string');
63078
+ test('šabc', 'Šabc', 'capitalize string with accent character');
63194
63079
  });
63195
63080
  QUnit.module('ESLint | ember-runtime/tests/system/string/capitalize_test.js');
63196
63081
  QUnit.test('should pass ESLint', function(assert) {
@@ -63251,61 +63136,23 @@ enifed('ember-runtime/tests/system/string/dasherize_test', ['ember-environment',
63251
63136
  });
63252
63137
  }
63253
63138
 
63254
- QUnit.test('dasherize normal string', function () {
63255
- deepEqual((0, _string.dasherize)('my favorite items'), 'my-favorite-items');
63256
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63257
- deepEqual('my favorite items'.dasherize(), 'my-favorite-items');
63258
- }
63259
- });
63260
-
63261
- QUnit.test('does nothing with dasherized string', function () {
63262
- deepEqual((0, _string.dasherize)('css-class-name'), 'css-class-name');
63263
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63264
- deepEqual('css-class-name'.dasherize(), 'css-class-name');
63265
- }
63266
- });
63267
-
63268
- QUnit.test('dasherize underscored string', function () {
63269
- deepEqual((0, _string.dasherize)('action_name'), 'action-name');
63270
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63271
- deepEqual('action_name'.dasherize(), 'action-name');
63272
- }
63273
- });
63274
-
63275
- QUnit.test('dasherize camelcased string', function () {
63276
- deepEqual((0, _string.dasherize)('innerHTML'), 'inner-html');
63277
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63278
- deepEqual('innerHTML'.dasherize(), 'inner-html');
63279
- }
63280
- });
63281
-
63282
- QUnit.test('dasherize string that is the property name of Object.prototype', function () {
63283
- deepEqual((0, _string.dasherize)('toString'), 'to-string');
63284
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63285
- deepEqual('toString'.dasherize(), 'to-string');
63286
- }
63287
- });
63288
-
63289
- QUnit.test('dasherize namespaced classified string', function () {
63290
- deepEqual((0, _string.dasherize)('PrivateDocs/OwnerInvoice'), 'private-docs/owner-invoice');
63291
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63292
- deepEqual('PrivateDocs/OwnerInvoice'.dasherize(), 'private-docs/owner-invoice');
63293
- }
63294
- });
63295
-
63296
- QUnit.test('dasherize namespaced camelized string', function () {
63297
- deepEqual((0, _string.dasherize)('privateDocs/ownerInvoice'), 'private-docs/owner-invoice');
63298
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63299
- deepEqual('privateDocs/ownerInvoice'.dasherize(), 'private-docs/owner-invoice');
63300
- }
63301
- });
63139
+ function test(given, expected, description) {
63140
+ QUnit.test(description, function () {
63141
+ deepEqual((0, _string.dasherize)(given), expected);
63142
+ if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63143
+ deepEqual(given.dasherize(), expected);
63144
+ }
63145
+ });
63146
+ }
63302
63147
 
63303
- QUnit.test('dasherize namespaced underscored string', function () {
63304
- deepEqual((0, _string.dasherize)('private_docs/owner_invoice'), 'private-docs/owner-invoice');
63305
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63306
- deepEqual('private_docs/owner_invoice'.dasherize(), 'private-docs/owner-invoice');
63307
- }
63308
- });
63148
+ test('my favorite items', 'my-favorite-items', 'dasherize normal string');
63149
+ test('css-class-name', 'css-class-name', 'does nothing with dasherized string');
63150
+ test('action_name', 'action-name', 'dasherize underscored string');
63151
+ test('innerHTML', 'inner-html', 'dasherize camelcased string');
63152
+ test('toString', 'to-string', 'dasherize string that is the property name of Object.prototype');
63153
+ test('PrivateDocs/OwnerInvoice', 'private-docs/owner-invoice', 'dasherize namespaced classified string');
63154
+ test('privateDocs/ownerInvoice', 'private-docs/owner-invoice', 'dasherize namespaced camelized string');
63155
+ test('private_docs/owner_invoice', 'private-docs/owner-invoice', 'dasherize namespaced underscored string');
63309
63156
  });
63310
63157
  QUnit.module('ESLint | ember-runtime/tests/system/string/dasherize_test.js');
63311
63158
  QUnit.test('should pass ESLint', function(assert) {
@@ -63324,54 +63171,22 @@ enifed('ember-runtime/tests/system/string/decamelize_test', ['ember-environment'
63324
63171
  });
63325
63172
  }
63326
63173
 
63327
- QUnit.test('does nothing with normal string', function () {
63328
- deepEqual((0, _string.decamelize)('my favorite items'), 'my favorite items');
63329
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63330
- deepEqual('my favorite items'.decamelize(), 'my favorite items');
63331
- }
63332
- });
63333
-
63334
- QUnit.test('does nothing with dasherized string', function () {
63335
- deepEqual((0, _string.decamelize)('css-class-name'), 'css-class-name');
63336
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63337
- deepEqual('css-class-name'.decamelize(), 'css-class-name');
63338
- }
63339
- });
63340
-
63341
- QUnit.test('does nothing with underscored string', function () {
63342
- deepEqual((0, _string.decamelize)('action_name'), 'action_name');
63343
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63344
- deepEqual('action_name'.decamelize(), 'action_name');
63345
- }
63346
- });
63347
-
63348
- QUnit.test('converts a camelized string into all lower case separated by underscores.', function () {
63349
- deepEqual((0, _string.decamelize)('innerHTML'), 'inner_html');
63350
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63351
- deepEqual('innerHTML'.decamelize(), 'inner_html');
63352
- }
63353
- });
63354
-
63355
- QUnit.test('decamelizes strings with numbers', function () {
63356
- deepEqual((0, _string.decamelize)('size160Url'), 'size160_url');
63357
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63358
- deepEqual('size160Url'.decamelize(), 'size160_url');
63359
- }
63360
- });
63361
-
63362
- QUnit.test('decamelize namespaced classified string', function () {
63363
- deepEqual((0, _string.decamelize)('PrivateDocs/OwnerInvoice'), 'private_docs/owner_invoice');
63364
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63365
- deepEqual('PrivateDocs/OwnerInvoice'.decamelize(), 'private_docs/owner_invoice');
63366
- }
63367
- });
63174
+ function test(given, expected, description) {
63175
+ QUnit.test(description, function () {
63176
+ deepEqual((0, _string.decamelize)(given), expected);
63177
+ if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63178
+ deepEqual(given.decamelize(), expected);
63179
+ }
63180
+ });
63181
+ }
63368
63182
 
63369
- QUnit.test('decamelize namespaced camelized string', function () {
63370
- deepEqual((0, _string.decamelize)('privateDocs/ownerInvoice'), 'private_docs/owner_invoice');
63371
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63372
- deepEqual('privateDocs/ownerInvoice'.decamelize(), 'private_docs/owner_invoice');
63373
- }
63374
- });
63183
+ test('my favorite items', 'my favorite items', 'does nothing with normal string');
63184
+ test('css-class-name', 'css-class-name', 'does nothing with dasherized string');
63185
+ test('action_name', 'action_name', 'does nothing with underscored string');
63186
+ test('innerHTML', 'inner_html', 'converts a camelized string into all lower case separated by underscores.');
63187
+ test('size160Url', 'size160_url', 'decamelizes strings with numbers');
63188
+ test('PrivateDocs/OwnerInvoice', 'private_docs/owner_invoice', 'decamelize namespaced classified string');
63189
+ test('privateDocs/ownerInvoice', 'private_docs/owner_invoice', 'decamelize namespaced camelized string');
63375
63190
  });
63376
63191
  QUnit.module('ESLint | ember-runtime/tests/system/string/decamelize_test.js');
63377
63192
  QUnit.test('should pass ESLint', function(assert) {
@@ -63390,38 +63205,20 @@ enifed('ember-runtime/tests/system/string/fmt_string_test', ['ember-environment'
63390
63205
  });
63391
63206
  }
63392
63207
 
63393
- QUnit.test('\'Hello %@ %@\'.fmt(\'John\', \'Doe\') => \'Hello John Doe\'', function () {
63394
- expectDeprecation('Ember.String.fmt is deprecated, use ES6 template strings instead.');
63395
- equal((0, _string.fmt)('Hello %@ %@', ['John', 'Doe']), 'Hello John Doe');
63396
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63397
- equal('Hello %@ %@'.fmt('John', 'Doe'), 'Hello John Doe');
63398
- }
63399
- });
63400
-
63401
- QUnit.test('\'Hello %@2 %@1\'.fmt(\'John\', \'Doe\') => \'Hello Doe John\'', function () {
63402
- expectDeprecation('Ember.String.fmt is deprecated, use ES6 template strings instead.');
63403
- equal((0, _string.fmt)('Hello %@2 %@1', ['John', 'Doe']), 'Hello Doe John');
63404
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63405
- equal('Hello %@2 %@1'.fmt('John', 'Doe'), 'Hello Doe John');
63406
- }
63407
- });
63408
-
63409
- QUnit.test('\'%@08 %@07 %@06 %@05 %@04 %@03 %@02 %@01\'.fmt(\'One\', \'Two\', \'Three\', \'Four\', \'Five\', \'Six\', \'Seven\', \'Eight\') => \'Eight Seven Six Five Four Three Two One\'', function () {
63410
- expectDeprecation('Ember.String.fmt is deprecated, use ES6 template strings instead.');
63411
- equal((0, _string.fmt)('%@08 %@07 %@06 %@05 %@04 %@03 %@02 %@01', ['One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight']), 'Eight Seven Six Five Four Three Two One');
63412
-
63413
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63414
- equal('%@08 %@07 %@06 %@05 %@04 %@03 %@02 %@01'.fmt('One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight'), 'Eight Seven Six Five Four Three Two One');
63415
- }
63416
- });
63208
+ function test(given, args, expected, description) {
63209
+ QUnit.test(description, function () {
63210
+ expectDeprecation('Ember.String.fmt is deprecated, use ES6 template strings instead.');
63211
+ equal((0, _string.fmt)(given, args), expected);
63212
+ if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63213
+ equal(given.fmt.apply(given, args), expected);
63214
+ }
63215
+ });
63216
+ }
63417
63217
 
63418
- QUnit.test('\'data: %@\'.fmt({ id: 3 }) => \'data: {id: 3}\'', function () {
63419
- expectDeprecation('Ember.String.fmt is deprecated, use ES6 template strings instead.');
63420
- equal((0, _string.fmt)('data: %@', [{ id: 3 }]), 'data: {id: 3}');
63421
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63422
- equal('data: %@'.fmt({ id: 3 }), 'data: {id: 3}');
63423
- }
63424
- });
63218
+ test('Hello %@ %@', ['John', 'Doe'], 'Hello John Doe', 'fmt(\'Hello %@ %@\', [\'John\', \'Doe\']) => \'Hello John Doe\'');
63219
+ test('Hello %@2 %@1', ['John', 'Doe'], 'Hello Doe John', 'fmt(\'Hello %@2 %@1\', [\'John\', \'Doe\']) => \'Hello Doe John\'');
63220
+ test('%@08 %@07 %@06 %@05 %@04 %@03 %@02 %@01', ['One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight'], 'Eight Seven Six Five Four Three Two One', 'fmt(\'%@08 %@07 %@06 %@05 %@04 %@03 %@02 %@01\', [\'One\', \'Two\', \'Three\', \'Four\', \'Five\', \'Six\', \'Seven\', \'Eight\']) => \'Eight Seven Six Five Four Three Two One\'');
63221
+ test('data: %@', [{ id: 3 }], 'data: {id: 3}', 'fmt(\'data: %@\', [{ id: 3 }]) => \'data: {id: 3}\'');
63425
63222
 
63426
63223
  QUnit.test('works with argument form', function () {
63427
63224
  expectDeprecation('Ember.String.fmt is deprecated, use ES6 template strings instead.');
@@ -63462,33 +63259,19 @@ enifed('ember-runtime/tests/system/string/loc_test', ['ember-metal', 'ember-envi
63462
63259
  });
63463
63260
  }
63464
63261
 
63465
- QUnit.test('\'_Hello World\'.loc() => \'Bonjour le monde\'', function () {
63466
- equal((0, _string.loc)('_Hello World'), 'Bonjour le monde');
63467
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63468
- equal('_Hello World'.loc(), 'Bonjour le monde');
63469
- }
63470
- });
63471
-
63472
- QUnit.test('\'_Hello %@ %@\'.loc(\'John\', \'Doe\') => \'Bonjour John Doe\'', function () {
63473
- equal((0, _string.loc)('_Hello %@ %@', ['John', 'Doe']), 'Bonjour John Doe');
63474
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63475
- equal('_Hello %@ %@'.loc('John', 'Doe'), 'Bonjour John Doe');
63476
- }
63477
- });
63478
-
63479
- QUnit.test('\'_Hello %@# %@#\'.loc(\'John\', \'Doe\') => \'Bonjour Doe John\'', function () {
63480
- equal((0, _string.loc)('_Hello %@# %@#', ['John', 'Doe']), 'Bonjour Doe John');
63481
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63482
- equal('_Hello %@# %@#'.loc('John', 'Doe'), 'Bonjour Doe John');
63483
- }
63484
- });
63262
+ function test(given, args, expected, description) {
63263
+ QUnit.test(description, function () {
63264
+ equal((0, _string.loc)(given, args), expected);
63265
+ if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63266
+ equal(given.loc.apply(given, args), expected);
63267
+ }
63268
+ });
63269
+ }
63485
63270
 
63486
- QUnit.test('\'_Not In Strings\'.loc() => \'_Not In Strings\'', function () {
63487
- equal((0, _string.loc)('_Not In Strings'), '_Not In Strings');
63488
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63489
- equal('_Not In Strings'.loc(), '_Not In Strings');
63490
- }
63491
- });
63271
+ test('_Hello World', [], 'Bonjour le monde', 'loc(\'_Hello World\') => \'Bonjour le monde\'');
63272
+ test('_Hello %@ %@', ['John', 'Doe'], 'Bonjour John Doe', 'loc(\'_Hello %@ %@\', [\'John\', \'Doe\']) => \'Bonjour John Doe\'');
63273
+ test('_Hello %@# %@#', ['John', 'Doe'], 'Bonjour Doe John', 'loc(\'_Hello %@# %@#\', [\'John\', \'Doe\']) => \'Bonjour Doe John\'');
63274
+ test('_Not In Strings', [], '_Not In Strings', 'loc(\'_Not In Strings\') => \'_Not In Strings\'');
63492
63275
 
63493
63276
  QUnit.test('works with argument form', function () {
63494
63277
  equal((0, _string.loc)('_Hello %@', 'John'), 'Bonjour John');
@@ -63512,54 +63295,22 @@ enifed('ember-runtime/tests/system/string/underscore_test', ['ember-environment'
63512
63295
  });
63513
63296
  }
63514
63297
 
63515
- QUnit.test('with normal string', function () {
63516
- deepEqual((0, _string.underscore)('my favorite items'), 'my_favorite_items');
63517
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63518
- deepEqual('my favorite items'.underscore(), 'my_favorite_items');
63519
- }
63520
- });
63521
-
63522
- QUnit.test('with dasherized string', function () {
63523
- deepEqual((0, _string.underscore)('css-class-name'), 'css_class_name');
63524
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63525
- deepEqual('css-class-name'.underscore(), 'css_class_name');
63526
- }
63527
- });
63528
-
63529
- QUnit.test('does nothing with underscored string', function () {
63530
- deepEqual((0, _string.underscore)('action_name'), 'action_name');
63531
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63532
- deepEqual('action_name'.underscore(), 'action_name');
63533
- }
63534
- });
63535
-
63536
- QUnit.test('with camelcased string', function () {
63537
- deepEqual((0, _string.underscore)('innerHTML'), 'inner_html');
63538
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63539
- deepEqual('innerHTML'.underscore(), 'inner_html');
63540
- }
63541
- });
63542
-
63543
- QUnit.test('underscore namespaced classified string', function () {
63544
- deepEqual((0, _string.underscore)('PrivateDocs/OwnerInvoice'), 'private_docs/owner_invoice');
63545
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63546
- deepEqual('PrivateDocs/OwnerInvoice'.underscore(), 'private_docs/owner_invoice');
63547
- }
63548
- });
63549
-
63550
- QUnit.test('underscore namespaced camelized string', function () {
63551
- deepEqual((0, _string.underscore)('privateDocs/ownerInvoice'), 'private_docs/owner_invoice');
63552
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63553
- deepEqual('privateDocs/ownerInvoice'.underscore(), 'private_docs/owner_invoice');
63554
- }
63555
- });
63298
+ function test(given, expected, description) {
63299
+ QUnit.test(description, function () {
63300
+ deepEqual((0, _string.underscore)(given), expected);
63301
+ if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63302
+ deepEqual(given.underscore(), expected);
63303
+ }
63304
+ });
63305
+ }
63556
63306
 
63557
- QUnit.test('underscore namespaced dasherized string', function () {
63558
- deepEqual((0, _string.underscore)('private-docs/owner-invoice'), 'private_docs/owner_invoice');
63559
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63560
- deepEqual('private-docs/owner-invoice'.underscore(), 'private_docs/owner_invoice');
63561
- }
63562
- });
63307
+ test('my favorite items', 'my_favorite_items', 'with normal string');
63308
+ test('css-class-name', 'css_class_name', 'with dasherized string');
63309
+ test('action_name', 'action_name', 'does nothing with underscored string');
63310
+ test('innerHTML', 'inner_html', 'with camelcased string');
63311
+ test('PrivateDocs/OwnerInvoice', 'private_docs/owner_invoice', 'underscore namespaced classified string');
63312
+ test('privateDocs/ownerInvoice', 'private_docs/owner_invoice', 'underscore namespaced camelized string');
63313
+ test('private-docs/owner-invoice', 'private_docs/owner_invoice', 'underscore namespaced dasherized string');
63563
63314
  });
63564
63315
  QUnit.module('ESLint | ember-runtime/tests/system/string/underscore_test.js');
63565
63316
  QUnit.test('should pass ESLint', function(assert) {
@@ -63578,26 +63329,18 @@ enifed('ember-runtime/tests/system/string/w_test', ['ember-environment', 'ember-
63578
63329
  });
63579
63330
  }
63580
63331
 
63581
- QUnit.test('\'one two three\'.w() => [\'one\',\'two\',\'three\']', function () {
63582
- deepEqual((0, _string.w)('one two three'), ['one', 'two', 'three']);
63583
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63584
- deepEqual('one two three'.w(), ['one', 'two', 'three']);
63585
- }
63586
- });
63587
-
63588
- QUnit.test('\'one two three\'.w() with extra spaces between words => [\'one\',\'two\',\'three\']', function () {
63589
- deepEqual((0, _string.w)('one two three'), ['one', 'two', 'three']);
63590
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63591
- deepEqual('one two three'.w(), ['one', 'two', 'three']);
63592
- }
63593
- });
63332
+ function test(given, expected, description) {
63333
+ QUnit.test(description, function () {
63334
+ deepEqual((0, _string.w)(given), expected);
63335
+ if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63336
+ deepEqual(given.w(), expected);
63337
+ }
63338
+ });
63339
+ }
63594
63340
 
63595
- QUnit.test('\'one two three\'.w() with tabs', function () {
63596
- deepEqual((0, _string.w)('one\ttwo three'), ['one', 'two', 'three']);
63597
- if (_emberEnvironment.ENV.EXTEND_PROTOTYPES.String) {
63598
- deepEqual('one\ttwo three'.w(), ['one', 'two', 'three']);
63599
- }
63600
- });
63341
+ test('one two three', ['one', 'two', 'three'], 'w(\'one two three\') => [\'one\',\'two\',\'three\']');
63342
+ test('one two three', ['one', 'two', 'three'], 'w(\'one two three\') with extra spaces between words => [\'one\',\'two\',\'three\']');
63343
+ test('one\ttwo three', ['one', 'two', 'three'], 'w(\'one two three\') with tabs');
63601
63344
  });
63602
63345
  QUnit.module('ESLint | ember-runtime/tests/system/string/w_test.js');
63603
63346
  QUnit.test('should pass ESLint', function(assert) {
@@ -66615,6 +66358,12 @@ enifed('ember-utils/tests/can_invoke_test', ['ember-utils'], function (_emberUti
66615
66358
  equal((0, _emberUtils.canInvoke)(undefined, 'aMethodThatDoesNotExist'), false);
66616
66359
  });
66617
66360
 
66361
+ QUnit.test('should return true for falsy values that have methods', function () {
66362
+ equal((0, _emberUtils.canInvoke)(false, 'valueOf'), true);
66363
+ equal((0, _emberUtils.canInvoke)('', 'charAt'), true);
66364
+ equal((0, _emberUtils.canInvoke)(0, 'toFixed'), true);
66365
+ });
66366
+
66618
66367
  QUnit.test('should return true if the method exists on the object', function () {
66619
66368
  equal((0, _emberUtils.canInvoke)(obj, 'aMethodThatExists'), true);
66620
66369
  });
@@ -69411,11 +69160,13 @@ enifed('ember/tests/helpers/link_to_test/link_to_transitioning_classes_test', ['
69411
69160
 
69412
69161
  _this2.aboutDefer = _emberRuntime.RSVP.defer();
69413
69162
  _this2.otherDefer = _emberRuntime.RSVP.defer();
69163
+ _this2.newsDefer = _emberRuntime.RSVP.defer();
69414
69164
  var _this = _this2;
69415
69165
 
69416
69166
  _this2.router.map(function () {
69417
69167
  this.route('about');
69418
69168
  this.route('other');
69169
+ this.route('news');
69419
69170
  });
69420
69171
 
69421
69172
  _this2.add('route:about', _emberRouting.Route.extend({
@@ -69430,7 +69181,13 @@ enifed('ember/tests/helpers/link_to_test/link_to_transitioning_classes_test', ['
69430
69181
  }
69431
69182
  }));
69432
69183
 
69433
- _this2.addTemplate('application', '\n {{outlet}}\n {{link-to \'Index\' \'index\' id=\'index-link\'}}\n {{link-to \'About\' \'about\' id=\'about-link\'}}\n {{link-to \'Other\' \'other\' id=\'other-link\'}}\n ');
69184
+ _this2.add('route:news', _emberRouting.Route.extend({
69185
+ model: function () {
69186
+ return _this.newsDefer.promise;
69187
+ }
69188
+ }));
69189
+
69190
+ _this2.addTemplate('application', '\n {{outlet}}\n {{link-to \'Index\' \'index\' id=\'index-link\'}}\n {{link-to \'About\' \'about\' id=\'about-link\'}}\n {{link-to \'Other\' \'other\' id=\'other-link\'}}\n {{link-to \'News\' \'news\' activeClass=false id=\'news-link\'}}\n ');
69434
69191
 
69435
69192
  _this2.visit('/');
69436
69193
  return _this2;
@@ -69440,6 +69197,7 @@ enifed('ember/tests/helpers/link_to_test/link_to_transitioning_classes_test', ['
69440
69197
  _ApplicationTestCase.prototype.teardown.call(this);
69441
69198
  this.aboutDefer = null;
69442
69199
  this.otherDefer = null;
69200
+ this.newsDefer = null;
69443
69201
  };
69444
69202
 
69445
69203
  _class.prototype['@test while a transition is underway'] = function testWhileATransitionIsUnderway(assert) {
@@ -69480,6 +69238,44 @@ enifed('ember/tests/helpers/link_to_test/link_to_transitioning_classes_test', ['
69480
69238
  assertHasNoClass(assert, $other, 'ember-transitioning-out');
69481
69239
  };
69482
69240
 
69241
+ _class.prototype['@test while a transition is underway with activeClass is false'] = function testWhileATransitionIsUnderwayWithActiveClassIsFalse(assert) {
69242
+ var _this4 = this;
69243
+
69244
+ var $index = this.$('#index-link');
69245
+ var $news = this.$('#news-link');
69246
+ var $other = this.$('#other-link');
69247
+
69248
+ $news.click();
69249
+
69250
+ assertHasClass(assert, $index, 'active');
69251
+ assertHasNoClass(assert, $news, 'active');
69252
+ assertHasNoClass(assert, $other, 'active');
69253
+
69254
+ assertHasNoClass(assert, $index, 'ember-transitioning-in');
69255
+ assertHasClass(assert, $news, 'ember-transitioning-in');
69256
+ assertHasNoClass(assert, $other, 'ember-transitioning-in');
69257
+
69258
+ assertHasClass(assert, $index, 'ember-transitioning-out');
69259
+ assertHasNoClass(assert, $news, 'ember-transitioning-out');
69260
+ assertHasNoClass(assert, $other, 'ember-transitioning-out');
69261
+
69262
+ this.runTask(function () {
69263
+ return _this4.newsDefer.resolve();
69264
+ });
69265
+
69266
+ assertHasNoClass(assert, $index, 'active');
69267
+ assertHasNoClass(assert, $news, 'active');
69268
+ assertHasNoClass(assert, $other, 'active');
69269
+
69270
+ assertHasNoClass(assert, $index, 'ember-transitioning-in');
69271
+ assertHasNoClass(assert, $news, 'ember-transitioning-in');
69272
+ assertHasNoClass(assert, $other, 'ember-transitioning-in');
69273
+
69274
+ assertHasNoClass(assert, $index, 'ember-transitioning-out');
69275
+ assertHasNoClass(assert, $news, 'ember-transitioning-out');
69276
+ assertHasNoClass(assert, $other, 'ember-transitioning-out');
69277
+ };
69278
+
69483
69279
  return _class;
69484
69280
  }(_internalTestHelpers.ApplicationTestCase));
69485
69281
 
@@ -69489,51 +69285,51 @@ enifed('ember/tests/helpers/link_to_test/link_to_transitioning_classes_test', ['
69489
69285
  function _class2() {
69490
69286
  (0, _emberBabel.classCallCheck)(this, _class2);
69491
69287
 
69492
- var _this4 = (0, _emberBabel.possibleConstructorReturn)(this, _ApplicationTestCase2.call(this));
69288
+ var _this5 = (0, _emberBabel.possibleConstructorReturn)(this, _ApplicationTestCase2.call(this));
69493
69289
 
69494
- _this4.aboutDefer = _emberRuntime.RSVP.defer();
69495
- _this4.otherDefer = _emberRuntime.RSVP.defer();
69496
- var _this = _this4;
69290
+ _this5.aboutDefer = _emberRuntime.RSVP.defer();
69291
+ _this5.otherDefer = _emberRuntime.RSVP.defer();
69292
+ var _this = _this5;
69497
69293
 
69498
- _this4.router.map(function () {
69294
+ _this5.router.map(function () {
69499
69295
  this.route('parent-route', function () {
69500
69296
  this.route('about');
69501
69297
  this.route('other');
69502
69298
  });
69503
69299
  });
69504
- _this4.add('route:parent-route.about', _emberRouting.Route.extend({
69300
+ _this5.add('route:parent-route.about', _emberRouting.Route.extend({
69505
69301
  model: function () {
69506
69302
  return _this.aboutDefer.promise;
69507
69303
  }
69508
69304
  }));
69509
69305
 
69510
- _this4.add('route:parent-route.other', _emberRouting.Route.extend({
69306
+ _this5.add('route:parent-route.other', _emberRouting.Route.extend({
69511
69307
  model: function () {
69512
69308
  return _this.otherDefer.promise;
69513
69309
  }
69514
69310
  }));
69515
69311
 
69516
- _this4.addTemplate('application', '\n {{outlet}}\n {{#link-to \'index\' tagName=\'li\'}}\n {{link-to \'Index\' \'index\' id=\'index-link\'}}\n {{/link-to}}\n {{#link-to \'parent-route.about\' tagName=\'li\'}}\n {{link-to \'About\' \'parent-route.about\' id=\'about-link\'}}\n {{/link-to}}\n {{#link-to \'parent-route.other\' tagName=\'li\'}}\n {{link-to \'Other\' \'parent-route.other\' id=\'other-link\'}}\n {{/link-to}}\n ');
69312
+ _this5.addTemplate('application', '\n {{outlet}}\n {{#link-to \'index\' tagName=\'li\'}}\n {{link-to \'Index\' \'index\' id=\'index-link\'}}\n {{/link-to}}\n {{#link-to \'parent-route.about\' tagName=\'li\'}}\n {{link-to \'About\' \'parent-route.about\' id=\'about-link\'}}\n {{/link-to}}\n {{#link-to \'parent-route.other\' tagName=\'li\'}}\n {{link-to \'Other\' \'parent-route.other\' id=\'other-link\'}}\n {{/link-to}}\n ');
69517
69313
 
69518
- _this4.visit('/');
69519
- return _this4;
69314
+ _this5.visit('/');
69315
+ return _this5;
69520
69316
  }
69521
69317
 
69522
69318
  _class2.prototype.resolveAbout = function resolveAbout() {
69523
- var _this5 = this;
69319
+ var _this6 = this;
69524
69320
 
69525
69321
  return this.runTask(function () {
69526
- _this5.aboutDefer.resolve();
69527
- _this5.aboutDefer = _emberRuntime.RSVP.defer();
69322
+ _this6.aboutDefer.resolve();
69323
+ _this6.aboutDefer = _emberRuntime.RSVP.defer();
69528
69324
  });
69529
69325
  };
69530
69326
 
69531
69327
  _class2.prototype.resolveOther = function resolveOther() {
69532
- var _this6 = this;
69328
+ var _this7 = this;
69533
69329
 
69534
69330
  return this.runTask(function () {
69535
- _this6.otherDefer.resolve();
69536
- _this6.otherDefer = _emberRuntime.RSVP.defer();
69331
+ _this7.otherDefer.resolve();
69332
+ _this7.otherDefer = _emberRuntime.RSVP.defer();
69537
69333
  });
69538
69334
  };
69539
69335
 
@@ -70387,7 +70183,7 @@ enifed('ember/tests/reexports_test', ['ember/index', 'internal-test-helpers', 'e
70387
70183
  ['computed', 'ember-metal'], ['computed.alias', 'ember-metal', 'alias'], ['ComputedProperty', 'ember-metal'], ['cacheFor', 'ember-metal'], ['merge', 'ember-metal'], ['instrument', 'ember-metal'], ['Instrumentation.instrument', 'ember-metal', 'instrument'], ['Instrumentation.subscribe', 'ember-metal', 'instrumentationSubscribe'], ['Instrumentation.unsubscribe', 'ember-metal', 'instrumentationUnsubscribe'], ['Instrumentation.reset', 'ember-metal', 'instrumentationReset'], ['testing', 'ember-debug', { get: 'isTesting', set: 'setTesting' }], ['onerror', 'ember-metal', { get: 'getOnerror', set: 'setOnerror' }],
70388
70184
  // ['create'], TODO: figure out what to do here
70389
70185
  // ['keys'], TODO: figure out what to do here
70390
- ['FEATURES', 'ember/features'], ['FEATURES.isEnabled', 'ember-debug', 'isFeatureEnabled'], ['Error', 'ember-debug'], ['META_DESC', 'ember-metal'], ['meta', 'ember-metal'], ['get', 'ember-metal'], ['set', 'ember-metal'], ['_getPath', 'ember-metal'], ['getWithDefault', 'ember-metal'], ['trySet', 'ember-metal'], ['_Cache', 'ember-metal', 'Cache'], ['on', 'ember-metal'], ['addListener', 'ember-metal'], ['removeListener', 'ember-metal'], ['_suspendListener', 'ember-metal', 'suspendListener'], ['_suspendListeners', 'ember-metal', 'suspendListeners'], ['sendEvent', 'ember-metal'], ['hasListeners', 'ember-metal'], ['watchedEvents', 'ember-metal'], ['listenersFor', 'ember-metal'], ['isNone', 'ember-metal'], ['isEmpty', 'ember-metal'], ['isBlank', 'ember-metal'], ['isPresent', 'ember-metal'], ['_Backburner', 'backburner', 'default'], ['run', 'ember-metal'], ['_ObserverSet', 'ember-metal', 'ObserverSet'], ['propertyWillChange', 'ember-metal'], ['propertyDidChange', 'ember-metal'], ['overrideChains', 'ember-metal'], ['beginPropertyChanges', 'ember-metal'], ['beginPropertyChanges', 'ember-metal'], ['endPropertyChanges', 'ember-metal'], ['changeProperties', 'ember-metal'], ['defineProperty', 'ember-metal'], ['watchKey', 'ember-metal'], ['unwatchKey', 'ember-metal'], ['removeChainWatcher', 'ember-metal'], ['_ChainNode', 'ember-metal', 'ChainNode'], ['finishChains', 'ember-metal'], ['watchPath', 'ember-metal'], ['unwatchPath', 'ember-metal'], ['watch', 'ember-metal'], ['isWatching', 'ember-metal'], ['unwatch', 'ember-metal'], ['destroy', 'ember-metal'], ['libraries', 'ember-metal'], ['OrderedSet', 'ember-metal'], ['Map', 'ember-metal'], ['MapWithDefault', 'ember-metal'], ['getProperties', 'ember-metal'], ['setProperties', 'ember-metal'], ['expandProperties', 'ember-metal'], ['NAME_KEY', 'ember-utils'], ['addObserver', 'ember-metal'], ['observersFor', 'ember-metal'], ['removeObserver', 'ember-metal'], ['_suspendObserver', 'ember-metal'], ['_suspendObservers', 'ember-metal'], ['required', 'ember-metal'], ['aliasMethod', 'ember-metal'], ['observer', 'ember-metal'], ['immediateObserver', 'ember-metal', '_immediateObserver'], ['mixin', 'ember-metal'], ['Mixin', 'ember-metal'], ['bind', 'ember-metal'], ['Binding', 'ember-metal'], ['isGlobalPath', 'ember-metal'],
70186
+ ['FEATURES', 'ember/features'], ['FEATURES.isEnabled', 'ember-debug', 'isFeatureEnabled'], ['Error', 'ember-debug'], ['META_DESC', 'ember-metal'], ['meta', 'ember-metal'], ['get', 'ember-metal'], ['set', 'ember-metal'], ['_getPath', 'ember-metal'], ['getWithDefault', 'ember-metal'], ['trySet', 'ember-metal'], ['_Cache', 'ember-metal', 'Cache'], ['on', 'ember-metal'], ['addListener', 'ember-metal'], ['removeListener', 'ember-metal'], ['_suspendListener', 'ember-metal', 'suspendListener'], ['_suspendListeners', 'ember-metal', 'suspendListeners'], ['sendEvent', 'ember-metal'], ['hasListeners', 'ember-metal'], ['watchedEvents', 'ember-metal'], ['listenersFor', 'ember-metal'], ['isNone', 'ember-metal'], ['isEmpty', 'ember-metal'], ['isBlank', 'ember-metal'], ['isPresent', 'ember-metal'], ['_Backburner', 'backburner', 'default'], ['run', 'ember-metal'], ['_ObserverSet', 'ember-metal', 'ObserverSet'], ['propertyWillChange', 'ember-metal'], ['propertyDidChange', 'ember-metal'], ['overrideChains', 'ember-metal'], ['beginPropertyChanges', 'ember-metal'], ['beginPropertyChanges', 'ember-metal'], ['endPropertyChanges', 'ember-metal'], ['changeProperties', 'ember-metal'], ['defineProperty', 'ember-metal'], ['watchKey', 'ember-metal'], ['unwatchKey', 'ember-metal'], ['removeChainWatcher', 'ember-metal'], ['_ChainNode', 'ember-metal', 'ChainNode'], ['finishChains', 'ember-metal'], ['watchPath', 'ember-metal'], ['unwatchPath', 'ember-metal'], ['watch', 'ember-metal'], ['isWatching', 'ember-metal'], ['unwatch', 'ember-metal'], ['destroy', 'ember-metal', 'deleteMeta'], ['libraries', 'ember-metal'], ['OrderedSet', 'ember-metal'], ['Map', 'ember-metal'], ['MapWithDefault', 'ember-metal'], ['getProperties', 'ember-metal'], ['setProperties', 'ember-metal'], ['expandProperties', 'ember-metal'], ['NAME_KEY', 'ember-utils'], ['addObserver', 'ember-metal'], ['observersFor', 'ember-metal'], ['removeObserver', 'ember-metal'], ['_suspendObserver', 'ember-metal'], ['_suspendObservers', 'ember-metal'], ['required', 'ember-metal'], ['aliasMethod', 'ember-metal'], ['observer', 'ember-metal'], ['immediateObserver', 'ember-metal', '_immediateObserver'], ['mixin', 'ember-metal'], ['Mixin', 'ember-metal'], ['bind', 'ember-metal'], ['Binding', 'ember-metal'], ['isGlobalPath', 'ember-metal'],
70391
70187
 
70392
70188
  // ember-views
70393
70189
  ['$', 'ember-views', 'jQuery'], ['ViewUtils.isSimpleClick', 'ember-views', 'isSimpleClick'], ['ViewUtils.getViewElement', 'ember-views', 'getViewElement'], ['ViewUtils.getViewBounds', 'ember-views', 'getViewBounds'], ['ViewUtils.getViewClientRects', 'ember-views', 'getViewClientRects'], ['ViewUtils.getViewBoundingClientRect', 'ember-views', 'getViewBoundingClientRect'], ['ViewUtils.getRootViews', 'ember-views', 'getRootViews'], ['ViewUtils.getChildViews', 'ember-views', 'getChildViews'], ['TextSupport', 'ember-views'], ['ComponentLookup', 'ember-views'], ['EventDispatcher', 'ember-views'],