ember-source 2.12.2 → 2.13.0.beta.1

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.12.2
9
+ * @version 2.13.0-beta.1
10
10
  */
11
11
 
12
12
  var enifed, requireModule, Ember;
@@ -211,7 +211,7 @@ enifed('container/registry.lint-test', ['exports'], function (exports) {
211
211
  assert.ok(true, 'container/registry.js should pass ESLint\n\n');
212
212
  });
213
213
  });
214
- enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-environment', 'ember-metal', 'container/index', 'internal-test-helpers', 'container'], function (exports, _emberUtils, _emberEnvironment, _emberMetal, _containerIndex, _internalTestHelpers, _container) {
214
+ enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-environment', 'ember-metal', 'container/index', 'internal-test-helpers', 'ember-debug', 'container'], function (exports, _emberUtils, _emberEnvironment, _emberMetal, _containerIndex, _internalTestHelpers, _emberDebug, _container) {
215
215
  'use strict';
216
216
 
217
217
  var originalModelInjections = undefined;
@@ -766,9 +766,8 @@ enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-envir
766
766
  });
767
767
 
768
768
  QUnit.test('A deprecated `container` property is appended to every object instantiated from an extendable factory', function () {
769
- var owner = {};
770
769
  var registry = new _containerIndex.Registry();
771
- var container = owner.__container__ = registry.container({ owner: owner });
770
+ var container = registry.container();
772
771
  var PostController = _internalTestHelpers.factory();
773
772
  registry.register('controller:post', PostController);
774
773
  var postController = container.lookup('controller:post');
@@ -913,7 +912,7 @@ enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-envir
913
912
  registry.register('component:foo-bar', Component);
914
913
 
915
914
  var factoryManager = container[_container.FACTORY_FOR]('component:foo-bar');
916
- if (false) {
915
+ if (true) {
917
916
  assert.deepEqual(factoryManager.class, Component, 'No double extend');
918
917
  } else {
919
918
  assert.deepEqual(factoryManager.class, lookupFactory('component:foo-bar', container), 'Double extended class');
@@ -2090,7 +2089,7 @@ enifed('ember-application/tests/system/application_instance_test.lint-test', ['e
2090
2089
  assert.ok(true, 'ember-application/tests/system/application_instance_test.js should pass ESLint\n\n');
2091
2090
  });
2092
2091
  });
2093
- enifed('ember-application/tests/system/application_test', ['exports', 'ember', 'ember-environment', 'ember-metal', 'ember-application/system/application', 'ember-application/system/resolver', 'ember-routing', 'ember-views', 'ember-runtime', 'ember-template-compiler', 'ember-glimmer', 'container', 'ember-application/tests/test-helpers/registry-check'], function (exports, _ember, _emberEnvironment, _emberMetal, _emberApplicationSystemApplication, _emberApplicationSystemResolver, _emberRouting, _emberViews, _emberRuntime, _emberTemplateCompiler, _emberGlimmer, _container, _emberApplicationTestsTestHelpersRegistryCheck) {
2092
+ enifed('ember-application/tests/system/application_test', ['exports', 'ember', 'ember-environment', 'ember-metal', 'ember-debug', 'ember-application/system/application', 'ember-application/system/resolver', 'ember-routing', 'ember-views', 'ember-runtime', 'ember-template-compiler', 'ember-glimmer', 'container', 'ember-application/tests/test-helpers/registry-check'], function (exports, _ember, _emberEnvironment, _emberMetal, _emberDebug, _emberApplicationSystemApplication, _emberApplicationSystemResolver, _emberRouting, _emberViews, _emberRuntime, _emberTemplateCompiler, _emberGlimmer, _container, _emberApplicationTestsTestHelpersRegistryCheck) {
2094
2093
  /*globals EmberDev */
2095
2094
  'use strict';
2096
2095
 
@@ -2108,8 +2107,8 @@ enifed('ember-application/tests/system/application_test', ['exports', 'ember', '
2108
2107
  QUnit.module('Ember.Application', {
2109
2108
  setup: function () {
2110
2109
  originalLookup = _emberEnvironment.context.lookup;
2111
- originalDebug = _emberMetal.getDebugFunction('debug');
2112
- originalWarn = _emberMetal.getDebugFunction('warn');
2110
+ originalDebug = _emberDebug.getDebugFunction('debug');
2111
+ originalWarn = _emberDebug.getDebugFunction('warn');
2113
2112
 
2114
2113
  _emberViews.jQuery('#qunit-fixture').html('<div id=\'one\'><div id=\'one-child\'>HI</div></div><div id=\'two\'>HI</div>');
2115
2114
  application = _emberMetal.run(function () {
@@ -2119,8 +2118,8 @@ enifed('ember-application/tests/system/application_test', ['exports', 'ember', '
2119
2118
 
2120
2119
  teardown: function () {
2121
2120
  _emberViews.jQuery('#qunit-fixture').empty();
2122
- _emberMetal.setDebugFunction('debug', originalDebug);
2123
- _emberMetal.setDebugFunction('warn', originalWarn);
2121
+ _emberDebug.setDebugFunction('debug', originalDebug);
2122
+ _emberDebug.setDebugFunction('warn', originalWarn);
2124
2123
 
2125
2124
  _emberEnvironment.context.lookup = originalLookup;
2126
2125
 
@@ -2400,7 +2399,7 @@ enifed('ember-application/tests/system/application_test', ['exports', 'ember', '
2400
2399
 
2401
2400
  _emberEnvironment.ENV.LOG_VERSION = true;
2402
2401
 
2403
- _emberMetal.setDebugFunction('debug', function (message) {
2402
+ _emberDebug.setDebugFunction('debug', function (message) {
2404
2403
  return messages.push(message);
2405
2404
  });
2406
2405
 
@@ -2424,7 +2423,7 @@ enifed('ember-application/tests/system/application_test', ['exports', 'ember', '
2424
2423
 
2425
2424
  _emberEnvironment.ENV.LOG_VERSION = false;
2426
2425
 
2427
- _emberMetal.setDebugFunction('debug', function () {
2426
+ _emberDebug.setDebugFunction('debug', function () {
2428
2427
  return logged = true;
2429
2428
  });
2430
2429
 
@@ -2590,7 +2589,7 @@ enifed('ember-application/tests/system/dependency_injection/custom_resolver_test
2590
2589
  assert.ok(true, 'ember-application/tests/system/dependency_injection/custom_resolver_test.js should pass ESLint\n\n');
2591
2590
  });
2592
2591
  });
2593
- enifed('ember-application/tests/system/dependency_injection/default_resolver_test', ['exports', 'ember-environment', 'ember-metal', 'ember-runtime', 'ember-routing', 'ember-application/system/application', 'ember-glimmer', 'ember-template-compiler'], function (exports, _emberEnvironment, _emberMetal, _emberRuntime, _emberRouting, _emberApplicationSystemApplication, _emberGlimmer, _emberTemplateCompiler) {
2592
+ enifed('ember-application/tests/system/dependency_injection/default_resolver_test', ['exports', 'ember-environment', 'ember-metal', 'ember-debug', 'ember-runtime', 'ember-routing', 'ember-application/system/application', 'ember-glimmer', 'ember-template-compiler'], function (exports, _emberEnvironment, _emberMetal, _emberDebug, _emberRuntime, _emberRouting, _emberApplicationSystemApplication, _emberGlimmer, _emberTemplateCompiler) {
2594
2593
  /* globals EmberDev */
2595
2594
  'use strict';
2596
2595
 
@@ -2607,7 +2606,7 @@ enifed('ember-application/tests/system/dependency_injection/default_resolver_tes
2607
2606
 
2608
2607
  registry = application.__registry__;
2609
2608
  locator = application.__container__;
2610
- originalInfo = _emberMetal.getDebugFunction('info');
2609
+ originalInfo = _emberDebug.getDebugFunction('info');
2611
2610
  },
2612
2611
 
2613
2612
  teardown: function () {
@@ -2619,7 +2618,7 @@ enifed('ember-application/tests/system/dependency_injection/default_resolver_tes
2619
2618
  _emberMetal.run(UserInterfaceNamespace, 'destroy');
2620
2619
  }
2621
2620
 
2622
- _emberMetal.setDebugFunction('info', originalInfo);
2621
+ _emberDebug.setDebugFunction('info', originalInfo);
2623
2622
  }
2624
2623
  });
2625
2624
 
@@ -2797,7 +2796,7 @@ enifed('ember-application/tests/system/dependency_injection/default_resolver_tes
2797
2796
  return 'App';
2798
2797
  };
2799
2798
 
2800
- _emberMetal.setDebugFunction('info', function (symbol, name, padding, lookupDescription) {
2799
+ _emberDebug.setDebugFunction('info', function (symbol, name, padding, lookupDescription) {
2801
2800
  equal(symbol, '[✓]', 'proper symbol is printed when a module is found');
2802
2801
  equal(name, 'doo:scooby', 'proper lookup value is logged');
2803
2802
  equal(lookupDescription, 'App.ScoobyDoo');
@@ -2819,7 +2818,7 @@ enifed('ember-application/tests/system/dependency_injection/default_resolver_tes
2819
2818
  return 'App';
2820
2819
  };
2821
2820
 
2822
- _emberMetal.setDebugFunction('info', function (symbol, name, padding, lookupDescription) {
2821
+ _emberDebug.setDebugFunction('info', function (symbol, name, padding, lookupDescription) {
2823
2822
  equal(symbol, '[ ]', 'proper symbol is printed when a module is not found');
2824
2823
  equal(name, 'doo:scooby', 'proper lookup value is logged');
2825
2824
  equal(lookupDescription, 'App.ScoobyDoo');
@@ -2838,7 +2837,7 @@ enifed('ember-application/tests/system/dependency_injection/default_resolver_tes
2838
2837
 
2839
2838
  application.ScoobyDoo = _emberRuntime.Object.extend();
2840
2839
 
2841
- _emberMetal.setDebugFunction('info', function (symbol, name) {
2840
+ _emberDebug.setDebugFunction('info', function (symbol, name) {
2842
2841
  return infoCount = infoCount + 1;
2843
2842
  });
2844
2843
 
@@ -2986,7 +2985,7 @@ enifed('ember-application/tests/system/dependency_injection/normalization_test.l
2986
2985
  assert.ok(true, 'ember-application/tests/system/dependency_injection/normalization_test.js should pass ESLint\n\n');
2987
2986
  });
2988
2987
  });
2989
- enifed('ember-application/tests/system/dependency_injection/to_string_test', ['exports', 'ember-utils', 'ember-environment', 'ember-metal', 'ember-application/system/application', 'ember-runtime', 'ember-application/system/resolver'], function (exports, _emberUtils, _emberEnvironment, _emberMetal, _emberApplicationSystemApplication, _emberRuntime, _emberApplicationSystemResolver) {
2988
+ enifed('ember-application/tests/system/dependency_injection/to_string_test', ['exports', 'ember-utils', 'ember-environment', 'ember-metal', 'ember-application/system/application', 'ember-runtime', 'ember-application/system/resolver', 'ember-debug'], function (exports, _emberUtils, _emberEnvironment, _emberMetal, _emberApplicationSystemApplication, _emberRuntime, _emberApplicationSystemResolver, _emberDebug) {
2990
2989
  'use strict';
2991
2990
 
2992
2991
  var originalLookup = undefined,
@@ -6290,6 +6289,24 @@ enifed('ember-debug/deprecate.lint-test', ['exports'], function (exports) {
6290
6289
  assert.ok(true, 'ember-debug/deprecate.js should pass ESLint\n\n');
6291
6290
  });
6292
6291
  });
6292
+ enifed('ember-debug/error.lint-test', ['exports'], function (exports) {
6293
+ 'use strict';
6294
+
6295
+ QUnit.module('ESLint | ember-debug/error.js');
6296
+ QUnit.test('should pass ESLint', function (assert) {
6297
+ assert.expect(1);
6298
+ assert.ok(true, 'ember-debug/error.js should pass ESLint\n\n');
6299
+ });
6300
+ });
6301
+ enifed('ember-debug/features.lint-test', ['exports'], function (exports) {
6302
+ 'use strict';
6303
+
6304
+ QUnit.module('ESLint | ember-debug/features.js');
6305
+ QUnit.test('should pass ESLint', function (assert) {
6306
+ assert.expect(1);
6307
+ assert.ok(true, 'ember-debug/features.js should pass ESLint\n\n');
6308
+ });
6309
+ });
6293
6310
  enifed('ember-debug/handlers.lint-test', ['exports'], function (exports) {
6294
6311
  'use strict';
6295
6312
 
@@ -6308,6 +6325,46 @@ enifed('ember-debug/index.lint-test', ['exports'], function (exports) {
6308
6325
  assert.ok(true, 'ember-debug/index.js should pass ESLint\n\n');
6309
6326
  });
6310
6327
  });
6328
+ enifed('ember-debug/run-in-debug.lint-test', ['exports'], function (exports) {
6329
+ 'use strict';
6330
+
6331
+ QUnit.module('ESLint | ember-debug/run-in-debug.js');
6332
+ QUnit.test('should pass ESLint', function (assert) {
6333
+ assert.expect(1);
6334
+ assert.ok(true, 'ember-debug/run-in-debug.js should pass ESLint\n\n');
6335
+ });
6336
+ });
6337
+ enifed('ember-debug/testing.lint-test', ['exports'], function (exports) {
6338
+ 'use strict';
6339
+
6340
+ QUnit.module('ESLint | ember-debug/testing.js');
6341
+ QUnit.test('should pass ESLint', function (assert) {
6342
+ assert.expect(1);
6343
+ assert.ok(true, 'ember-debug/testing.js should pass ESLint\n\n');
6344
+ });
6345
+ });
6346
+ enifed('ember-debug/tests/error_test', ['exports', 'ember-debug/error'], function (exports, _emberDebugError) {
6347
+ 'use strict';
6348
+
6349
+ QUnit.module('Ember Error Throwing');
6350
+
6351
+ QUnit.test('new Ember.Error displays provided message', function () {
6352
+ throws(function () {
6353
+ throw new _emberDebugError.default('A Message');
6354
+ }, function (e) {
6355
+ return e.message === 'A Message';
6356
+ }, 'the assigned message was displayed');
6357
+ });
6358
+ });
6359
+ enifed('ember-debug/tests/error_test.lint-test', ['exports'], function (exports) {
6360
+ 'use strict';
6361
+
6362
+ QUnit.module('ESLint | ember-debug/tests/error_test.js');
6363
+ QUnit.test('should pass ESLint', function (assert) {
6364
+ assert.expect(1);
6365
+ assert.ok(true, 'ember-debug/tests/error_test.js should pass ESLint\n\n');
6366
+ });
6367
+ });
6311
6368
  enifed('ember-debug/tests/handlers-test', ['exports', 'ember-debug/handlers'], function (exports, _emberDebugHandlers) {
6312
6369
  'use strict';
6313
6370
 
@@ -6461,7 +6518,7 @@ enifed('ember-debug/tests/handlers-test.lint-test', ['exports'], function (expor
6461
6518
  assert.ok(true, 'ember-debug/tests/handlers-test.js should pass ESLint\n\n');
6462
6519
  });
6463
6520
  });
6464
- enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-runtime', 'ember-debug/handlers', 'ember-debug/deprecate', 'ember-debug/warn', 'ember-metal'], function (exports, _emberEnvironment, _emberRuntime, _emberDebugHandlers, _emberDebugDeprecate, _emberDebugWarn, _emberMetal) {
6521
+ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-runtime', 'ember-debug/handlers', 'ember-debug/deprecate', 'ember-debug/warn', 'ember-debug/index'], function (exports, _emberEnvironment, _emberRuntime, _emberDebugHandlers, _emberDebugDeprecate, _emberDebugWarn, _emberDebugIndex) {
6465
6522
  'use strict';
6466
6523
 
6467
6524
  var originalEnvValue = undefined;
@@ -6488,7 +6545,7 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6488
6545
  _emberEnvironment.ENV.RAISE_ON_DEPRECATION = false;
6489
6546
 
6490
6547
  try {
6491
- _emberMetal.deprecate('Should not throw', false, { id: 'test', until: 'forever' });
6548
+ _emberDebugIndex.deprecate('Should not throw', false, { id: 'test', until: 'forever' });
6492
6549
  assert.ok(true, 'Ember.deprecate did not throw');
6493
6550
  } catch (e) {
6494
6551
  assert.ok(false, 'Expected deprecate not to throw but it did: ' + e.message);
@@ -6501,7 +6558,7 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6501
6558
  _emberEnvironment.ENV.RAISE_ON_DEPRECATION = false;
6502
6559
 
6503
6560
  try {
6504
- _emberMetal.deprecate('Should not throw', false, { id: 'test', until: 'forever' });
6561
+ _emberDebugIndex.deprecate('Should not throw', false, { id: 'test', until: 'forever' });
6505
6562
  assert.ok(true, 'Ember.deprecate did not throw');
6506
6563
  } catch (e) {
6507
6564
  assert.ok(false, 'Expected deprecate not to throw but it did: ' + e.message);
@@ -6510,7 +6567,7 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6510
6567
  _emberEnvironment.ENV.RAISE_ON_DEPRECATION = true;
6511
6568
 
6512
6569
  assert.throws(function () {
6513
- _emberMetal.deprecate('Should throw', false, { id: 'test', until: 'forever' });
6570
+ _emberDebugIndex.deprecate('Should throw', false, { id: 'test', until: 'forever' });
6514
6571
  }, /Should throw/);
6515
6572
  });
6516
6573
 
@@ -6525,18 +6582,18 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6525
6582
  });
6526
6583
 
6527
6584
  try {
6528
- _emberMetal.deprecate('should be silenced with matching id', false, { id: 'my-deprecation', until: 'forever' });
6585
+ _emberDebugIndex.deprecate('should be silenced with matching id', false, { id: 'my-deprecation', until: 'forever' });
6529
6586
  assert.ok(true, 'Did not throw when level is set by id');
6530
6587
  } catch (e) {
6531
6588
  assert.ok(false, 'Expected deprecate not to throw but it did: ' + e.message);
6532
6589
  }
6533
6590
 
6534
6591
  assert.throws(function () {
6535
- _emberMetal.deprecate('Should throw with no matching id', false, { id: 'test', until: 'forever' });
6592
+ _emberDebugIndex.deprecate('Should throw with no matching id', false, { id: 'test', until: 'forever' });
6536
6593
  }, /Should throw with no matching id/);
6537
6594
 
6538
6595
  assert.throws(function () {
6539
- _emberMetal.deprecate('Should throw with non-matching id', false, { id: 'other-id', until: 'forever' });
6596
+ _emberDebugIndex.deprecate('Should throw with non-matching id', false, { id: 'other-id', until: 'forever' });
6540
6597
  }, /Should throw with non-matching id/);
6541
6598
  });
6542
6599
 
@@ -6544,20 +6601,20 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6544
6601
  expect(3);
6545
6602
 
6546
6603
  throws(function () {
6547
- return _emberMetal.deprecate('Deprecation is thrown', false, { id: 'test', until: 'forever' });
6604
+ return _emberDebugIndex.deprecate('Deprecation is thrown', false, { id: 'test', until: 'forever' });
6548
6605
  });
6549
6606
  throws(function () {
6550
- return _emberMetal.deprecate('Deprecation is thrown', '', { id: 'test', until: 'forever' });
6607
+ return _emberDebugIndex.deprecate('Deprecation is thrown', '', { id: 'test', until: 'forever' });
6551
6608
  });
6552
6609
  throws(function () {
6553
- return _emberMetal.deprecate('Deprecation is thrown', 0, { id: 'test', until: 'forever' });
6610
+ return _emberDebugIndex.deprecate('Deprecation is thrown', 0, { id: 'test', until: 'forever' });
6554
6611
  });
6555
6612
  });
6556
6613
 
6557
6614
  QUnit.test('Ember.deprecate does not invoke a function as the second argument', function () {
6558
6615
  expect(1);
6559
6616
 
6560
- _emberMetal.deprecate('Deprecation is thrown', function () {
6617
+ _emberDebugIndex.deprecate('Deprecation is thrown', function () {
6561
6618
  ok(false, 'this function should not be invoked');
6562
6619
  }, { id: 'test', until: 'forever' });
6563
6620
 
@@ -6567,9 +6624,9 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6567
6624
  QUnit.test('Ember.deprecate does not throw deprecations if second argument is truthy', function () {
6568
6625
  expect(1);
6569
6626
 
6570
- _emberMetal.deprecate('Deprecation is thrown', true, { id: 'test', until: 'forever' });
6571
- _emberMetal.deprecate('Deprecation is thrown', '1', { id: 'test', until: 'forever' });
6572
- _emberMetal.deprecate('Deprecation is thrown', 1, { id: 'test', until: 'forever' });
6627
+ _emberDebugIndex.deprecate('Deprecation is thrown', true, { id: 'test', until: 'forever' });
6628
+ _emberDebugIndex.deprecate('Deprecation is thrown', '1', { id: 'test', until: 'forever' });
6629
+ _emberDebugIndex.deprecate('Deprecation is thrown', 1, { id: 'test', until: 'forever' });
6573
6630
 
6574
6631
  ok(true, 'deprecations were not thrown');
6575
6632
  });
@@ -6578,20 +6635,20 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6578
6635
  expect(3);
6579
6636
 
6580
6637
  throws(function () {
6581
- return _emberMetal.assert('Assertion is thrown', false);
6638
+ return _emberDebugIndex.assert('Assertion is thrown', false);
6582
6639
  });
6583
6640
  throws(function () {
6584
- return _emberMetal.assert('Assertion is thrown', '');
6641
+ return _emberDebugIndex.assert('Assertion is thrown', '');
6585
6642
  });
6586
6643
  throws(function () {
6587
- return _emberMetal.assert('Assertion is thrown', 0);
6644
+ return _emberDebugIndex.assert('Assertion is thrown', 0);
6588
6645
  });
6589
6646
  });
6590
6647
 
6591
6648
  QUnit.test('Ember.assert does not throw if second argument is a function', function (assert) {
6592
6649
  assert.expect(1);
6593
6650
 
6594
- _emberMetal.assert('Assertion is thrown', function () {
6651
+ _emberDebugIndex.assert('Assertion is thrown', function () {
6595
6652
  return true;
6596
6653
  });
6597
6654
 
@@ -6601,9 +6658,9 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6601
6658
  QUnit.test('Ember.assert does not throw if second argument is truthy', function () {
6602
6659
  expect(1);
6603
6660
 
6604
- _emberMetal.assert('Assertion is thrown', true);
6605
- _emberMetal.assert('Assertion is thrown', '1');
6606
- _emberMetal.assert('Assertion is thrown', 1);
6661
+ _emberDebugIndex.assert('Assertion is thrown', true);
6662
+ _emberDebugIndex.assert('Assertion is thrown', '1');
6663
+ _emberDebugIndex.assert('Assertion is thrown', 1);
6607
6664
 
6608
6665
  ok(true, 'assertions were not thrown');
6609
6666
  });
@@ -6612,8 +6669,8 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6612
6669
  expect(1);
6613
6670
  var Igor = _emberRuntime.Object.extend();
6614
6671
 
6615
- _emberMetal.assert('is truthy', Igor);
6616
- _emberMetal.assert('is truthy', Igor.create());
6672
+ _emberDebugIndex.assert('is truthy', Igor);
6673
+ _emberDebugIndex.assert('is truthy', Igor.create());
6617
6674
 
6618
6675
  ok(true, 'assertions were not thrown');
6619
6676
  });
@@ -6633,14 +6690,14 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6633
6690
  });
6634
6691
 
6635
6692
  try {
6636
- _emberMetal.deprecate('Deprecation for testing purposes', false, { id: id, until: until });
6693
+ _emberDebugIndex.deprecate('Deprecation for testing purposes', false, { id: id, until: until });
6637
6694
  ok(true, 'Deprecation did not throw');
6638
6695
  } catch (e) {
6639
6696
  ok(false, 'Deprecation was thrown despite being added to blacklist');
6640
6697
  }
6641
6698
 
6642
6699
  try {
6643
- _emberMetal.deprecate('Deprecation for testing purposes', false, { id: id, until: until });
6700
+ _emberDebugIndex.deprecate('Deprecation for testing purposes', false, { id: id, until: until });
6644
6701
  ok(true, 'Deprecation did not throw');
6645
6702
  } catch (e) {
6646
6703
  ok(false, 'Deprecation was thrown despite being added to blacklist');
@@ -6649,11 +6706,11 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6649
6706
  shouldThrow = true;
6650
6707
 
6651
6708
  throws(function () {
6652
- _emberMetal.deprecate('Deprecation is thrown', false, { id: id, until: until });
6709
+ _emberDebugIndex.deprecate('Deprecation is thrown', false, { id: id, until: until });
6653
6710
  });
6654
6711
 
6655
6712
  throws(function () {
6656
- _emberMetal.deprecate('Deprecation is thrown', false, { id: id, until: until });
6713
+ _emberDebugIndex.deprecate('Deprecation is thrown', false, { id: id, until: until });
6657
6714
  });
6658
6715
  });
6659
6716
 
@@ -6668,8 +6725,8 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6668
6725
  }
6669
6726
  });
6670
6727
 
6671
- _emberMetal.deprecate('foo');
6672
- _emberMetal.deprecate('foo', false, {});
6728
+ _emberDebugIndex.deprecate('foo');
6729
+ _emberDebugIndex.deprecate('foo', false, {});
6673
6730
  });
6674
6731
 
6675
6732
  QUnit.test('Ember.deprecate without options.id triggers a deprecation', function (assert) {
@@ -6683,7 +6740,7 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6683
6740
  }
6684
6741
  });
6685
6742
 
6686
- _emberMetal.deprecate('foo', false, { until: 'forever' });
6743
+ _emberDebugIndex.deprecate('foo', false, { until: 'forever' });
6687
6744
  });
6688
6745
 
6689
6746
  QUnit.test('Ember.deprecate without options.until triggers a deprecation', function (assert) {
@@ -6697,7 +6754,7 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6697
6754
  }
6698
6755
  });
6699
6756
 
6700
- _emberMetal.deprecate('foo', false, { id: 'test' });
6757
+ _emberDebugIndex.deprecate('foo', false, { id: 'test' });
6701
6758
  });
6702
6759
 
6703
6760
  QUnit.test('warn without options triggers a deprecation', function (assert) {
@@ -6711,7 +6768,7 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6711
6768
  assert.equal(message, 'foo', 'original warning is triggered');
6712
6769
  });
6713
6770
 
6714
- _emberMetal.warn('foo');
6771
+ _emberDebugIndex.warn('foo');
6715
6772
  });
6716
6773
 
6717
6774
  QUnit.test('warn without options.id triggers a deprecation', function (assert) {
@@ -6725,7 +6782,7 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6725
6782
  assert.equal(message, 'foo', 'original warning is triggered');
6726
6783
  });
6727
6784
 
6728
- _emberMetal.warn('foo', false, {});
6785
+ _emberDebugIndex.warn('foo', false, {});
6729
6786
  });
6730
6787
  });
6731
6788
  enifed('ember-debug/tests/main_test.lint-test', ['exports'], function (exports) {
@@ -6737,7 +6794,7 @@ enifed('ember-debug/tests/main_test.lint-test', ['exports'], function (exports)
6737
6794
  assert.ok(true, 'ember-debug/tests/main_test.js should pass ESLint\n\n');
6738
6795
  });
6739
6796
  });
6740
- enifed('ember-debug/tests/warn_if_using_stripped_feature_flags_test', ['exports', 'ember-environment', 'ember-metal', 'ember-debug/index'], function (exports, _emberEnvironment, _emberMetal, _emberDebugIndex) {
6797
+ enifed('ember-debug/tests/warn_if_using_stripped_feature_flags_test', ['exports', 'ember-environment', 'ember-debug', 'ember-debug/index'], function (exports, _emberEnvironment, _emberDebug, _emberDebugIndex) {
6741
6798
  'use strict';
6742
6799
 
6743
6800
  var oldWarn = undefined,
@@ -6750,13 +6807,13 @@ enifed('ember-debug/tests/warn_if_using_stripped_feature_flags_test', ['exports'
6750
6807
  function confirmWarns(expectedMsg) {
6751
6808
  var featuresWereStripped = true;
6752
6809
 
6753
- _emberMetal.setDebugFunction('warn', function (msg, test) {
6810
+ _emberDebug.setDebugFunction('warn', function (msg, test) {
6754
6811
  if (!test) {
6755
6812
  equal(msg, expectedMsg);
6756
6813
  }
6757
6814
  });
6758
6815
 
6759
- _emberMetal.setDebugFunction('runInDebug', function (func) {
6816
+ _emberDebug.setDebugFunction('runInDebug', function (func) {
6760
6817
  func();
6761
6818
  });
6762
6819
 
@@ -6770,8 +6827,8 @@ enifed('ember-debug/tests/warn_if_using_stripped_feature_flags_test', ['exports'
6770
6827
 
6771
6828
  QUnit.module('ember-debug - _warnIfUsingStrippedFeatureFlags', {
6772
6829
  setup: function () {
6773
- oldWarn = _emberMetal.getDebugFunction('warn');
6774
- oldRunInDebug = _emberMetal.getDebugFunction('runInDebug');
6830
+ oldWarn = _emberDebug.getDebugFunction('warn');
6831
+ oldRunInDebug = _emberDebug.getDebugFunction('runInDebug');
6775
6832
  origEnvFeatures = _emberEnvironment.ENV.FEATURES;
6776
6833
  origEnableOptional = _emberEnvironment.ENV.ENABLE_OPTIONAL_FEATURES;
6777
6834
 
@@ -6783,8 +6840,8 @@ enifed('ember-debug/tests/warn_if_using_stripped_feature_flags_test', ['exports'
6783
6840
  },
6784
6841
 
6785
6842
  teardown: function () {
6786
- _emberMetal.setDebugFunction('warn', oldWarn);
6787
- _emberMetal.setDebugFunction('runInDebug', oldRunInDebug);
6843
+ _emberDebug.setDebugFunction('warn', oldWarn);
6844
+ _emberDebug.setDebugFunction('runInDebug', oldRunInDebug);
6788
6845
  _emberEnvironment.ENV.FEATURES = origEnvFeatures;
6789
6846
  _emberEnvironment.ENV.ENABLE_OPTIONAL_FEATURES = origEnableOptional;
6790
6847
  }
@@ -8087,15 +8144,6 @@ enifed('ember-glimmer/helpers/concat.lint-test', ['exports'], function (exports)
8087
8144
  assert.ok(true, 'ember-glimmer/helpers/concat.js should pass ESLint\n\n');
8088
8145
  });
8089
8146
  });
8090
- enifed('ember-glimmer/helpers/debugger.lint-test', ['exports'], function (exports) {
8091
- 'use strict';
8092
-
8093
- QUnit.module('ESLint | ember-glimmer/helpers/debugger.js');
8094
- QUnit.test('should pass ESLint', function (assert) {
8095
- assert.expect(1);
8096
- assert.ok(true, 'ember-glimmer/helpers/debugger.js should pass ESLint\n\n');
8097
- });
8098
- });
8099
8147
  enifed('ember-glimmer/helpers/each-in.lint-test', ['exports'], function (exports) {
8100
8148
  'use strict';
8101
8149
 
@@ -8249,6 +8297,33 @@ enifed('ember-glimmer/syntax.lint-test', ['exports'], function (exports) {
8249
8297
  assert.ok(true, 'ember-glimmer/syntax.js should pass ESLint\n\n');
8250
8298
  });
8251
8299
  });
8300
+ enifed('ember-glimmer/syntax/-in-element.lint-test', ['exports'], function (exports) {
8301
+ 'use strict';
8302
+
8303
+ QUnit.module('ESLint | ember-glimmer/syntax/-in-element.js');
8304
+ QUnit.test('should pass ESLint', function (assert) {
8305
+ assert.expect(1);
8306
+ assert.ok(true, 'ember-glimmer/syntax/-in-element.js should pass ESLint\n\n');
8307
+ });
8308
+ });
8309
+ enifed('ember-glimmer/syntax/-text-area.lint-test', ['exports'], function (exports) {
8310
+ 'use strict';
8311
+
8312
+ QUnit.module('ESLint | ember-glimmer/syntax/-text-area.js');
8313
+ QUnit.test('should pass ESLint', function (assert) {
8314
+ assert.expect(1);
8315
+ assert.ok(true, 'ember-glimmer/syntax/-text-area.js should pass ESLint\n\n');
8316
+ });
8317
+ });
8318
+ enifed('ember-glimmer/syntax/-with-dynamic-vars.lint-test', ['exports'], function (exports) {
8319
+ 'use strict';
8320
+
8321
+ QUnit.module('ESLint | ember-glimmer/syntax/-with-dynamic-vars.js');
8322
+ QUnit.test('should pass ESLint', function (assert) {
8323
+ assert.expect(1);
8324
+ assert.ok(true, 'ember-glimmer/syntax/-with-dynamic-vars.js should pass ESLint\n\n');
8325
+ });
8326
+ });
8252
8327
  enifed('ember-glimmer/syntax/abstract-manager.lint-test', ['exports'], function (exports) {
8253
8328
  'use strict';
8254
8329
 
@@ -9106,7 +9181,7 @@ enifed('ember-glimmer/tests/integration/application/engine-test.lint-test', ['ex
9106
9181
  assert.ok(true, 'ember-glimmer/tests/integration/application/engine-test.js should pass ESLint\n\n');
9107
9182
  });
9108
9183
  });
9109
- enifed('ember-glimmer/tests/integration/application/rendering-test', ['exports', 'ember-runtime', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-routing', 'ember-metal', 'ember-glimmer'], function (exports, _emberRuntime, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsAbstractTestCase, _emberRouting, _emberMetal, _emberGlimmer) {
9184
+ enifed('ember-glimmer/tests/integration/application/rendering-test', ['exports', 'ember-runtime', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-routing', 'ember-debug', 'ember-glimmer'], function (exports, _emberRuntime, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsAbstractTestCase, _emberRouting, _emberDebug, _emberGlimmer) {
9110
9185
  'use strict';
9111
9186
 
9112
9187
  var _templateObject = babelHelpers.taggedTemplateLiteralLoose(['\n <ul>\n {{#each model as |item|}}\n <li>{{item}}</li>\n {{/each}}\n </ul>\n '], ['\n <ul>\n {{#each model as |item|}}\n <li>{{item}}</li>\n {{/each}}\n </ul>\n ']),
@@ -9581,7 +9656,7 @@ enifed('ember-glimmer/tests/integration/binding_integration_test.lint-test', ['e
9581
9656
  assert.ok(true, 'ember-glimmer/tests/integration/binding_integration_test.js should pass ESLint\n\n');
9582
9657
  });
9583
9658
  });
9584
- enifed('ember-glimmer/tests/integration/components/append-test', ['exports', 'ember-metal', 'ember-views', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/helpers', 'ember-glimmer/tests/utils/abstract-test-case'], function (exports, _emberMetal, _emberViews, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsHelpers, _emberGlimmerTestsUtilsAbstractTestCase) {
9659
+ enifed('ember-glimmer/tests/integration/components/append-test', ['exports', 'ember-metal', 'ember-views', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/helpers', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-debug'], function (exports, _emberMetal, _emberViews, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsHelpers, _emberGlimmerTestsUtilsAbstractTestCase, _emberDebug) {
9585
9660
  'use strict';
9586
9661
 
9587
9662
  var _templateObject = babelHelpers.taggedTemplateLiteralLoose(['\n {{#if showFooBar}}\n {{foo-bar}}\n {{else}}\n {{baz-qux}}\n {{/if}}\n '], ['\n {{#if showFooBar}}\n {{foo-bar}}\n {{else}}\n {{baz-qux}}\n {{/if}}\n ']);
@@ -13382,7 +13457,7 @@ enifed('ember-glimmer/tests/integration/components/contextual-components-test.li
13382
13457
  assert.ok(true, 'ember-glimmer/tests/integration/components/contextual-components-test.js should pass ESLint\n\n');
13383
13458
  });
13384
13459
  });
13385
- enifed('ember-glimmer/tests/integration/components/curly-components-test', ['exports', 'ember-metal', 'ember-runtime', 'ember-glimmer/tests/utils/helpers', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/test-helpers'], function (exports, _emberMetal, _emberRuntime, _emberGlimmerTestsUtilsHelpers, _emberGlimmerTestsUtilsAbstractTestCase, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsTestHelpers) {
13460
+ enifed('ember-glimmer/tests/integration/components/curly-components-test', ['exports', 'ember-metal', 'ember-debug', 'ember-runtime', 'ember-glimmer/tests/utils/helpers', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/test-helpers'], function (exports, _emberMetal, _emberDebug, _emberRuntime, _emberGlimmerTestsUtilsHelpers, _emberGlimmerTestsUtilsAbstractTestCase, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsTestHelpers) {
13386
13461
  /* globals EmberDev */
13387
13462
  'use strict';
13388
13463
 
@@ -16119,9 +16194,23 @@ babelHelpers.classCallCheck(this, _class);
16119
16194
  this.assertText('Jackson');
16120
16195
  };
16121
16196
 
16122
- _class.prototype['@test can access `actions` hash via `_actions` [DEPRECATED]'] = function testCanAccessActionsHashVia_actionsDEPRECATED() {
16197
+ _class.prototype['@test injecting an unknown service raises an exception'] = function testInjectingAnUnknownServiceRaisesAnException(assert) {
16123
16198
  var _this70 = this;
16124
16199
 
16200
+ this.registerComponent('foo-bar', {
16201
+ ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
16202
+ missingService: _emberRuntime.inject.service()
16203
+ })
16204
+ });
16205
+
16206
+ expectAssertion(function () {
16207
+ _this70.render('{{foo-bar}}');
16208
+ }, 'Attempting to inject an unknown injection: \'service:missingService\'');
16209
+ };
16210
+
16211
+ _class.prototype['@test can access `actions` hash via `_actions` [DEPRECATED]'] = function testCanAccessActionsHashVia_actionsDEPRECATED() {
16212
+ var _this71 = this;
16213
+
16125
16214
  var component = undefined;
16126
16215
 
16127
16216
  function derp() {}
@@ -16144,12 +16233,12 @@ babelHelpers.classCallCheck(this, _class);
16144
16233
  this.assert.strictEqual(component.actions.derp, derp);
16145
16234
 
16146
16235
  expectDeprecation(function () {
16147
- _this70.assert.strictEqual(component._actions.derp, derp);
16236
+ _this71.assert.strictEqual(component._actions.derp, derp);
16148
16237
  }, 'Usage of `_actions` is deprecated, use `actions` instead.');
16149
16238
  };
16150
16239
 
16151
16240
  _class.prototype['@test throws if `this._super` is not called from `init`'] = function testThrowsIfThis_superIsNotCalledFromInit() {
16152
- var _this71 = this;
16241
+ var _this72 = this;
16153
16242
 
16154
16243
  this.registerComponent('foo-bar', {
16155
16244
  ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
@@ -16158,16 +16247,16 @@ babelHelpers.classCallCheck(this, _class);
16158
16247
  });
16159
16248
 
16160
16249
  expectAssertion(function () {
16161
- _this71.render('{{foo-bar}}');
16250
+ _this72.render('{{foo-bar}}');
16162
16251
  }, /You must call `this._super\(...arguments\);` when overriding `init` on a framework object. Please update .* to call `this._super\(...arguments\);` from `init`./);
16163
16252
  };
16164
16253
 
16165
16254
  _class.prototype['@test should toggle visibility with isVisible'] = function testShouldToggleVisibilityWithIsVisible(assert) {
16166
- var _this72 = this;
16255
+ var _this73 = this;
16167
16256
 
16168
16257
  var assertStyle = function (expected) {
16169
16258
  var matcher = _emberGlimmerTestsUtilsTestHelpers.styles(expected);
16170
- var actual = _this72.firstChild.getAttribute('style');
16259
+ var actual = _this73.firstChild.getAttribute('style');
16171
16260
 
16172
16261
  assert.pushResult({
16173
16262
  result: matcher.match(actual),
@@ -16190,18 +16279,18 @@ babelHelpers.classCallCheck(this, _class);
16190
16279
  this.assertStableRerender();
16191
16280
 
16192
16281
  this.runTask(function () {
16193
- _emberMetal.set(_this72.context, 'visible', true);
16282
+ _emberMetal.set(_this73.context, 'visible', true);
16194
16283
  });
16195
16284
  assertStyle('');
16196
16285
 
16197
16286
  this.runTask(function () {
16198
- _emberMetal.set(_this72.context, 'visible', false);
16287
+ _emberMetal.set(_this73.context, 'visible', false);
16199
16288
  });
16200
16289
  assertStyle('display: none;');
16201
16290
  };
16202
16291
 
16203
16292
  _class.prototype['@test isVisible does not overwrite component style'] = function testIsVisibleDoesNotOverwriteComponentStyle(assert) {
16204
- var _this73 = this;
16293
+ var _this74 = this;
16205
16294
 
16206
16295
  this.registerComponent('foo-bar', {
16207
16296
  ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
@@ -16224,7 +16313,7 @@ babelHelpers.classCallCheck(this, _class);
16224
16313
  this.assertStableRerender();
16225
16314
 
16226
16315
  this.runTask(function () {
16227
- _emberMetal.set(_this73.context, 'visible', true);
16316
+ _emberMetal.set(_this74.context, 'visible', true);
16228
16317
  });
16229
16318
 
16230
16319
  this.assertComponentElement(this.firstChild, {
@@ -16233,7 +16322,7 @@ babelHelpers.classCallCheck(this, _class);
16233
16322
  });
16234
16323
 
16235
16324
  this.runTask(function () {
16236
- _emberMetal.set(_this73.context, 'visible', false);
16325
+ _emberMetal.set(_this74.context, 'visible', false);
16237
16326
  });
16238
16327
 
16239
16328
  this.assertComponentElement(this.firstChild, {
@@ -16243,11 +16332,11 @@ babelHelpers.classCallCheck(this, _class);
16243
16332
  };
16244
16333
 
16245
16334
  _class.prototype['@test adds isVisible binding when style binding is missing and other bindings exist'] = function testAddsIsVisibleBindingWhenStyleBindingIsMissingAndOtherBindingsExist(assert) {
16246
- var _this74 = this;
16335
+ var _this75 = this;
16247
16336
 
16248
16337
  var assertStyle = function (expected) {
16249
16338
  var matcher = _emberGlimmerTestsUtilsTestHelpers.styles(expected);
16250
- var actual = _this74.firstChild.getAttribute('style');
16339
+ var actual = _this75.firstChild.getAttribute('style');
16251
16340
 
16252
16341
  assert.pushResult({
16253
16342
  result: matcher.match(actual),
@@ -16275,14 +16364,14 @@ babelHelpers.classCallCheck(this, _class);
16275
16364
  this.assertStableRerender();
16276
16365
 
16277
16366
  this.runTask(function () {
16278
- _emberMetal.set(_this74.context, 'visible', true);
16367
+ _emberMetal.set(_this75.context, 'visible', true);
16279
16368
  });
16280
16369
 
16281
16370
  assertStyle('');
16282
16371
 
16283
16372
  this.runTask(function () {
16284
- _emberMetal.set(_this74.context, 'visible', false);
16285
- _emberMetal.set(_this74.context, 'foo', 'woo');
16373
+ _emberMetal.set(_this75.context, 'visible', false);
16374
+ _emberMetal.set(_this75.context, 'foo', 'woo');
16286
16375
  });
16287
16376
 
16288
16377
  assertStyle('display: none;');
@@ -16290,14 +16379,14 @@ babelHelpers.classCallCheck(this, _class);
16290
16379
  };
16291
16380
 
16292
16381
  _class.prototype['@test it can use readDOMAttr to read input value'] = function testItCanUseReadDOMAttrToReadInputValue() {
16293
- var _this75 = this;
16382
+ var _this76 = this;
16294
16383
 
16295
16384
  var component = undefined;
16296
16385
  var assertElement = function (expectedValue) {
16297
16386
  // value is a property, not an attribute
16298
- _this75.assertHTML('<input class="ember-view" id="' + component.elementId + '">');
16299
- _this75.assert.equal(_this75.firstChild.value, expectedValue, 'value property is correct');
16300
- _this75.assert.equal(_emberMetal.get(component, 'value'), expectedValue, 'component.get("value") is correct');
16387
+ _this76.assertHTML('<input class="ember-view" id="' + component.elementId + '">');
16388
+ _this76.assert.equal(_this76.firstChild.value, expectedValue, 'value property is correct');
16389
+ _this76.assert.equal(_emberMetal.get(component, 'value'), expectedValue, 'component.get("value") is correct');
16301
16390
  };
16302
16391
 
16303
16392
  this.registerComponent('one-way-input', {
@@ -16326,15 +16415,15 @@ babelHelpers.classCallCheck(this, _class);
16326
16415
  this.assertStableRerender();
16327
16416
 
16328
16417
  this.runTask(function () {
16329
- _this75.firstChild.value = 'bar';
16330
- _this75.$('input').trigger('change');
16418
+ _this76.firstChild.value = 'bar';
16419
+ _this76.$('input').trigger('change');
16331
16420
  });
16332
16421
 
16333
16422
  assertElement('bar');
16334
16423
 
16335
16424
  this.runTask(function () {
16336
- _this75.firstChild.value = 'foo';
16337
- _this75.$('input').trigger('change');
16425
+ _this76.firstChild.value = 'foo';
16426
+ _this76.$('input').trigger('change');
16338
16427
  });
16339
16428
 
16340
16429
  assertElement('foo');
@@ -16346,8 +16435,8 @@ babelHelpers.classCallCheck(this, _class);
16346
16435
  assertElement('bar');
16347
16436
 
16348
16437
  this.runTask(function () {
16349
- _this75.firstChild.value = 'foo';
16350
- _this75.$('input').trigger('change');
16438
+ _this76.firstChild.value = 'foo';
16439
+ _this76.$('input').trigger('change');
16351
16440
  });
16352
16441
 
16353
16442
  assertElement('foo');
@@ -16439,7 +16528,7 @@ babelHelpers.classCallCheck(this, _class);
16439
16528
  };
16440
16529
 
16441
16530
  _class.prototype['@test using didInitAttrs as an event is deprecated'] = function testUsingDidInitAttrsAsAnEventIsDeprecated(assert) {
16442
- var _this76 = this;
16531
+ var _this77 = this;
16443
16532
 
16444
16533
  this.registerComponent('foo-bar', {
16445
16534
  ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
@@ -16450,7 +16539,7 @@ babelHelpers.classCallCheck(this, _class);
16450
16539
  });
16451
16540
 
16452
16541
  expectDeprecation(function () {
16453
- _this76.render('{{foo-bar}}');
16542
+ _this77.render('{{foo-bar}}');
16454
16543
  }, /didInitAttrs called/);
16455
16544
  };
16456
16545
 
@@ -16461,7 +16550,7 @@ babelHelpers.classCallCheck(this, _class);
16461
16550
  // like there is no real "attrs" here, and there is no "update" pass.
16462
16551
 
16463
16552
  _class.prototype['@test did{Init,Receive}Attrs fires even if component is not rendered'] = function testDidInitReceiveAttrsFiresEvenIfComponentIsNotRendered(assert) {
16464
- var _this77 = this;
16553
+ var _this78 = this;
16465
16554
 
16466
16555
  expectDeprecation(/didInitAttrs called/);
16467
16556
 
@@ -16495,7 +16584,7 @@ babelHelpers.classCallCheck(this, _class);
16495
16584
  assert.strictEqual(didReceiveAttrsCount, 0, 'precond: didReceiveAttrs is not fired');
16496
16585
 
16497
16586
  this.runTask(function () {
16498
- return _this77.component = _this77.owner.lookup('component:foo-bar');
16587
+ return _this78.component = _this78.owner.lookup('component:foo-bar');
16499
16588
  });
16500
16589
 
16501
16590
  assert.strictEqual(didInitAttrsCount, 1, 'precond: didInitAttrs is fired');
@@ -16503,7 +16592,7 @@ babelHelpers.classCallCheck(this, _class);
16503
16592
  };
16504
16593
 
16505
16594
  _class.prototype['@test did{Init,Receive}Attrs fires after .init() but before observers become active'] = function testDidInitReceiveAttrsFiresAfterInitButBeforeObserversBecomeActive(assert) {
16506
- var _this78 = this;
16595
+ var _this79 = this;
16507
16596
 
16508
16597
  expectDeprecation(/didInitAttrs called/);
16509
16598
 
@@ -16550,7 +16639,7 @@ babelHelpers.classCallCheck(this, _class);
16550
16639
  assert.strictEqual(barCopyDidChangeCount, 0, 'expected NO observer firing for: barCopy');
16551
16640
 
16552
16641
  this.runTask(function () {
16553
- return _emberMetal.set(_this78.context, 'foo', 5);
16642
+ return _emberMetal.set(_this79.context, 'foo', 5);
16554
16643
  });
16555
16644
 
16556
16645
  this.assertText('5-2-3-4');
@@ -16559,7 +16648,7 @@ babelHelpers.classCallCheck(this, _class);
16559
16648
  assert.strictEqual(barCopyDidChangeCount, 0, 'expected NO observer firing for: barCopy');
16560
16649
 
16561
16650
  this.runTask(function () {
16562
- return _emberMetal.set(_this78.context, 'bar', 7);
16651
+ return _emberMetal.set(_this79.context, 'bar', 7);
16563
16652
  });
16564
16653
 
16565
16654
  this.assertText('5-2-7-8');
@@ -16601,7 +16690,7 @@ babelHelpers.classCallCheck(this, _class);
16601
16690
  };
16602
16691
 
16603
16692
  _class.prototype['@test can access didUpdateAttrs arguments [DEPRECATED]'] = function testCanAccessDidUpdateAttrsArgumentsDEPRECATED(assert) {
16604
- var _this79 = this;
16693
+ var _this80 = this;
16605
16694
 
16606
16695
  expectDeprecation(/didUpdateAttrs.*stop taking arguments/);
16607
16696
 
@@ -16620,12 +16709,12 @@ babelHelpers.classCallCheck(this, _class);
16620
16709
  this.render('{{foo-bar foo=foo bar=bar}}', { foo: 1, bar: 3 });
16621
16710
 
16622
16711
  this.runTask(function () {
16623
- return _emberMetal.set(_this79.context, 'foo', 5);
16712
+ return _emberMetal.set(_this80.context, 'foo', 5);
16624
16713
  });
16625
16714
  };
16626
16715
 
16627
16716
  _class.prototype['@test overriding didUpdateAttrs does not trigger deprecation'] = function testOverridingDidUpdateAttrsDoesNotTriggerDeprecation(assert) {
16628
- var _this80 = this;
16717
+ var _this81 = this;
16629
16718
 
16630
16719
  this.registerComponent('foo-bar', {
16631
16720
  ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
@@ -16640,12 +16729,12 @@ babelHelpers.classCallCheck(this, _class);
16640
16729
  this.render('{{foo-bar foo=foo bar=bar}}', { foo: 1, bar: 3 });
16641
16730
 
16642
16731
  this.runTask(function () {
16643
- return _emberMetal.set(_this80.context, 'foo', 5);
16732
+ return _emberMetal.set(_this81.context, 'foo', 5);
16644
16733
  });
16645
16734
  };
16646
16735
 
16647
16736
  _class.prototype['@test returning `true` from an action does not bubble if `target` is not specified (GH#14275)'] = function testReturningTrueFromAnActionDoesNotBubbleIfTargetIsNotSpecifiedGH14275(assert) {
16648
- var _this81 = this;
16737
+ var _this82 = this;
16649
16738
 
16650
16739
  this.registerComponent('display-toggle', {
16651
16740
  ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
@@ -16669,12 +16758,12 @@ babelHelpers.classCallCheck(this, _class);
16669
16758
  this.assertText('Show');
16670
16759
 
16671
16760
  this.runTask(function () {
16672
- return _this81.$('button').click();
16761
+ return _this82.$('button').click();
16673
16762
  });
16674
16763
  };
16675
16764
 
16676
16765
  _class.prototype['@test returning `true` from an action bubbles to the `target` if specified'] = function testReturningTrueFromAnActionBubblesToTheTargetIfSpecified(assert) {
16677
- var _this82 = this;
16766
+ var _this83 = this;
16678
16767
 
16679
16768
  assert.expect(4);
16680
16769
 
@@ -16701,12 +16790,12 @@ babelHelpers.classCallCheck(this, _class);
16701
16790
  this.assertText('Show');
16702
16791
 
16703
16792
  this.runTask(function () {
16704
- return _this82.$('button').click();
16793
+ return _this83.$('button').click();
16705
16794
  });
16706
16795
  };
16707
16796
 
16708
16797
  _class.prototype['@test component yielding in an {{#each}} has correct block values after rerendering (GH#14284)'] = function testComponentYieldingInAnEachHasCorrectBlockValuesAfterRerenderingGH14284() {
16709
- var _this83 = this;
16798
+ var _this84 = this;
16710
16799
 
16711
16800
  this.registerComponent('list-items', {
16712
16801
  template: '{{#each items as |item|}}{{yield item}}{{/each}}'
@@ -16722,13 +16811,13 @@ babelHelpers.classCallCheck(this, _class);
16722
16811
  this.assertStableRerender();
16723
16812
 
16724
16813
  this.runTask(function () {
16725
- return _emberMetal.set(_this83.context, 'editMode', true);
16814
+ return _emberMetal.set(_this84.context, 'editMode', true);
16726
16815
  });
16727
16816
 
16728
16817
  this.assertText('|foo|Remove foo|bar|Remove bar|qux|Remove qux|baz|Remove baz');
16729
16818
 
16730
16819
  this.runTask(function () {
16731
- return _emberMetal.set(_this83.context, 'editMode', false);
16820
+ return _emberMetal.set(_this84.context, 'editMode', false);
16732
16821
  });
16733
16822
 
16734
16823
  this.assertText('|foo||bar||qux||baz|');
@@ -16867,7 +16956,7 @@ enifed('ember-glimmer/tests/integration/components/destroy-test.lint-test', ['ex
16867
16956
  assert.ok(true, 'ember-glimmer/tests/integration/components/destroy-test.js should pass ESLint\n\n');
16868
16957
  });
16869
16958
  });
16870
- enifed('ember-glimmer/tests/integration/components/dynamic-components-test', ['exports', 'ember-metal', 'ember-glimmer/tests/utils/helpers', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-glimmer/tests/utils/test-case'], function (exports, _emberMetal, _emberGlimmerTestsUtilsHelpers, _emberGlimmerTestsUtilsAbstractTestCase, _emberGlimmerTestsUtilsTestCase) {
16959
+ enifed('ember-glimmer/tests/integration/components/dynamic-components-test', ['exports', 'ember-metal', 'ember-glimmer/tests/utils/helpers', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-glimmer/tests/utils/test-case', 'ember-debug'], function (exports, _emberMetal, _emberGlimmerTestsUtilsHelpers, _emberGlimmerTestsUtilsAbstractTestCase, _emberGlimmerTestsUtilsTestCase, _emberDebug) {
16871
16960
  'use strict';
16872
16961
 
16873
16962
  var _templateObject = babelHelpers.taggedTemplateLiteralLoose(['\n {{#if cond1}}\n {{#component "foo-bar" id=1}}\n {{#if cond2}}\n {{#component "foo-bar" id=2}}{{/component}}\n {{#if cond3}}\n {{#component "foo-bar" id=3}}\n {{#if cond4}}\n {{#component "foo-bar" id=4}}\n {{#if cond5}}\n {{#component "foo-bar" id=5}}{{/component}}\n {{#component "foo-bar" id=6}}{{/component}}\n {{#component "foo-bar" id=7}}{{/component}}\n {{/if}}\n {{#component "foo-bar" id=8}}{{/component}}\n {{/component}}\n {{/if}}\n {{/component}}\n {{/if}}\n {{/if}}\n {{/component}}\n {{/if}}'], ['\n {{#if cond1}}\n {{#component "foo-bar" id=1}}\n {{#if cond2}}\n {{#component "foo-bar" id=2}}{{/component}}\n {{#if cond3}}\n {{#component "foo-bar" id=3}}\n {{#if cond4}}\n {{#component "foo-bar" id=4}}\n {{#if cond5}}\n {{#component "foo-bar" id=5}}{{/component}}\n {{#component "foo-bar" id=6}}{{/component}}\n {{#component "foo-bar" id=7}}{{/component}}\n {{/if}}\n {{#component "foo-bar" id=8}}{{/component}}\n {{/component}}\n {{/if}}\n {{/component}}\n {{/if}}\n {{/if}}\n {{/component}}\n {{/if}}']),
@@ -21195,7 +21284,7 @@ enifed('ember-glimmer/tests/integration/components/will-destroy-element-hook-tes
21195
21284
  assert.ok(true, 'ember-glimmer/tests/integration/components/will-destroy-element-hook-test.js should pass ESLint\n\n');
21196
21285
  });
21197
21286
  });
21198
- enifed('ember-glimmer/tests/integration/content-test', ['exports', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-metal', 'ember-runtime', 'ember-glimmer/tests/utils/test-helpers', 'ember-views', 'ember-glimmer/tests/utils/helpers'], function (exports, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsAbstractTestCase, _emberMetal, _emberRuntime, _emberGlimmerTestsUtilsTestHelpers, _emberViews, _emberGlimmerTestsUtilsHelpers) {
21287
+ enifed('ember-glimmer/tests/integration/content-test', ['exports', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-metal', 'ember-debug', 'ember-runtime', 'ember-glimmer/tests/utils/test-helpers', 'ember-views', 'ember-glimmer/tests/utils/helpers'], function (exports, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsAbstractTestCase, _emberMetal, _emberDebug, _emberRuntime, _emberGlimmerTestsUtilsTestHelpers, _emberViews, _emberGlimmerTestsUtilsHelpers) {
21199
21288
  /* globals EmberDev */
21200
21289
  'use strict';
21201
21290
 
@@ -22638,8 +22727,8 @@ enifed('ember-glimmer/tests/integration/content-test', ['exports', 'ember-glimme
22638
22727
 
22639
22728
  _RenderingTest4.apply(this, arguments);
22640
22729
  warnings = [];
22641
- originalWarn = _emberMetal.getDebugFunction('warn');
22642
- _emberMetal.setDebugFunction('warn', function (message, test) {
22730
+ originalWarn = _emberDebug.getDebugFunction('warn');
22731
+ _emberDebug.setDebugFunction('warn', function (message, test) {
22643
22732
  if (!test) {
22644
22733
  warnings.push(message);
22645
22734
  }
@@ -22650,7 +22739,7 @@ enifed('ember-glimmer/tests/integration/content-test', ['exports', 'ember-glimme
22650
22739
  var _RenderingTest4$prototype$teardown;
22651
22740
 
22652
22741
  (_RenderingTest4$prototype$teardown = _RenderingTest4.prototype.teardown).call.apply(_RenderingTest4$prototype$teardown, [this].concat(babelHelpers.slice.call(arguments)));
22653
- _emberMetal.setDebugFunction('warn', originalWarn);
22742
+ _emberDebug.setDebugFunction('warn', originalWarn);
22654
22743
  };
22655
22744
 
22656
22745
  StyleTest.prototype.assertStyleWarning = function assertStyleWarning(style) {
@@ -22870,7 +22959,7 @@ enifed('ember-glimmer/tests/integration/content-test.lint-test', ['exports'], fu
22870
22959
  assert.ok(true, 'ember-glimmer/tests/integration/content-test.js should pass ESLint\n\n');
22871
22960
  });
22872
22961
  });
22873
- enifed('ember-glimmer/tests/integration/event-dispatcher-test', ['exports', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/helpers', 'ember-metal'], function (exports, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsHelpers, _emberMetal) {
22962
+ enifed('ember-glimmer/tests/integration/event-dispatcher-test', ['exports', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/helpers', 'ember-metal', 'ember-debug'], function (exports, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsHelpers, _emberMetal, _emberDebug) {
22874
22963
  'use strict';
22875
22964
 
22876
22965
  var canDataTransfer = !!document.createEvent('HTMLEvents').dataTransfer;
@@ -23265,7 +23354,7 @@ enifed('ember-glimmer/tests/integration/helpers/-class-test.lint-test', ['export
23265
23354
  assert.ok(true, 'ember-glimmer/tests/integration/helpers/-class-test.js should pass ESLint\n\n');
23266
23355
  });
23267
23356
  });
23268
- enifed('ember-glimmer/tests/integration/helpers/closure-action-test', ['exports', 'ember-metal', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-glimmer/tests/utils/helpers'], function (exports, _emberMetal, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsAbstractTestCase, _emberGlimmerTestsUtilsHelpers) {
23357
+ enifed('ember-glimmer/tests/integration/helpers/closure-action-test', ['exports', 'ember-metal', 'ember-debug', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-glimmer/tests/utils/helpers'], function (exports, _emberMetal, _emberDebug, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsAbstractTestCase, _emberGlimmerTestsUtilsHelpers) {
23269
23358
  'use strict';
23270
23359
 
23271
23360
  var _templateObject = babelHelpers.taggedTemplateLiteralLoose(['\n <div id="counter">clicked: {{clicked}}; foo: {{foo}}</div>\n\n {{click-me id="string-action" onClick=(action "on-click")}}\n {{click-me id="function-action" onClick=(action onClick)}}\n {{click-me id="mut-action" onClick=(action (mut clicked))}}\n '], ['\n <div id="counter">clicked: {{clicked}}; foo: {{foo}}</div>\n\n {{click-me id="string-action" onClick=(action "on-click")}}\n {{click-me id="function-action" onClick=(action onClick)}}\n {{click-me id="mut-action" onClick=(action (mut clicked))}}\n ']);
@@ -25194,9 +25283,9 @@ enifed('ember-glimmer/tests/integration/helpers/custom-helper-test', ['exports',
25194
25283
 
25195
25284
  this.registerHelper('some-helper', function () {});
25196
25285
 
25197
- expectAssertion(function () {
25286
+ this.assert.throws(function () {
25198
25287
  _this18.render('<div {{some-helper}}></div>');
25199
- }, /Helpers may not be used in the element form/);
25288
+ }, /Compile Error some-helper is not a modifier: Helpers may not be used in the element form/);
25200
25289
  };
25201
25290
 
25202
25291
  _class.prototype['@test class-based helper not usable within element'] = function testClassBasedHelperNotUsableWithinElement() {
@@ -25206,9 +25295,9 @@ enifed('ember-glimmer/tests/integration/helpers/custom-helper-test', ['exports',
25206
25295
  compute: function () {}
25207
25296
  });
25208
25297
 
25209
- expectAssertion(function () {
25298
+ this.assert.throws(function () {
25210
25299
  _this19.render('<div {{some-helper}}></div>');
25211
- }, /Helpers may not be used in the element form/);
25300
+ }, /Compile Error some-helper is not a modifier: Helpers may not be used in the element form/);
25212
25301
  };
25213
25302
 
25214
25303
  _class.prototype['@test class-based helper is torn down'] = function testClassBasedHelperIsTornDown() {
@@ -25513,295 +25602,7 @@ enifed('ember-glimmer/tests/integration/helpers/custom-helper-test.lint-test', [
25513
25602
  assert.ok(true, 'ember-glimmer/tests/integration/helpers/custom-helper-test.js should pass ESLint\n\n');
25514
25603
  });
25515
25604
  });
25516
- enifed('ember-glimmer/tests/integration/helpers/debugger-test', ['exports', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/helpers', 'ember-glimmer/helpers/debugger', 'ember-metal', 'ember-runtime'], function (exports, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsHelpers, _emberGlimmerHelpersDebugger, _emberMetal, _emberRuntime) {
25517
- 'use strict';
25518
-
25519
- // This file is generally not I-N-U-R tested, because the {{debugger}} helper currently
25520
- // does not run during re-render. This is something we eventually want to do, and when
25521
- // we implement that feature these tests should be updated accordingly.
25522
-
25523
- _emberGlimmerTestsUtilsTestCase.moduleFor('Helpers test: {{debugger}}', (function (_RenderingTest) {
25524
- babelHelpers.inherits(_class, _RenderingTest);
25525
-
25526
- function _class() {
25527
- babelHelpers.classCallCheck(this, _class);
25528
-
25529
- _RenderingTest.apply(this, arguments);
25530
- }
25531
-
25532
- _class.prototype.teardown = function teardown() {
25533
- _RenderingTest.prototype.teardown.call(this);
25534
- _emberGlimmerHelpersDebugger.resetDebuggerCallback();
25535
- };
25536
-
25537
- _class.prototype.expectDebuggerCallback = function expectDebuggerCallback(callback, debuggerCallback) {
25538
- var times = arguments.length <= 2 || arguments[2] === undefined ? 1 : arguments[2];
25539
-
25540
- var called = 0;
25541
-
25542
- _emberGlimmerHelpersDebugger.setDebuggerCallback(function (context, get) {
25543
- called++;
25544
- debuggerCallback(context, get);
25545
- });
25546
-
25547
- callback();
25548
-
25549
- this.assert.strictEqual(called, times, 'Expect debugger callback to be called exactly ' + times + ' time(s)');
25550
- };
25551
-
25552
- _class.prototype.expectNoDebuggerCallback = function expectNoDebuggerCallback(callback) {
25553
- var called = 0;
25554
-
25555
- _emberGlimmerHelpersDebugger.setDebuggerCallback(function () {
25556
- return called++;
25557
- });
25558
-
25559
- callback();
25560
-
25561
- this.assert.strictEqual(called, 0, 'Expect no debugger callback');
25562
- };
25563
-
25564
- _class.prototype['@test should have the right context when used in a component layout'] = function testShouldHaveTheRightContextWhenUsedInAComponentLayout(assert) {
25565
- var _this = this;
25566
-
25567
- var instance = undefined;
25568
-
25569
- this.registerComponent('my-wrapper', {
25570
- template: '{{yield}}'
25571
- });
25572
-
25573
- this.registerComponent('foo-bar', {
25574
- ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
25575
- init: function () {
25576
- this._super();
25577
- instance = this;
25578
- }
25579
- }),
25580
- template: '{{debugger}}foo-bar'
25581
- });
25582
-
25583
- this.expectDebuggerCallback(function () {
25584
- _this.render('{{#my-wrapper}}{{foo-bar}}{{/my-wrapper}}');
25585
- }, function (context) {
25586
- assert.strictEqual(context, instance, 'context should be the component instance');
25587
- });
25588
-
25589
- this.assertText('foo-bar');
25590
-
25591
- this.expectNoDebuggerCallback(function () {
25592
- return _this.runTask(function () {
25593
- return _this.rerender();
25594
- });
25595
- });
25596
-
25597
- this.assertText('foo-bar');
25598
- };
25599
-
25600
- _class.prototype['@test should have the right context when yielded'] = function testShouldHaveTheRightContextWhenYielded(assert) {
25601
- var _this2 = this;
25602
-
25603
- var instance = undefined;
25604
-
25605
- this.registerComponent('my-wrapper', {
25606
- template: '{{yield}}'
25607
- });
25608
-
25609
- this.registerComponent('foo-bar', {
25610
- ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
25611
- init: function () {
25612
- this._super();
25613
- instance = this;
25614
- }
25615
- }),
25616
- template: '{{#my-wrapper}}{{debugger}}foo-bar{{/my-wrapper}}'
25617
- });
25618
-
25619
- this.expectDebuggerCallback(function () {
25620
- _this2.render('{{foo-bar}}');
25621
- }, function (context) {
25622
- assert.strictEqual(context, instance, 'context should be the component instance');
25623
- });
25624
-
25625
- this.assertText('foo-bar');
25626
-
25627
- this.expectNoDebuggerCallback(function () {
25628
- return _this2.runTask(function () {
25629
- return _this2.rerender();
25630
- });
25631
- });
25632
-
25633
- this.assertText('foo-bar');
25634
- };
25635
-
25636
- _class.prototype['@test should be called once per iteration in a loop'] = function testShouldBeCalledOncePerIterationInALoop(assert) {
25637
- var _this3 = this;
25638
-
25639
- var count = 0;
25640
-
25641
- _emberGlimmerHelpersDebugger.setDebuggerCallback(function () {
25642
- return count++;
25643
- });
25644
-
25645
- var items = _emberRuntime.A([1, 2, 3, 4, 5]);
25646
-
25647
- this.render('{{#each items as |item|}}{{debugger}}[{{item}}]{{/each}}', { items: items });
25648
-
25649
- this.assertText('[1][2][3][4][5]');
25650
-
25651
- assert.equal(count, 5, 'should have fired once per iteration');
25652
-
25653
- count = 0;
25654
-
25655
- this.runTask(function () {
25656
- return _this3.rerender();
25657
- });
25658
-
25659
- this.assertText('[1][2][3][4][5]');
25660
-
25661
- assert.strictEqual(count, 0, 'should not fire for re-render');
25662
-
25663
- count = 0;
25664
-
25665
- this.runTask(function () {
25666
- return items.pushObjects([6, 7, 8]);
25667
- });
25668
-
25669
- this.assertText('[1][2][3][4][5][6][7][8]');
25670
-
25671
- assert.equal(count, 3, 'should fire once per new items added to the loop');
25672
- };
25673
-
25674
- _class.prototype['@test could `get` properties from "self"'] = function testCouldGetPropertiesFromSelf(assert) {
25675
- var _this4 = this;
25676
-
25677
- this.registerComponent('foo-bar', {
25678
- ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
25679
- init: function () {
25680
- this._super();
25681
- this.zomg = 'zomg';
25682
- }
25683
- }),
25684
- template: '{{debugger not.here}}foo-bar'
25685
- });
25686
-
25687
- this.expectDebuggerCallback(function () {
25688
- _this4.render('{{foo-bar lol="lol" foo=foo}}', { foo: { bar: { baz: 'fooBarBaz' } } });
25689
- }, function (context, get) {
25690
- assert.equal(get('this'), context, '{{this}}');
25691
-
25692
- assert.equal(get('lol'), 'lol', '{{lol}}');
25693
- assert.equal(get('this.lol'), 'lol', '{{this.lol}}');
25694
-
25695
- assert.equal(get('zomg'), 'zomg', '{{zomg}}');
25696
- assert.equal(get('this.zomg'), 'zomg', '{{this.zomg}}');
25697
-
25698
- assert.equal(get('foo.bar.baz'), 'fooBarBaz', '{{foo.bar.baz}}');
25699
- assert.equal(get('this.foo.bar.baz'), 'fooBarBaz', '{{this.foo.bar.baz}}');
25700
-
25701
- assert.strictEqual(get('nope'), undefined, '{{nope}}');
25702
- assert.strictEqual(get('this.nope'), undefined, '{{this.nope}}');
25703
-
25704
- assert.strictEqual(get('not.here'), undefined, '{{not.here}}');
25705
- assert.strictEqual(get('this.not.here'), undefined, '{{this.not.here}}');
25706
- });
25707
-
25708
- this.assertText('foo-bar');
25709
-
25710
- this.expectNoDebuggerCallback(function () {
25711
- return _this4.runTask(function () {
25712
- return _this4.rerender();
25713
- });
25714
- });
25715
-
25716
- this.assertText('foo-bar');
25717
- };
25718
-
25719
- _class.prototype['@test could `get` local variables'] = function testCouldGetLocalVariables(assert) {
25720
- var _this5 = this;
25721
-
25722
- var obj = {
25723
- foo: 'foo',
25724
- bar: { baz: { bat: 'barBazBat' } }
25725
- };
25726
-
25727
- this.expectDebuggerCallback(function () {
25728
- _this5.render('{{#each-in obj as |key value|}}{{debugger}}[{{key}}]{{/each-in}}', { obj: obj });
25729
- }, function (context, get) {
25730
- assert.equal(get('this'), context, '{{this}}');
25731
-
25732
- assert.equal(get('obj'), obj);
25733
-
25734
- // Glimmer bug:
25735
- // assert.strictEqual(get('this.key'), undefined, '{{this.key}}');
25736
- // assert.strictEqual(get('this.value'), undefined, '{{this.value}}');
25737
-
25738
- var key = get('key');
25739
-
25740
- if (key === 'foo') {
25741
- assert.equal(get('value'), 'foo', '{{value}} for key=foo');
25742
- assert.strictEqual(get('value.baz.bat'), undefined, '{{value.baz.bat}} for key=foo');
25743
- assert.strictEqual(get('value.nope'), undefined, '{{value.nope}} for key=foo');
25744
- } else if (key === 'bar') {
25745
- assert.equal(get('value'), obj.bar, '{{value}} for key=bar');
25746
- assert.equal(get('value.baz.bat'), 'barBazBat', '{{value.baz.bat}} for key=bar');
25747
- assert.strictEqual(get('value.nope'), undefined, '{{value.nope}} for key=bar');
25748
- } else {
25749
- assert.ok(false, 'Unknown key: ' + key);
25750
- }
25751
- }, 2);
25752
-
25753
- this.assertText('[foo][bar]');
25754
-
25755
- this.expectNoDebuggerCallback(function () {
25756
- return _this5.runTask(function () {
25757
- return _this5.rerender();
25758
- });
25759
- });
25760
-
25761
- this.assertText('[foo][bar]');
25762
-
25763
- this.expectDebuggerCallback(function () {
25764
- _this5.runTask(function () {
25765
- return _emberMetal.set(obj, 'baz', 'baz');
25766
- });
25767
- }, function (context, get) {
25768
- assert.equal(get('this'), context, '{{this}}');
25769
-
25770
- assert.equal(get('obj'), obj);
25771
-
25772
- assert.strictEqual(get('this.key'), undefined, '{{this.key}}');
25773
- assert.strictEqual(get('this.value'), undefined, '{{this.value}}');
25774
-
25775
- assert.equal(get('key'), 'baz', '{{key}} for key=baz');
25776
- assert.equal(get('value'), 'baz', '{{value}} for key=baz');
25777
- assert.strictEqual(get('value.baz.bat'), undefined, '{{value.baz.bat}} for key=baz');
25778
- assert.strictEqual(get('value.nope'), undefined, '{{value.nope}} for key=baz');
25779
- });
25780
-
25781
- this.assertText('[foo][bar][baz]');
25782
-
25783
- this.expectNoDebuggerCallback(function () {
25784
- return _this5.runTask(function () {
25785
- return _this5.rerender();
25786
- });
25787
- });
25788
-
25789
- this.assertText('[foo][bar][baz]');
25790
- };
25791
-
25792
- return _class;
25793
- })(_emberGlimmerTestsUtilsTestCase.RenderingTest));
25794
- });
25795
- enifed('ember-glimmer/tests/integration/helpers/debugger-test.lint-test', ['exports'], function (exports) {
25796
- 'use strict';
25797
-
25798
- QUnit.module('ESLint | ember-glimmer/tests/integration/helpers/debugger-test.js');
25799
- QUnit.test('should pass ESLint', function (assert) {
25800
- assert.expect(1);
25801
- assert.ok(true, 'ember-glimmer/tests/integration/helpers/debugger-test.js should pass ESLint\n\n');
25802
- });
25803
- });
25804
- enifed('ember-glimmer/tests/integration/helpers/element-action-test', ['exports', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-glimmer/tests/utils/helpers', 'ember-metal', 'ember-runtime', 'ember-views'], function (exports, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsAbstractTestCase, _emberGlimmerTestsUtilsHelpers, _emberMetal, _emberRuntime, _emberViews) {
25605
+ enifed('ember-glimmer/tests/integration/helpers/element-action-test', ['exports', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/abstract-test-case', 'ember-glimmer/tests/utils/helpers', 'ember-metal', 'ember-debug', 'ember-runtime', 'ember-views'], function (exports, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsAbstractTestCase, _emberGlimmerTestsUtilsHelpers, _emberMetal, _emberDebug, _emberRuntime, _emberViews) {
25805
25606
  'use strict';
25806
25607
 
25807
25608
  var _templateObject = babelHelpers.taggedTemplateLiteralLoose(['\n {{#inner-component}}\n <button {{action "wat"}}>Wat me!</button>\n {{/inner-component}}\n '], ['\n {{#inner-component}}\n <button {{action "wat"}}>Wat me!</button>\n {{/inner-component}}\n ']),
@@ -27344,42 +27145,6 @@ babelHelpers.classCallCheck(this, _class2);
27344
27145
  this.assertText('Click me');
27345
27146
  };
27346
27147
 
27347
- _class2.prototype['@test action handler that shifts element attributes doesn\'t trigger multiple invocations'] = function testActionHandlerThatShiftsElementAttributesDoesnTTriggerMultipleInvocations() {
27348
- var _this34 = this;
27349
-
27350
- var actionCount = 0;
27351
- var ExampleComponent = _emberGlimmerTestsUtilsHelpers.Component.extend({
27352
- selected: false,
27353
- actions: {
27354
- toggleSelected: function () {
27355
- actionCount++;
27356
- this.toggleProperty('selected');
27357
- }
27358
- }
27359
- });
27360
-
27361
- this.registerComponent('example-component', {
27362
- ComponentClass: ExampleComponent,
27363
- template: '<button class="{{if selected \'selected\'}}" {{action "toggleSelected"}}>Toggle Selected</button>'
27364
- });
27365
-
27366
- this.render('{{example-component}}');
27367
-
27368
- this.runTask(function () {
27369
- _this34.$('button').click();
27370
- });
27371
-
27372
- this.assert.equal(actionCount, 1, 'Click action only fired once.');
27373
- this.assert.ok(this.$('button').hasClass('selected'), 'Element with action handler has properly updated it\'s conditional class');
27374
-
27375
- this.runTask(function () {
27376
- _this34.$('button').click();
27377
- });
27378
-
27379
- this.assert.equal(actionCount, 2, 'Second click action only fired once.');
27380
- this.assert.ok(!this.$('button').hasClass('selected'), 'Element with action handler has properly updated it\'s conditional class');
27381
- };
27382
-
27383
27148
  return _class2;
27384
27149
  })(_emberGlimmerTestsUtilsTestCase.RenderingTest));
27385
27150
  });
@@ -30456,7 +30221,7 @@ enifed('ember-glimmer/tests/integration/helpers/readonly-test.lint-test', ['expo
30456
30221
  assert.ok(true, 'ember-glimmer/tests/integration/helpers/readonly-test.js should pass ESLint\n\n');
30457
30222
  });
30458
30223
  });
30459
- enifed('ember-glimmer/tests/integration/helpers/render-test', ['exports', 'ember-metal', 'ember-runtime', 'ember-glimmer/tests/utils/test-case'], function (exports, _emberMetal, _emberRuntime, _emberGlimmerTestsUtilsTestCase) {
30224
+ enifed('ember-glimmer/tests/integration/helpers/render-test', ['exports', 'ember-metal', 'ember-runtime', 'ember-glimmer/tests/utils/test-case', 'ember-debug'], function (exports, _emberMetal, _emberRuntime, _emberGlimmerTestsUtilsTestCase, _emberDebug) {
30460
30225
  'use strict';
30461
30226
 
30462
30227
  _emberGlimmerTestsUtilsTestCase.moduleFor('Helpers test: {{render}}', (function (_RenderingTest) {
@@ -32570,7 +32335,7 @@ enifed('ember-glimmer/tests/integration/input-test.lint-test', ['exports'], func
32570
32335
  assert.ok(true, 'ember-glimmer/tests/integration/input-test.js should pass ESLint\n\n');
32571
32336
  });
32572
32337
  });
32573
- enifed('ember-glimmer/tests/integration/mount-test', ['exports', 'ember-utils', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/helpers', 'ember-runtime', 'ember-metal', 'ember-application'], function (exports, _emberUtils, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsHelpers, _emberRuntime, _emberMetal, _emberApplication) {
32338
+ enifed('ember-glimmer/tests/integration/mount-test', ['exports', 'ember-utils', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/helpers', 'ember-runtime', 'ember-metal', 'ember-application', 'ember-debug'], function (exports, _emberUtils, _emberGlimmerTestsUtilsTestCase, _emberGlimmerTestsUtilsHelpers, _emberRuntime, _emberMetal, _emberApplication, _emberDebug) {
32574
32339
  'use strict';
32575
32340
 
32576
32341
  _emberGlimmerTestsUtilsTestCase.moduleFor('{{mount}} assertions', (function (_RenderingTest) {
@@ -32723,7 +32488,7 @@ enifed('ember-glimmer/tests/integration/mount-test.lint-test', ['exports'], func
32723
32488
  assert.ok(true, 'ember-glimmer/tests/integration/mount-test.js should pass ESLint\n\n');
32724
32489
  });
32725
32490
  });
32726
- enifed('ember-glimmer/tests/integration/outlet-test', ['exports', 'ember-glimmer/tests/utils/test-case', 'internal-test-helpers', 'ember-metal'], function (exports, _emberGlimmerTestsUtilsTestCase, _internalTestHelpers, _emberMetal) {
32491
+ enifed('ember-glimmer/tests/integration/outlet-test', ['exports', 'ember-glimmer/tests/utils/test-case', 'internal-test-helpers', 'ember-metal', 'ember-debug'], function (exports, _emberGlimmerTestsUtilsTestCase, _internalTestHelpers, _emberMetal, _emberDebug) {
32727
32492
  'use strict';
32728
32493
 
32729
32494
  _emberGlimmerTestsUtilsTestCase.moduleFor('outlet view', (function (_RenderingTest) {
@@ -35969,7 +35734,7 @@ enifed('ember-glimmer/tests/integration/syntax/with-test.lint-test', ['exports']
35969
35734
  assert.ok(true, 'ember-glimmer/tests/integration/syntax/with-test.js should pass ESLint\n\n');
35970
35735
  });
35971
35736
  });
35972
- enifed('ember-glimmer/tests/unit/layout-cache-test', ['exports', 'ember-glimmer/tests/utils/test-case', 'glimmer-runtime', 'ember-utils'], function (exports, _emberGlimmerTestsUtilsTestCase, _glimmerRuntime, _emberUtils) {
35737
+ enifed('ember-glimmer/tests/unit/layout-cache-test', ['exports', 'ember-glimmer/tests/utils/test-case', '@glimmer/runtime', 'ember-utils'], function (exports, _emberGlimmerTestsUtilsTestCase, _glimmerRuntime, _emberUtils) {
35973
35738
  'use strict';
35974
35739
 
35975
35740
  var Counter = (function () {
@@ -36281,10 +36046,10 @@ enifed('ember-glimmer/tests/unit/template-factory-test.lint-test', ['exports'],
36281
36046
  assert.ok(true, 'ember-glimmer/tests/unit/template-factory-test.js should pass ESLint\n\n');
36282
36047
  });
36283
36048
  });
36284
- enifed('ember-glimmer/tests/unit/utils/debug-stack-test', ['exports', 'ember-glimmer/utils/debug-stack', 'ember-metal'], function (exports, _emberGlimmerUtilsDebugStack, _emberMetal) {
36049
+ enifed('ember-glimmer/tests/unit/utils/debug-stack-test', ['exports', 'ember-glimmer/utils/debug-stack', 'ember-debug'], function (exports, _emberGlimmerUtilsDebugStack, _emberDebug) {
36285
36050
  'use strict';
36286
36051
 
36287
- _emberMetal.runInDebug(function () {
36052
+ _emberDebug.runInDebug(function () {
36288
36053
  QUnit.module('Glimmer DebugStack');
36289
36054
 
36290
36055
  QUnit.test('pushing and popping', function (assert) {
@@ -36323,6 +36088,224 @@ enifed('ember-glimmer/tests/unit/utils/debug-stack-test.lint-test', ['exports'],
36323
36088
  assert.ok(true, 'ember-glimmer/tests/unit/utils/debug-stack-test.js should pass ESLint\n\n');
36324
36089
  });
36325
36090
  });
36091
+ enifed('ember-glimmer/tests/unit/utils/iterable-test', ['exports', 'ember', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/utils/iterable', 'ember-glimmer/utils/references', 'ember-glimmer/helpers/each-in', '@glimmer/runtime'], function (exports, _ember, _emberGlimmerTestsUtilsTestCase, _emberGlimmerUtilsIterable, _emberGlimmerUtilsReferences, _emberGlimmerHelpersEachIn, _glimmerRuntime) {
36092
+ 'use strict';
36093
+
36094
+ var ITERATOR_KEY_GUID = 'be277757-bbbe-4620-9fcb-213ef433cca2';
36095
+
36096
+ _emberGlimmerTestsUtilsTestCase.moduleFor('Iterable', (function (_TestCase) {
36097
+ babelHelpers.inherits(_class, _TestCase);
36098
+
36099
+ function _class() {
36100
+ babelHelpers.classCallCheck(this, _class);
36101
+
36102
+ _TestCase.apply(this, arguments);
36103
+ }
36104
+
36105
+ _class.prototype['@test iterates over an array'] = function testIteratesOverAnArray() {
36106
+ var iterator = iteratorForArray(['foo', 'bar']);
36107
+
36108
+ this.assert.deepEqual(iterator.next(), { key: 'foo', memo: 0, value: 'foo' });
36109
+ this.assert.deepEqual(iterator.next(), { key: 'bar', memo: 1, value: 'bar' });
36110
+ };
36111
+
36112
+ _class.prototype['@test iterates over an `Ember.A`'] = function testIteratesOverAnEmberA() {
36113
+ var iterator = iteratorForArray(_ember.default.A(['foo', 'bar']));
36114
+
36115
+ this.assert.deepEqual(iterator.next(), { key: 'foo', memo: 0, value: 'foo' });
36116
+ this.assert.deepEqual(iterator.next(), { key: 'bar', memo: 1, value: 'bar' });
36117
+ };
36118
+
36119
+ _class.prototype['@test returns `null` when out of items'] = function testReturnsNullWhenOutOfItems() {
36120
+ var iterator = iteratorForArray(['foo']);
36121
+
36122
+ this.assert.deepEqual(iterator.next(), { key: 'foo', memo: 0, value: 'foo' });
36123
+ this.assert.deepEqual(iterator.next(), null);
36124
+ };
36125
+
36126
+ _class.prototype['@test iterates over an array with indices as keys'] = function testIteratesOverAnArrayWithIndicesAsKeys() {
36127
+ var iterator = iteratorForArray(['foo', 'bar'], '@index');
36128
+
36129
+ this.assert.deepEqual(iterator.next(), { key: '0', memo: 0, value: 'foo' });
36130
+ this.assert.deepEqual(iterator.next(), { key: '1', memo: 1, value: 'bar' });
36131
+ };
36132
+
36133
+ _class.prototype['@test iterates over an array with identities as keys'] = function testIteratesOverAnArrayWithIdentitiesAsKeys() {
36134
+ var iterator = iteratorForArray(['foo', 'bar'], '@identity');
36135
+
36136
+ this.assert.deepEqual(iterator.next(), { key: 'foo', memo: 0, value: 'foo' });
36137
+ this.assert.deepEqual(iterator.next(), { key: 'bar', memo: 1, value: 'bar' });
36138
+ };
36139
+
36140
+ _class.prototype['@test iterates over an array with arbitrary properties as keys'] = function testIteratesOverAnArrayWithArbitraryPropertiesAsKeys() {
36141
+ var iterator = iteratorForArray([{ k: 'first', v: 'foo' }, { k: 'second', v: 'bar' }], 'k');
36142
+
36143
+ this.assert.deepEqual(iterator.next(), { key: 'first', memo: 0, value: { k: 'first', v: 'foo' } });
36144
+ this.assert.deepEqual(iterator.next(), { key: 'second', memo: 1, value: { k: 'second', v: 'bar' } });
36145
+ };
36146
+
36147
+ _class.prototype['@test errors on `#next` with an undefined ref'] = function testErrorsOnNextWithAnUndefinedRef() {
36148
+ var iterator = iteratorForArray(undefined);
36149
+
36150
+ this.assert.expect(1);
36151
+
36152
+ try {
36153
+ iterator.next();
36154
+ } catch (_ref) {
36155
+ var _message = _ref.message;
36156
+
36157
+ this.assert.equal(_message, 'Cannot call next() on an empty iterator');
36158
+ }
36159
+ };
36160
+
36161
+ _class.prototype['@test errors on `#next` with a null ref'] = function testErrorsOnNextWithANullRef() {
36162
+ var iterator = iteratorForArray(null);
36163
+
36164
+ this.assert.expect(1);
36165
+
36166
+ try {
36167
+ iterator.next();
36168
+ } catch (_ref2) {
36169
+ var _message2 = _ref2.message;
36170
+
36171
+ this.assert.equal(_message2, 'Cannot call next() on an empty iterator');
36172
+ }
36173
+ };
36174
+
36175
+ _class.prototype['@test errors on `#next` with an invalid ref type'] = function testErrorsOnNextWithAnInvalidRefType() {
36176
+ var iterator = iteratorForArray('string');
36177
+
36178
+ this.assert.expect(1);
36179
+
36180
+ try {
36181
+ iterator.next();
36182
+ } catch (_ref3) {
36183
+ var _message3 = _ref3.message;
36184
+
36185
+ this.assert.equal(_message3, 'Cannot call next() on an empty iterator');
36186
+ }
36187
+ };
36188
+
36189
+ _class.prototype['@test errors on `#next` with an empty array'] = function testErrorsOnNextWithAnEmptyArray() {
36190
+ var iterator = iteratorForArray([]);
36191
+
36192
+ this.assert.expect(1);
36193
+
36194
+ try {
36195
+ iterator.next();
36196
+ } catch (_ref4) {
36197
+ var _message4 = _ref4.message;
36198
+
36199
+ this.assert.equal(_message4, 'Cannot call next() on an empty iterator');
36200
+ }
36201
+ };
36202
+
36203
+ _class.prototype['@test iterates over an object\'s own properties'] = function testIteratesOverAnObjectSOwnProperties() {
36204
+ var iterator = iteratorForObject({ first: 'foo', second: 'bar' });
36205
+
36206
+ this.assert.deepEqual(iterator.next(), { key: 'first', memo: 'first', value: 'foo' });
36207
+ this.assert.deepEqual(iterator.next(), { key: 'second', memo: 'second', value: 'bar' });
36208
+ };
36209
+
36210
+ _class.prototype['@test iterates over an object\'s own properties with indices as keys'] = function testIteratesOverAnObjectSOwnPropertiesWithIndicesAsKeys() {
36211
+ var iterator = iteratorForObject({ first: 'foo', second: 'bar' }, '@index');
36212
+
36213
+ this.assert.deepEqual(iterator.next(), { key: 'first', memo: 'first', value: 'foo' });
36214
+ this.assert.deepEqual(iterator.next(), { key: 'second', memo: 'second', value: 'bar' });
36215
+ };
36216
+
36217
+ _class.prototype['@test iterates over an object\'s own properties with identities as keys'] = function testIteratesOverAnObjectSOwnPropertiesWithIdentitiesAsKeys() {
36218
+ var iterator = iteratorForObject({ first: 'foo', second: 'bar' }, '@identity');
36219
+
36220
+ this.assert.deepEqual(iterator.next(), { key: 'foo', memo: 'first', value: 'foo' });
36221
+ this.assert.deepEqual(iterator.next(), { key: 'bar', memo: 'second', value: 'bar' });
36222
+ };
36223
+
36224
+ _class.prototype['@test iterates over an object\'s own properties with arbitrary properties as keys'] = function testIteratesOverAnObjectSOwnPropertiesWithArbitraryPropertiesAsKeys() {
36225
+ var iterator = iteratorForObject({ first: { k: 'uno', v: 'foo' }, second: { k: 'dos', v: 'bar' } }, 'k');
36226
+
36227
+ this.assert.deepEqual(iterator.next(), { key: 'uno', memo: 'first', value: { k: 'uno', v: 'foo' } });
36228
+ this.assert.deepEqual(iterator.next(), { key: 'dos', memo: 'second', value: { k: 'dos', v: 'bar' } });
36229
+ };
36230
+
36231
+ _class.prototype['@test each-in errors on `#next` with an undefined ref'] = function testEachInErrorsOnNextWithAnUndefinedRef() {
36232
+ var iterator = iteratorForObject(undefined);
36233
+
36234
+ this.assert.expect(1);
36235
+
36236
+ try {
36237
+ iterator.next();
36238
+ } catch (_ref5) {
36239
+ var _message5 = _ref5.message;
36240
+
36241
+ this.assert.equal(_message5, 'Cannot call next() on an empty iterator');
36242
+ }
36243
+ };
36244
+
36245
+ _class.prototype['@test each-in errors on `#next` with a null ref'] = function testEachInErrorsOnNextWithANullRef() {
36246
+ var iterator = iteratorForObject(null);
36247
+
36248
+ this.assert.expect(1);
36249
+
36250
+ try {
36251
+ iterator.next();
36252
+ } catch (_ref6) {
36253
+ var _message6 = _ref6.message;
36254
+
36255
+ this.assert.equal(_message6, 'Cannot call next() on an empty iterator');
36256
+ }
36257
+ };
36258
+
36259
+ _class.prototype['@test each-in errors on `#next` with an invalid ref type'] = function testEachInErrorsOnNextWithAnInvalidRefType() {
36260
+ var iterator = iteratorForObject('string');
36261
+
36262
+ this.assert.expect(1);
36263
+
36264
+ try {
36265
+ iterator.next();
36266
+ } catch (_ref7) {
36267
+ var _message7 = _ref7.message;
36268
+
36269
+ this.assert.equal(_message7, 'Cannot call next() on an empty iterator');
36270
+ }
36271
+ };
36272
+
36273
+ _class.prototype['@test ensures keys are unique'] = function testEnsuresKeysAreUnique() {
36274
+ var iterator = iteratorForArray([{ k: 'qux', v: 'foo' }, { k: 'qux', v: 'bar' }, { k: 'qux', v: 'baz' }], 'k');
36275
+
36276
+ this.assert.deepEqual(iterator.next(), { key: 'qux', memo: 0, value: { k: 'qux', v: 'foo' } });
36277
+ this.assert.deepEqual(iterator.next(), { key: 'qux' + ITERATOR_KEY_GUID + '1', memo: 1, value: { k: 'qux', v: 'bar' } });
36278
+ this.assert.deepEqual(iterator.next(), { key: 'qux' + ITERATOR_KEY_GUID + '2', memo: 2, value: { k: 'qux', v: 'baz' } });
36279
+ };
36280
+
36281
+ return _class;
36282
+ })(_emberGlimmerTestsUtilsTestCase.TestCase));
36283
+
36284
+ function iteratorForArray(arr, keyPath) {
36285
+ var ref = new _emberGlimmerUtilsReferences.UpdatableReference(arr);
36286
+ var iterable = _emberGlimmerUtilsIterable.default(ref, keyPath);
36287
+
36288
+ return iterable.iterate();
36289
+ }
36290
+
36291
+ function iteratorForObject(obj, keyPath) {
36292
+ var vm = null;
36293
+ var positionalArgs = _glimmerRuntime.EvaluatedPositionalArgs.create([new _emberGlimmerUtilsReferences.UpdatableReference(obj)]);
36294
+ var ref = _emberGlimmerHelpersEachIn.default(vm, { positional: positionalArgs });
36295
+ var iterable = _emberGlimmerUtilsIterable.default(ref, keyPath);
36296
+
36297
+ return iterable.iterate();
36298
+ }
36299
+ });
36300
+ enifed('ember-glimmer/tests/unit/utils/iterable-test.lint-test', ['exports'], function (exports) {
36301
+ 'use strict';
36302
+
36303
+ QUnit.module('ESLint | ember-glimmer/tests/unit/utils/iterable-test.js');
36304
+ QUnit.test('should pass ESLint', function (assert) {
36305
+ assert.expect(1);
36306
+ assert.ok(true, 'ember-glimmer/tests/unit/utils/iterable-test.js should pass ESLint\n\n');
36307
+ });
36308
+ });
36326
36309
  enifed('ember-glimmer/tests/utils/abstract-test-case', ['exports', 'internal-test-helpers'], function (exports, _internalTestHelpers) {
36327
36310
  'use strict';
36328
36311
 
@@ -37713,15 +37696,6 @@ enifed('ember-metal/core.lint-test', ['exports'], function (exports) {
37713
37696
  assert.ok(true, 'ember-metal/core.js should pass ESLint\n\n');
37714
37697
  });
37715
37698
  });
37716
- enifed('ember-metal/debug.lint-test', ['exports'], function (exports) {
37717
- 'use strict';
37718
-
37719
- QUnit.module('ESLint | ember-metal/debug.js');
37720
- QUnit.test('should pass ESLint', function (assert) {
37721
- assert.expect(1);
37722
- assert.ok(true, 'ember-metal/debug.js should pass ESLint\n\n');
37723
- });
37724
- });
37725
37699
  enifed('ember-metal/dependent_keys.lint-test', ['exports'], function (exports) {
37726
37700
  'use strict';
37727
37701
 
@@ -37749,15 +37723,6 @@ enifed('ember-metal/descriptor.lint-test', ['exports'], function (exports) {
37749
37723
  assert.ok(true, 'ember-metal/descriptor.js should pass ESLint\n\n');
37750
37724
  });
37751
37725
  });
37752
- enifed('ember-metal/error.lint-test', ['exports'], function (exports) {
37753
- 'use strict';
37754
-
37755
- QUnit.module('ESLint | ember-metal/error.js');
37756
- QUnit.test('should pass ESLint', function (assert) {
37757
- assert.expect(1);
37758
- assert.ok(true, 'ember-metal/error.js should pass ESLint\n\n');
37759
- });
37760
- });
37761
37726
  enifed('ember-metal/error_handler.lint-test', ['exports'], function (exports) {
37762
37727
  'use strict';
37763
37728
 
@@ -37785,15 +37750,6 @@ enifed('ember-metal/expand_properties.lint-test', ['exports'], function (exports
37785
37750
  assert.ok(true, 'ember-metal/expand_properties.js should pass ESLint\n\n');
37786
37751
  });
37787
37752
  });
37788
- enifed('ember-metal/features.lint-test', ['exports'], function (exports) {
37789
- 'use strict';
37790
-
37791
- QUnit.module('ESLint | ember-metal/features.js');
37792
- QUnit.test('should pass ESLint', function (assert) {
37793
- assert.expect(1);
37794
- assert.ok(true, 'ember-metal/features.js should pass ESLint\n\n');
37795
- });
37796
- });
37797
37753
  enifed('ember-metal/get_properties.lint-test', ['exports'], function (exports) {
37798
37754
  'use strict';
37799
37755
 
@@ -38028,15 +37984,6 @@ enifed('ember-metal/tags.lint-test', ['exports'], function (exports) {
38028
37984
  assert.ok(true, 'ember-metal/tags.js should pass ESLint\n\n');
38029
37985
  });
38030
37986
  });
38031
- enifed('ember-metal/testing.lint-test', ['exports'], function (exports) {
38032
- 'use strict';
38033
-
38034
- QUnit.module('ESLint | ember-metal/testing.js');
38035
- QUnit.test('should pass ESLint', function (assert) {
38036
- assert.expect(1);
38037
- assert.ok(true, 'ember-metal/testing.js should pass ESLint\n\n');
38038
- });
38039
- });
38040
37987
  enifed('ember-metal/tests/accessors/get_path_test', ['exports', 'ember-metal/property_get'], function (exports, _emberMetalProperty_get) {
38041
37988
  'use strict';
38042
37989
 
@@ -38405,7 +38352,7 @@ enifed('ember-metal/tests/accessors/is_global_path_test.lint-test', ['exports'],
38405
38352
  assert.ok(true, 'ember-metal/tests/accessors/is_global_path_test.js should pass ESLint\n\n');
38406
38353
  });
38407
38354
  });
38408
- enifed('ember-metal/tests/accessors/mandatory_setters_test', ['exports', 'ember-metal/features', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/watching', 'ember-metal/meta'], function (exports, _emberMetalFeatures, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalWatching, _emberMetalMeta) {
38355
+ enifed('ember-metal/tests/accessors/mandatory_setters_test', ['exports', 'ember-debug', 'ember-metal/property_get', 'ember-metal/property_set', 'ember-metal/watching', 'ember-metal/meta'], function (exports, _emberDebug, _emberMetalProperty_get, _emberMetalProperty_set, _emberMetalWatching, _emberMetalMeta) {
38409
38356
  'use strict';
38410
38357
 
38411
38358
  QUnit.module('mandatory-setters');
@@ -40969,28 +40916,6 @@ enifed('ember-metal/tests/descriptor_test.lint-test', ['exports'], function (exp
40969
40916
  assert.ok(true, 'ember-metal/tests/descriptor_test.js should pass ESLint\n\n');
40970
40917
  });
40971
40918
  });
40972
- enifed('ember-metal/tests/error_test', ['exports', 'ember-metal/error'], function (exports, _emberMetalError) {
40973
- 'use strict';
40974
-
40975
- QUnit.module('Ember Error Throwing');
40976
-
40977
- QUnit.test('new Ember.Error displays provided message', function () {
40978
- throws(function () {
40979
- throw new _emberMetalError.default('A Message');
40980
- }, function (e) {
40981
- return e.message === 'A Message';
40982
- }, 'the assigned message was displayed');
40983
- });
40984
- });
40985
- enifed('ember-metal/tests/error_test.lint-test', ['exports'], function (exports) {
40986
- 'use strict';
40987
-
40988
- QUnit.module('ESLint | ember-metal/tests/error_test.js');
40989
- QUnit.test('should pass ESLint', function (assert) {
40990
- assert.expect(1);
40991
- assert.ok(true, 'ember-metal/tests/error_test.js should pass ESLint\n\n');
40992
- });
40993
- });
40994
40919
  enifed('ember-metal/tests/events_test', ['exports', 'ember-metal/mixin', 'ember-metal/meta', 'ember-metal/events'], function (exports, _emberMetalMixin, _emberMetalMeta, _emberMetalEvents) {
40995
40920
  'use strict';
40996
40921
 
@@ -41357,11 +41282,19 @@ enifed('ember-metal/tests/expand_properties_test', ['exports', 'ember-metal/expa
41357
41282
  }, /Brace expanded properties have to be balanced and cannot be nested/);
41358
41283
  });
41359
41284
 
41285
+ QUnit.test('A property with no braces does not expand', function () {
41286
+ expect(1);
41287
+
41288
+ _emberMetalExpand_properties.default('a,b,c.d.e,f', addProperty);
41289
+
41290
+ deepEqual(foundProperties, ['a,b,c.d.e,f']);
41291
+ });
41292
+
41360
41293
  QUnit.test('A pattern must be a string', function () {
41361
41294
  expect(1);
41362
41295
 
41363
41296
  expectAssertion(function () {
41364
- _emberMetalExpand_properties.default([1, 2], addProperty);
41297
+ _emberMetalExpand_properties.default([], addProperty);
41365
41298
  }, /A computed property key must be a string/);
41366
41299
  });
41367
41300
 
@@ -41369,7 +41302,7 @@ enifed('ember-metal/tests/expand_properties_test', ['exports', 'ember-metal/expa
41369
41302
  expect(1);
41370
41303
 
41371
41304
  expectAssertion(function () {
41372
- _emberMetalExpand_properties.default('a, b', addProperty);
41305
+ _emberMetalExpand_properties.default('{a, b}', addProperty);
41373
41306
  }, /Brace expanded properties cannot contain spaces, e.g. "user.{firstName, lastName}" should be "user.{firstName,lastName}"/);
41374
41307
  });
41375
41308
  });
@@ -41827,13 +41760,13 @@ enifed('ember-metal/tests/is_present_test.lint-test', ['exports'], function (exp
41827
41760
  assert.ok(true, 'ember-metal/tests/is_present_test.js should pass ESLint\n\n');
41828
41761
  });
41829
41762
  });
41830
- enifed('ember-metal/tests/libraries_test', ['exports', 'ember-metal/debug', 'ember-metal/features', 'ember-metal/libraries'], function (exports, _emberMetalDebug, _emberMetalFeatures, _emberMetalLibraries) {
41763
+ enifed('ember-metal/tests/libraries_test', ['exports', 'ember-debug', 'ember-metal/libraries'], function (exports, _emberDebug, _emberMetalLibraries) {
41831
41764
  /* globals EmberDev */
41832
41765
  'use strict';
41833
41766
 
41834
41767
  var libs = undefined,
41835
41768
  registry = undefined;
41836
- var originalWarn = _emberMetalDebug.getDebugFunction('warn');
41769
+ var originalWarn = _emberDebug.getDebugFunction('warn');
41837
41770
 
41838
41771
  QUnit.module('Libraries registry', {
41839
41772
  setup: function () {
@@ -41845,7 +41778,7 @@ enifed('ember-metal/tests/libraries_test', ['exports', 'ember-metal/debug', 'emb
41845
41778
  libs = null;
41846
41779
  registry = null;
41847
41780
 
41848
- _emberMetalDebug.setDebugFunction('warn', originalWarn);
41781
+ _emberDebug.setDebugFunction('warn', originalWarn);
41849
41782
  }
41850
41783
  });
41851
41784
 
@@ -41894,7 +41827,7 @@ enifed('ember-metal/tests/libraries_test', ['exports', 'ember-metal/debug', 'emb
41894
41827
 
41895
41828
  libs.register('magic', 1.23);
41896
41829
 
41897
- _emberMetalDebug.setDebugFunction('warn', function (msg, test) {
41830
+ _emberDebug.setDebugFunction('warn', function (msg, test) {
41898
41831
  if (!test) {
41899
41832
  equal(msg, 'Library "magic" is already registered with Ember.');
41900
41833
  }
@@ -45318,7 +45251,7 @@ enifed('ember-metal/tests/performance_test.lint-test', ['exports'], function (ex
45318
45251
  assert.ok(true, 'ember-metal/tests/performance_test.js should pass ESLint\n\n');
45319
45252
  });
45320
45253
  });
45321
- enifed('ember-metal/tests/properties_test', ['exports', 'ember-metal/computed', 'ember-metal/properties', 'ember-metal/deprecate_property'], function (exports, _emberMetalComputed, _emberMetalProperties, _emberMetalDeprecate_property) {
45254
+ enifed('ember-metal/tests/properties_test', ['exports', 'ember-metal/computed', 'ember-metal/properties', 'ember-metal'], function (exports, _emberMetalComputed, _emberMetalProperties, _emberMetal) {
45322
45255
  'use strict';
45323
45256
 
45324
45257
  QUnit.module('Ember.defineProperty');
@@ -45387,7 +45320,7 @@ enifed('ember-metal/tests/properties_test', ['exports', 'ember-metal/computed',
45387
45320
  expect(3);
45388
45321
  var obj = { foo: 'bar' };
45389
45322
 
45390
- _emberMetalDeprecate_property.deprecateProperty(obj, 'baz', 'foo');
45323
+ _emberMetal.deprecateProperty(obj, 'baz', 'foo');
45391
45324
 
45392
45325
  expectDeprecation();
45393
45326
  equal(obj.baz, obj.foo, 'baz and foo are equal');
@@ -45400,7 +45333,7 @@ enifed('ember-metal/tests/properties_test', ['exports', 'ember-metal/computed',
45400
45333
  expect(2);
45401
45334
  var obj = { foo: 'bar', blammo: 'whammy' };
45402
45335
 
45403
- _emberMetalDeprecate_property.deprecateProperty(obj, 'baz', 'foo');
45336
+ _emberMetal.deprecateProperty(obj, 'baz', 'foo');
45404
45337
 
45405
45338
  for (var prop in obj) {
45406
45339
  if (obj.hasOwnProperty(prop)) {
@@ -45413,7 +45346,7 @@ enifed('ember-metal/tests/properties_test', ['exports', 'ember-metal/computed',
45413
45346
  expect(3);
45414
45347
  var obj = { foo: 'bar' };
45415
45348
 
45416
- _emberMetalDeprecate_property.deprecateProperty(obj, 'baz', 'foo');
45349
+ _emberMetal.deprecateProperty(obj, 'baz', 'foo');
45417
45350
 
45418
45351
  expectDeprecation();
45419
45352
  obj.baz = 'bloop';
@@ -45956,7 +45889,7 @@ enifed('ember-metal/tests/run_loop/once_test.lint-test', ['exports'], function (
45956
45889
  assert.ok(true, 'ember-metal/tests/run_loop/once_test.js should pass ESLint\n\n');
45957
45890
  });
45958
45891
  });
45959
- enifed('ember-metal/tests/run_loop/onerror_test', ['exports', 'ember-metal/run_loop', 'ember-metal/error_handler', 'ember-metal/testing'], function (exports, _emberMetalRun_loop, _emberMetalError_handler, _emberMetalTesting) {
45892
+ enifed('ember-metal/tests/run_loop/onerror_test', ['exports', 'ember-metal/run_loop', 'ember-metal/error_handler', 'ember-debug'], function (exports, _emberMetalRun_loop, _emberMetalError_handler, _emberDebug) {
45960
45893
  'use strict';
45961
45894
 
45962
45895
  QUnit.module('system/run_loop/onerror_test');
@@ -45984,14 +45917,14 @@ enifed('ember-metal/tests/run_loop/onerror_test', ['exports', 'ember-metal/run_l
45984
45917
  var thrown = new Error('Boom!');
45985
45918
  var original = _emberMetalError_handler.getOnerror();
45986
45919
  var originalDispatchOverride = _emberMetalError_handler.getDispatchOverride();
45987
- var originalIsTesting = _emberMetalTesting.isTesting();
45920
+ var originalIsTesting = _emberDebug.isTesting();
45988
45921
 
45989
45922
  var caught = undefined;
45990
45923
  _emberMetalError_handler.setOnerror(function (error) {
45991
45924
  caught = error;
45992
45925
  });
45993
45926
  _emberMetalError_handler.setDispatchOverride(null);
45994
- _emberMetalTesting.setTesting(false);
45927
+ _emberDebug.setTesting(false);
45995
45928
 
45996
45929
  try {
45997
45930
  _emberMetalRun_loop.default(function () {
@@ -46000,7 +45933,7 @@ enifed('ember-metal/tests/run_loop/onerror_test', ['exports', 'ember-metal/run_l
46000
45933
  } finally {
46001
45934
  _emberMetalError_handler.setOnerror(original);
46002
45935
  _emberMetalError_handler.setDispatchOverride(originalDispatchOverride);
46003
- _emberMetalTesting.setTesting(originalIsTesting);
45936
+ _emberDebug.setTesting(originalIsTesting);
46004
45937
  }
46005
45938
 
46006
45939
  deepEqual(caught, thrown);
@@ -46251,7 +46184,7 @@ enifed('ember-metal/tests/run_loop/sync_test.lint-test', ['exports'], function (
46251
46184
  assert.ok(true, 'ember-metal/tests/run_loop/sync_test.js should pass ESLint\n\n');
46252
46185
  });
46253
46186
  });
46254
- enifed('ember-metal/tests/run_loop/unwind_test', ['exports', 'ember-metal/run_loop', 'ember-metal/error'], function (exports, _emberMetalRun_loop, _emberMetalError) {
46187
+ enifed('ember-metal/tests/run_loop/unwind_test', ['exports', 'ember-metal/run_loop', 'ember-debug'], function (exports, _emberMetalRun_loop, _emberDebug) {
46255
46188
  'use strict';
46256
46189
 
46257
46190
  QUnit.module('system/run_loop/unwind_test');
@@ -46262,7 +46195,7 @@ enifed('ember-metal/tests/run_loop/unwind_test', ['exports', 'ember-metal/run_lo
46262
46195
  throws(function () {
46263
46196
  _emberMetalRun_loop.default(function () {
46264
46197
  _emberMetalRun_loop.default.schedule('actions', function () {
46265
- throw new _emberMetalError.default('boom!');
46198
+ throw new _emberDebug.Error('boom!');
46266
46199
  });
46267
46200
  });
46268
46201
  }, Error, 'boom!');
@@ -46282,9 +46215,9 @@ enifed('ember-metal/tests/run_loop/unwind_test', ['exports', 'ember-metal/run_lo
46282
46215
 
46283
46216
  throws(function () {
46284
46217
  _emberMetalRun_loop.default(function () {
46285
- throw new _emberMetalError.default('boom!');
46218
+ throw new _emberDebug.Error('boom!');
46286
46219
  });
46287
- }, _emberMetalError.default, 'boom!');
46220
+ }, _emberDebug.Error, 'boom!');
46288
46221
 
46289
46222
  equal(_emberMetalRun_loop.default.currentRunLoop, initialRunLoop, 'Previous run loop should be cleaned up despite exception');
46290
46223
 
@@ -47062,6 +46995,15 @@ enifed('ember-routing/location/util.lint-test', ['exports'], function (exports)
47062
46995
  assert.ok(true, 'ember-routing/location/util.js should pass ESLint\n\n');
47063
46996
  });
47064
46997
  });
46998
+ enifed('ember-routing/services/router.lint-test', ['exports'], function (exports) {
46999
+ 'use strict';
47000
+
47001
+ QUnit.module('ESLint | ember-routing/services/router.js');
47002
+ QUnit.test('should pass ESLint', function (assert) {
47003
+ assert.expect(1);
47004
+ assert.ok(true, 'ember-routing/services/router.js should pass ESLint\n\n');
47005
+ });
47006
+ });
47065
47007
  enifed('ember-routing/services/routing.lint-test', ['exports'], function (exports) {
47066
47008
  'use strict';
47067
47009
 
@@ -47683,7 +47625,7 @@ enifed('ember-routing/tests/location/hash_location_test.lint-test', ['exports'],
47683
47625
  assert.ok(true, 'ember-routing/tests/location/hash_location_test.js should pass ESLint\n\n');
47684
47626
  });
47685
47627
  });
47686
- enifed('ember-routing/tests/location/history_location_test', ['exports', 'ember-metal', 'ember-routing/location/history_location'], function (exports, _emberMetal, _emberRoutingLocationHistory_location) {
47628
+ enifed('ember-routing/tests/location/history_location_test', ['exports', 'ember-metal', 'ember-routing/location/history_location', 'ember-debug'], function (exports, _emberMetal, _emberRoutingLocationHistory_location, _emberDebug) {
47687
47629
  'use strict';
47688
47630
 
47689
47631
  var FakeHistory = undefined,
@@ -47801,48 +47743,96 @@ enifed('ember-routing/tests/location/history_location_test', ['exports', 'ember-
47801
47743
  location.initState();
47802
47744
  });
47803
47745
 
47804
- QUnit.test('base URL is preserved when moving around', function () {
47805
- expect(1);
47746
+ if (true) {
47747
+ QUnit.test('base URL is preserved when moving around', function () {
47748
+ expect(2);
47806
47749
 
47807
- HistoryTestLocation.reopen({
47808
- init: function () {
47809
- this._super.apply(this, arguments);
47750
+ HistoryTestLocation.reopen({
47751
+ init: function () {
47752
+ this._super.apply(this, arguments);
47810
47753
 
47811
- _emberMetal.set(this, 'location', mockBrowserLocation('/base/foo/bar'));
47812
- _emberMetal.set(this, 'baseURL', '/base/');
47813
- }
47754
+ _emberMetal.set(this, 'location', mockBrowserLocation('/base/foo/bar'));
47755
+ _emberMetal.set(this, 'baseURL', '/base/');
47756
+ }
47757
+ });
47758
+
47759
+ createLocation();
47760
+ location.initState();
47761
+ location.setURL('/one/two');
47762
+
47763
+ equal(location._historyState.path, '/base/one/two');
47764
+ ok(location._historyState.uuid);
47814
47765
  });
47815
47766
 
47816
- createLocation();
47817
- location.initState();
47818
- location.setURL('/one/two');
47767
+ QUnit.test('setURL continues to set even with a null state (iframes may set this)', function () {
47768
+ expect(2);
47819
47769
 
47820
- equal(location._historyState.path, '/base/one/two');
47821
- });
47770
+ createLocation();
47771
+ location.initState();
47822
47772
 
47823
- QUnit.test('setURL continues to set even with a null state (iframes may set this)', function () {
47824
- expect(1);
47773
+ FakeHistory.pushState(null);
47774
+ location.setURL('/three/four');
47825
47775
 
47826
- createLocation();
47827
- location.initState();
47776
+ equal(location._historyState.path, '/three/four');
47777
+ ok(location._historyState.uuid);
47778
+ });
47828
47779
 
47829
- FakeHistory.pushState(null);
47830
- location.setURL('/three/four');
47780
+ QUnit.test('replaceURL continues to set even with a null state (iframes may set this)', function () {
47781
+ expect(2);
47831
47782
 
47832
- equal(location._historyState.path, '/three/four');
47833
- });
47783
+ createLocation();
47784
+ location.initState();
47834
47785
 
47835
- QUnit.test('replaceURL continues to set even with a null state (iframes may set this)', function () {
47836
- expect(1);
47786
+ FakeHistory.pushState(null);
47787
+ location.replaceURL('/three/four');
47837
47788
 
47838
- createLocation();
47839
- location.initState();
47789
+ equal(location._historyState.path, '/three/four');
47790
+ ok(location._historyState.uuid);
47791
+ });
47792
+ } else {
47793
+ QUnit.test('base URL is preserved when moving around', function () {
47794
+ expect(1);
47840
47795
 
47841
- FakeHistory.pushState(null);
47842
- location.replaceURL('/three/four');
47796
+ HistoryTestLocation.reopen({
47797
+ init: function () {
47798
+ this._super.apply(this, arguments);
47843
47799
 
47844
- equal(location._historyState.path, '/three/four');
47845
- });
47800
+ _emberMetal.set(this, 'location', mockBrowserLocation('/base/foo/bar'));
47801
+ _emberMetal.set(this, 'baseURL', '/base/');
47802
+ }
47803
+ });
47804
+
47805
+ createLocation();
47806
+ location.initState();
47807
+ location.setURL('/one/two');
47808
+
47809
+ equal(location._historyState.path, '/base/one/two');
47810
+ });
47811
+
47812
+ QUnit.test('setURL continues to set even with a null state (iframes may set this)', function () {
47813
+ expect(1);
47814
+
47815
+ createLocation();
47816
+ location.initState();
47817
+
47818
+ FakeHistory.pushState(null);
47819
+ location.setURL('/three/four');
47820
+
47821
+ equal(location._historyState.path, '/three/four');
47822
+ });
47823
+
47824
+ QUnit.test('replaceURL continues to set even with a null state (iframes may set this)', function () {
47825
+ expect(1);
47826
+
47827
+ createLocation();
47828
+ location.initState();
47829
+
47830
+ FakeHistory.pushState(null);
47831
+ location.replaceURL('/three/four');
47832
+
47833
+ equal(location._historyState.path, '/three/four');
47834
+ });
47835
+ }
47846
47836
 
47847
47837
  QUnit.test('HistoryLocation.getURL() returns the current url, excluding both rootURL and baseURL', function () {
47848
47838
  expect(1);
@@ -47972,23 +47962,6 @@ enifed('ember-routing/tests/location/history_location_test', ['exports', 'ember-
47972
47962
 
47973
47963
  equal(location.getURL(), '/foo/bar?time=morphin#pink-power-ranger');
47974
47964
  });
47975
-
47976
- QUnit.test('HistoryLocation.getURL() drops duplicate slashes', function () {
47977
- expect(1);
47978
-
47979
- HistoryTestLocation.reopen({
47980
- init: function () {
47981
- this._super.apply(this, arguments);
47982
- var location = mockBrowserLocation('//');
47983
- location.pathname = '//'; // mockBrowserLocation does not allow for `//`, so force it
47984
- _emberMetal.set(this, 'location', location);
47985
- }
47986
- });
47987
-
47988
- createLocation();
47989
-
47990
- equal(location.getURL(), '/');
47991
- });
47992
47965
  });
47993
47966
  enifed('ember-routing/tests/location/history_location_test.lint-test', ['exports'], function (exports) {
47994
47967
  'use strict';
@@ -48258,7 +48231,7 @@ enifed('ember-routing/tests/system/cache_test.lint-test', ['exports'], function
48258
48231
  assert.ok(true, 'ember-routing/tests/system/cache_test.js should pass ESLint\n\n');
48259
48232
  });
48260
48233
  });
48261
- enifed('ember-routing/tests/system/controller_for_test', ['exports', 'ember-metal', 'ember-runtime', 'ember-routing/system/controller_for', 'ember-routing/system/generate_controller', 'internal-test-helpers'], function (exports, _emberMetal, _emberRuntime, _emberRoutingSystemController_for, _emberRoutingSystemGenerate_controller, _internalTestHelpers) {
48234
+ enifed('ember-routing/tests/system/controller_for_test', ['exports', 'ember-metal', 'ember-runtime', 'ember-routing/system/controller_for', 'ember-routing/system/generate_controller', 'internal-test-helpers', 'ember-debug'], function (exports, _emberMetal, _emberRuntime, _emberRoutingSystemController_for, _emberRoutingSystemGenerate_controller, _internalTestHelpers, _emberDebug) {
48262
48235
  'use strict';
48263
48236
 
48264
48237
  function buildInstance(namespace) {
@@ -48355,7 +48328,7 @@ enifed('ember-routing/tests/system/controller_for_test', ['exports', 'ember-meta
48355
48328
 
48356
48329
  controller = _emberRoutingSystemGenerate_controller.default(appInstance, 'home');
48357
48330
 
48358
- if (false) {
48331
+ if (true) {
48359
48332
  ok(controller instanceof BasicController, 'should return base class of controller');
48360
48333
  } else {
48361
48334
  var doubleExtendedFactory = undefined;
@@ -48439,9 +48412,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48439
48412
  var router = Router.create();
48440
48413
  router._initRouterJs();
48441
48414
 
48442
- ok(router.router.recognizer.names['bleep'], 'nested resources do not contain parent name');
48443
- ok(router.router.recognizer.names['bloop'], 'nested resources do not contain parent name');
48444
- ok(router.router.recognizer.names['blork'], 'nested resources do not contain parent name');
48415
+ ok(router._routerMicrolib.recognizer.names['bleep'], 'nested resources do not contain parent name');
48416
+ ok(router._routerMicrolib.recognizer.names['bloop'], 'nested resources do not contain parent name');
48417
+ ok(router._routerMicrolib.recognizer.names['blork'], 'nested resources do not contain parent name');
48445
48418
  });
48446
48419
 
48447
48420
  QUnit.test('should retain resource namespace if nested with routes', function () {
@@ -48456,9 +48429,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48456
48429
  var router = Router.create();
48457
48430
  router._initRouterJs();
48458
48431
 
48459
- ok(router.router.recognizer.names['bleep'], 'parent name was used as base of nested routes');
48460
- ok(router.router.recognizer.names['bleep.bloop'], 'parent name was used as base of nested routes');
48461
- ok(router.router.recognizer.names['bleep.bloop.blork'], 'parent name was used as base of nested routes');
48432
+ ok(router._routerMicrolib.recognizer.names['bleep'], 'parent name was used as base of nested routes');
48433
+ ok(router._routerMicrolib.recognizer.names['bleep.bloop'], 'parent name was used as base of nested routes');
48434
+ ok(router._routerMicrolib.recognizer.names['bleep.bloop.blork'], 'parent name was used as base of nested routes');
48462
48435
  });
48463
48436
 
48464
48437
  QUnit.test('should add loading and error routes if _isRouterMapResult is true', function () {
@@ -48474,9 +48447,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48474
48447
 
48475
48448
  router._initRouterJs();
48476
48449
 
48477
- ok(router.router.recognizer.names['blork'], 'main route was created');
48478
- ok(router.router.recognizer.names['blork_loading'], 'loading route was added');
48479
- ok(router.router.recognizer.names['blork_error'], 'error route was added');
48450
+ ok(router._routerMicrolib.recognizer.names['blork'], 'main route was created');
48451
+ ok(router._routerMicrolib.recognizer.names['blork_loading'], 'loading route was added');
48452
+ ok(router._routerMicrolib.recognizer.names['blork_error'], 'error route was added');
48480
48453
  });
48481
48454
 
48482
48455
  QUnit.test('should not add loading and error routes if _isRouterMapResult is false', function () {
@@ -48487,9 +48460,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48487
48460
  var router = Router.create();
48488
48461
  router._initRouterJs(false);
48489
48462
 
48490
- ok(router.router.recognizer.names['blork'], 'main route was created');
48491
- ok(!router.router.recognizer.names['blork_loading'], 'loading route was not added');
48492
- ok(!router.router.recognizer.names['blork_error'], 'error route was not added');
48463
+ ok(router._routerMicrolib.recognizer.names['blork'], 'main route was created');
48464
+ ok(!router._routerMicrolib.recognizer.names['blork_loading'], 'loading route was not added');
48465
+ ok(!router._routerMicrolib.recognizer.names['blork_error'], 'error route was not added');
48493
48466
  });
48494
48467
 
48495
48468
  QUnit.test('should reset namespace of loading and error routes for routes with resetNamespace', function () {
@@ -48508,17 +48481,17 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48508
48481
 
48509
48482
  router._initRouterJs();
48510
48483
 
48511
- ok(router.router.recognizer.names['blork.blorp'], 'nested route was created');
48512
- ok(router.router.recognizer.names['blork.blorp_loading'], 'nested loading route was added');
48513
- ok(router.router.recognizer.names['blork.blorp_error'], 'nested error route was added');
48484
+ ok(router._routerMicrolib.recognizer.names['blork.blorp'], 'nested route was created');
48485
+ ok(router._routerMicrolib.recognizer.names['blork.blorp_loading'], 'nested loading route was added');
48486
+ ok(router._routerMicrolib.recognizer.names['blork.blorp_error'], 'nested error route was added');
48514
48487
 
48515
- ok(router.router.recognizer.names['bleep'], 'reset route was created');
48516
- ok(router.router.recognizer.names['bleep_loading'], 'reset loading route was added');
48517
- ok(router.router.recognizer.names['bleep_error'], 'reset error route was added');
48488
+ ok(router._routerMicrolib.recognizer.names['bleep'], 'reset route was created');
48489
+ ok(router._routerMicrolib.recognizer.names['bleep_loading'], 'reset loading route was added');
48490
+ ok(router._routerMicrolib.recognizer.names['bleep_error'], 'reset error route was added');
48518
48491
 
48519
- ok(!router.router.recognizer.names['blork.bleep'], 'nested reset route was not created');
48520
- ok(!router.router.recognizer.names['blork.bleep_loading'], 'nested reset loading route was not added');
48521
- ok(!router.router.recognizer.names['blork.bleep_error'], 'nested reset error route was not added');
48492
+ ok(!router._routerMicrolib.recognizer.names['blork.bleep'], 'nested reset route was not created');
48493
+ ok(!router._routerMicrolib.recognizer.names['blork.bleep_loading'], 'nested reset loading route was not added');
48494
+ ok(!router._routerMicrolib.recognizer.names['blork.bleep_error'], 'nested reset error route was not added');
48522
48495
  });
48523
48496
 
48524
48497
  QUnit.test('should throw an error when defining a route serializer outside an engine', function () {
@@ -48557,9 +48530,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48557
48530
  _emberUtils.setOwner(router, engineInstance);
48558
48531
  router._initRouterJs();
48559
48532
 
48560
- assert.ok(router.router.recognizer.names['bleep'], 'parent name was used as base of nested routes');
48561
- assert.ok(router.router.recognizer.names['bleep.bloop'], 'parent name was used as base of nested routes');
48562
- assert.ok(router.router.recognizer.names['bleep.bloop.chat'], 'parent name was used as base of mounted engine');
48533
+ assert.ok(router._routerMicrolib.recognizer.names['bleep'], 'parent name was used as base of nested routes');
48534
+ assert.ok(router._routerMicrolib.recognizer.names['bleep.bloop'], 'parent name was used as base of nested routes');
48535
+ assert.ok(router._routerMicrolib.recognizer.names['bleep.bloop.chat'], 'parent name was used as base of mounted engine');
48563
48536
  });
48564
48537
 
48565
48538
  QUnit.test('should allow mounting of engines at a custom path', function (assert) {
@@ -48581,7 +48554,7 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48581
48554
  _emberUtils.setOwner(router, engineInstance);
48582
48555
  router._initRouterJs();
48583
48556
 
48584
- assert.deepEqual(router.router.recognizer.names['bleep.bloop.chat'].segments.slice(1, 4).map(function (s) {
48557
+ assert.deepEqual(router._routerMicrolib.recognizer.names['bleep.bloop.chat'].segments.slice(1, 4).map(function (s) {
48585
48558
  return s.value;
48586
48559
  }), ['bleep', 'bloop', 'custom-chat'], 'segments are properly associated with mounted engine');
48587
48560
  });
@@ -48605,7 +48578,7 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48605
48578
  _emberUtils.setOwner(router, engineInstance);
48606
48579
  router._initRouterJs();
48607
48580
 
48608
- assert.deepEqual(router.router.recognizer.names['bleep.bloop.blork'].segments.slice(1, 4).map(function (s) {
48581
+ assert.deepEqual(router._routerMicrolib.recognizer.names['bleep.bloop.blork'].segments.slice(1, 4).map(function (s) {
48609
48582
  return s.value;
48610
48583
  }), ['bleep', 'bloop', 'blork'], 'segments are properly associated with mounted engine with aliased name');
48611
48584
  });
@@ -48627,9 +48600,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48627
48600
  _emberUtils.setOwner(router, engineInstance);
48628
48601
  router._initRouterJs();
48629
48602
 
48630
- ok(router.router.recognizer.names['chat'], 'main route was created');
48631
- ok(router.router.recognizer.names['chat_loading'], 'loading route was added');
48632
- ok(router.router.recognizer.names['chat_error'], 'error route was added');
48603
+ ok(router._routerMicrolib.recognizer.names['chat'], 'main route was created');
48604
+ ok(router._routerMicrolib.recognizer.names['chat_loading'], 'loading route was added');
48605
+ ok(router._routerMicrolib.recognizer.names['chat_error'], 'error route was added');
48633
48606
  });
48634
48607
 
48635
48608
  QUnit.test('should add loading and error routes to a mount alias if _isRouterMapResult is true', function () {
@@ -48649,9 +48622,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48649
48622
  _emberUtils.setOwner(router, engineInstance);
48650
48623
  router._initRouterJs();
48651
48624
 
48652
- ok(router.router.recognizer.names['shoutbox'], 'main route was created');
48653
- ok(router.router.recognizer.names['shoutbox_loading'], 'loading route was added');
48654
- ok(router.router.recognizer.names['shoutbox_error'], 'error route was added');
48625
+ ok(router._routerMicrolib.recognizer.names['shoutbox'], 'main route was created');
48626
+ ok(router._routerMicrolib.recognizer.names['shoutbox_loading'], 'loading route was added');
48627
+ ok(router._routerMicrolib.recognizer.names['shoutbox_error'], 'error route was added');
48655
48628
  });
48656
48629
 
48657
48630
  QUnit.test('should not add loading and error routes to a mount if _isRouterMapResult is false', function () {
@@ -48667,9 +48640,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48667
48640
  _emberUtils.setOwner(router, engineInstance);
48668
48641
  router._initRouterJs(false);
48669
48642
 
48670
- ok(router.router.recognizer.names['chat'], 'main route was created');
48671
- ok(!router.router.recognizer.names['chat_loading'], 'loading route was not added');
48672
- ok(!router.router.recognizer.names['chat_error'], 'error route was not added');
48643
+ ok(router._routerMicrolib.recognizer.names['chat'], 'main route was created');
48644
+ ok(!router._routerMicrolib.recognizer.names['chat_loading'], 'loading route was not added');
48645
+ ok(!router._routerMicrolib.recognizer.names['chat_error'], 'error route was not added');
48673
48646
  });
48674
48647
 
48675
48648
  QUnit.test('should reset namespace of loading and error routes for mounts with resetNamespace', function () {
@@ -48692,17 +48665,17 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48692
48665
  _emberUtils.setOwner(router, engineInstance);
48693
48666
  router._initRouterJs();
48694
48667
 
48695
- ok(router.router.recognizer.names['news.chat'], 'nested route was created');
48696
- ok(router.router.recognizer.names['news.chat_loading'], 'nested loading route was added');
48697
- ok(router.router.recognizer.names['news.chat_error'], 'nested error route was added');
48668
+ ok(router._routerMicrolib.recognizer.names['news.chat'], 'nested route was created');
48669
+ ok(router._routerMicrolib.recognizer.names['news.chat_loading'], 'nested loading route was added');
48670
+ ok(router._routerMicrolib.recognizer.names['news.chat_error'], 'nested error route was added');
48698
48671
 
48699
- ok(router.router.recognizer.names['blog'], 'reset route was created');
48700
- ok(router.router.recognizer.names['blog_loading'], 'reset loading route was added');
48701
- ok(router.router.recognizer.names['blog_error'], 'reset error route was added');
48672
+ ok(router._routerMicrolib.recognizer.names['blog'], 'reset route was created');
48673
+ ok(router._routerMicrolib.recognizer.names['blog_loading'], 'reset loading route was added');
48674
+ ok(router._routerMicrolib.recognizer.names['blog_error'], 'reset error route was added');
48702
48675
 
48703
- ok(!router.router.recognizer.names['news.blog'], 'nested reset route was not created');
48704
- ok(!router.router.recognizer.names['news.blog_loading'], 'nested reset loading route was not added');
48705
- ok(!router.router.recognizer.names['news.blog_error'], 'nested reset error route was not added');
48676
+ ok(!router._routerMicrolib.recognizer.names['news.blog'], 'nested reset route was not created');
48677
+ ok(!router._routerMicrolib.recognizer.names['news.blog_loading'], 'nested reset loading route was not added');
48678
+ ok(!router._routerMicrolib.recognizer.names['news.blog_error'], 'nested reset error route was not added');
48706
48679
  });
48707
48680
  });
48708
48681
  enifed('ember-routing/tests/system/dsl_test.lint-test', ['exports'], function (exports) {
@@ -49052,7 +49025,7 @@ enifed('ember-routing/tests/system/route_test', ['exports', 'ember-utils', 'inte
49052
49025
 
49053
49026
  var router = {
49054
49027
  _deserializeQueryParams: function () {},
49055
- router: {
49028
+ _routerMicrolib: {
49056
49029
  state: {
49057
49030
  handlerInfos: [{ name: 'posts' }],
49058
49031
  params: {
@@ -49098,7 +49071,7 @@ enifed('ember-routing/tests/system/route_test', ['exports', 'ember-utils', 'inte
49098
49071
  var postsModel = { id: '2' };
49099
49072
 
49100
49073
  var router = {
49101
- router: {
49074
+ _routerMicrolib: {
49102
49075
  activeTransition: {
49103
49076
  resolvedModels: {
49104
49077
  'foo.bar': applicationModel,
@@ -49285,7 +49258,7 @@ enifed('ember-routing/tests/system/router_test', ['exports', 'ember-utils', 'emb
49285
49258
  QUnit.test('should not create a router.js instance upon init', function () {
49286
49259
  var router = createRouter(null, { disableSetup: true });
49287
49260
 
49288
- ok(!router.router);
49261
+ ok(!router._routerMicrolib);
49289
49262
  });
49290
49263
 
49291
49264
  QUnit.test('should not reify location until setupRouter is called', function () {
@@ -49487,6 +49460,24 @@ enifed('ember-routing/tests/system/router_test', ['exports', 'ember-utils', 'emb
49487
49460
 
49488
49461
  _emberRoutingSystemRouter.triggerEvent(handlerInfos, false, ['loading']);
49489
49462
  });
49463
+
49464
+ QUnit.test('Router#router deprecates when called', function (assert) {
49465
+ assert.expect(2);
49466
+
49467
+ var router = createRouter();
49468
+
49469
+ expectDeprecation(function () {
49470
+ assert.equal(router.router, router._routerMicrolib);
49471
+ }, 'Usage of `router` is deprecated, use `_routerMicrolib` instead.');
49472
+ });
49473
+
49474
+ QUnit.test('Router#_routerMicrolib can be used without deprecation', function (assert) {
49475
+ assert.expect(1);
49476
+
49477
+ var router = createRouter();
49478
+
49479
+ assert.ok(router._routerMicrolib, 'Router._routerMicrolib can be used without deprecation');
49480
+ });
49490
49481
  });
49491
49482
  enifed('ember-routing/tests/system/router_test.lint-test', ['exports'], function (exports) {
49492
49483
  'use strict';
@@ -51873,7 +51864,7 @@ enifed('ember-runtime/tests/computed/reduce_computed_macros_test.lint-test', ['e
51873
51864
  assert.ok(true, 'ember-runtime/tests/computed/reduce_computed_macros_test.js should pass ESLint\n\n');
51874
51865
  });
51875
51866
  });
51876
- enifed('ember-runtime/tests/controllers/controller_test', ['exports', 'ember-runtime/controllers/controller', 'ember-runtime/system/service', 'ember-metal', 'ember-runtime/system/object', 'ember-runtime/inject', 'internal-test-helpers'], function (exports, _emberRuntimeControllersController, _emberRuntimeSystemService, _emberMetal, _emberRuntimeSystemObject, _emberRuntimeInject, _internalTestHelpers) {
51867
+ enifed('ember-runtime/tests/controllers/controller_test', ['exports', 'ember-runtime/controllers/controller', 'ember-runtime/system/service', 'ember-metal', 'ember-runtime/system/object', 'ember-runtime/inject', 'internal-test-helpers', 'ember-debug'], function (exports, _emberRuntimeControllersController, _emberRuntimeSystemService, _emberMetal, _emberRuntimeSystemObject, _emberRuntimeInject, _internalTestHelpers, _emberDebug) {
51877
51868
  /* global EmberDev */
51878
51869
 
51879
51870
  'use strict';
@@ -52560,7 +52551,7 @@ enifed('ember-runtime/tests/ext/mixin_test.lint-test', ['exports'], function (ex
52560
52551
  assert.ok(true, 'ember-runtime/tests/ext/mixin_test.js should pass ESLint\n\n');
52561
52552
  });
52562
52553
  });
52563
- enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-runtime/ext/rsvp'], function (exports, _emberMetal, _emberRuntimeExtRsvp) {
52554
+ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-runtime/ext/rsvp', 'ember-debug'], function (exports, _emberMetal, _emberRuntimeExtRsvp, _emberDebug) {
52564
52555
  'use strict';
52565
52556
 
52566
52557
  var ORIGINAL_ONERROR = _emberMetal.getOnerror();
@@ -52596,8 +52587,8 @@ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-ru
52596
52587
  });
52597
52588
 
52598
52589
  QUnit.test('Can reject with non-Error object', function (assert) {
52599
- var wasEmberTesting = _emberMetal.isTesting();
52600
- _emberMetal.setTesting(false);
52590
+ var wasEmberTesting = _emberDebug.isTesting();
52591
+ _emberDebug.setTesting(false);
52601
52592
  expect(1);
52602
52593
 
52603
52594
  try {
@@ -52605,15 +52596,15 @@ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-ru
52605
52596
  } catch (e) {
52606
52597
  ok(false, 'should not throw');
52607
52598
  } finally {
52608
- _emberMetal.setTesting(wasEmberTesting);
52599
+ _emberDebug.setTesting(wasEmberTesting);
52609
52600
  }
52610
52601
 
52611
52602
  ok(true);
52612
52603
  });
52613
52604
 
52614
52605
  QUnit.test('Can reject with no arguments', function (assert) {
52615
- var wasEmberTesting = _emberMetal.isTesting();
52616
- _emberMetal.setTesting(false);
52606
+ var wasEmberTesting = _emberDebug.isTesting();
52607
+ _emberDebug.setTesting(false);
52617
52608
  expect(1);
52618
52609
 
52619
52610
  try {
@@ -52621,7 +52612,7 @@ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-ru
52621
52612
  } catch (e) {
52622
52613
  ok(false, 'should not throw');
52623
52614
  } finally {
52624
- _emberMetal.setTesting(wasEmberTesting);
52615
+ _emberDebug.setTesting(wasEmberTesting);
52625
52616
  }
52626
52617
 
52627
52618
  ok(true);
@@ -52630,12 +52621,12 @@ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-ru
52630
52621
  QUnit.test('rejections like jqXHR which have errorThrown property work', function () {
52631
52622
  expect(2);
52632
52623
 
52633
- var wasEmberTesting = _emberMetal.isTesting();
52624
+ var wasEmberTesting = _emberDebug.isTesting();
52634
52625
  var wasOnError = _emberMetal.getOnerror();
52635
52626
 
52636
52627
  try {
52637
52628
  (function () {
52638
- _emberMetal.setTesting(false);
52629
+ _emberDebug.setTesting(false);
52639
52630
  _emberMetal.setOnerror(function (error) {
52640
52631
  equal(error, actualError, 'expected the real error on the jqXHR');
52641
52632
  equal(error.__reason_with_error_thrown__, jqXHR, 'also retains a helpful reference to the rejection reason');
@@ -52650,19 +52641,19 @@ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-ru
52650
52641
  })();
52651
52642
  } finally {
52652
52643
  _emberMetal.setOnerror(wasOnError);
52653
- _emberMetal.setTesting(wasEmberTesting);
52644
+ _emberDebug.setTesting(wasEmberTesting);
52654
52645
  }
52655
52646
  });
52656
52647
 
52657
52648
  QUnit.test('rejections where the errorThrown is a string should wrap the sting in an error object', function () {
52658
52649
  expect(2);
52659
52650
 
52660
- var wasEmberTesting = _emberMetal.isTesting();
52651
+ var wasEmberTesting = _emberDebug.isTesting();
52661
52652
  var wasOnError = _emberMetal.getOnerror();
52662
52653
 
52663
52654
  try {
52664
52655
  (function () {
52665
- _emberMetal.setTesting(false);
52656
+ _emberDebug.setTesting(false);
52666
52657
  _emberMetal.setOnerror(function (error) {
52667
52658
  equal(error.message, actualError, 'expected the real error on the jqXHR');
52668
52659
  equal(error.__reason_with_error_thrown__, jqXHR, 'also retains a helpful reference to the rejection reason');
@@ -52677,18 +52668,18 @@ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-ru
52677
52668
  })();
52678
52669
  } finally {
52679
52670
  _emberMetal.setOnerror(wasOnError);
52680
- _emberMetal.setTesting(wasEmberTesting);
52671
+ _emberDebug.setTesting(wasEmberTesting);
52681
52672
  }
52682
52673
  });
52683
52674
 
52684
52675
  QUnit.test('rejections can be serialized to JSON', function (assert) {
52685
52676
  expect(2);
52686
52677
 
52687
- var wasEmberTesting = _emberMetal.isTesting();
52678
+ var wasEmberTesting = _emberDebug.isTesting();
52688
52679
  var wasOnError = _emberMetal.getOnerror();
52689
52680
 
52690
52681
  try {
52691
- _emberMetal.setTesting(false);
52682
+ _emberDebug.setTesting(false);
52692
52683
  _emberMetal.setOnerror(function (error) {
52693
52684
  assert.equal(error.message, 'a fail');
52694
52685
  assert.ok(JSON.stringify(error), 'Error can be serialized');
@@ -52701,7 +52692,7 @@ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-ru
52701
52692
  _emberMetal.run(_emberRuntimeExtRsvp.default, 'reject', jqXHR);
52702
52693
  } finally {
52703
52694
  _emberMetal.setOnerror(wasOnError);
52704
- _emberMetal.setTesting(wasEmberTesting);
52695
+ _emberDebug.setTesting(wasEmberTesting);
52705
52696
  }
52706
52697
  });
52707
52698
 
@@ -52831,7 +52822,7 @@ enifed('ember-runtime/tests/ext/rsvp_test.lint-test', ['exports'], function (exp
52831
52822
  assert.ok(true, 'ember-runtime/tests/ext/rsvp_test.js should pass ESLint\n\n');
52832
52823
  });
52833
52824
  });
52834
- enifed('ember-runtime/tests/inject_test', ['exports', 'ember-metal', 'ember-runtime/inject', 'ember-runtime/system/object', 'internal-test-helpers'], function (exports, _emberMetal, _emberRuntimeInject, _emberRuntimeSystemObject, _internalTestHelpers) {
52825
+ enifed('ember-runtime/tests/inject_test', ['exports', 'ember-metal', 'ember-runtime/inject', 'ember-runtime/system/object', 'internal-test-helpers', 'ember-debug'], function (exports, _emberMetal, _emberRuntimeInject, _emberRuntimeSystemObject, _internalTestHelpers, _emberDebug) {
52835
52826
  /* global EmberDev */
52836
52827
 
52837
52828
  'use strict';
@@ -61912,7 +61903,7 @@ enifed('ember-runtime/tests/system/object/computed_test.lint-test', ['exports'],
61912
61903
  assert.ok(true, 'ember-runtime/tests/system/object/computed_test.js should pass ESLint\n\n');
61913
61904
  });
61914
61905
  });
61915
- enifed('ember-runtime/tests/system/object/create_test', ['exports', 'ember-metal', 'ember-runtime/system/object'], function (exports, _emberMetal, _emberRuntimeSystemObject) {
61906
+ enifed('ember-runtime/tests/system/object/create_test', ['exports', 'ember-metal', 'ember-debug', 'ember-runtime/system/object'], function (exports, _emberMetal, _emberDebug, _emberRuntimeSystemObject) {
61916
61907
  'use strict';
61917
61908
 
61918
61909
  QUnit.module('EmberObject.create', {});
@@ -62066,7 +62057,7 @@ enifed('ember-runtime/tests/system/object/create_test.lint-test', ['exports'], f
62066
62057
  assert.ok(true, 'ember-runtime/tests/system/object/create_test.js should pass ESLint\n\n');
62067
62058
  });
62068
62059
  });
62069
- enifed('ember-runtime/tests/system/object/destroy_test', ['exports', 'ember-metal', 'internal-test-helpers', 'ember-runtime/system/object'], function (exports, _emberMetal, _internalTestHelpers, _emberRuntimeSystemObject) {
62060
+ enifed('ember-runtime/tests/system/object/destroy_test', ['exports', 'ember-metal', 'internal-test-helpers', 'ember-runtime/system/object', 'ember-debug'], function (exports, _emberMetal, _internalTestHelpers, _emberRuntimeSystemObject, _emberDebug) {
62070
62061
  'use strict';
62071
62062
 
62072
62063
  QUnit.module('ember-runtime/system/object/destroy_test');
@@ -64227,6 +64218,15 @@ enifed('ember-template-compiler/plugins/transform-attrs-into-args.lint-test', ['
64227
64218
  assert.ok(true, 'ember-template-compiler/plugins/transform-attrs-into-args.js should pass ESLint\n\n');
64228
64219
  });
64229
64220
  });
64221
+ enifed('ember-template-compiler/plugins/transform-dot-component-invocation.lint-test', ['exports'], function (exports) {
64222
+ 'use strict';
64223
+
64224
+ QUnit.module('ESLint | ember-template-compiler/plugins/transform-dot-component-invocation.js');
64225
+ QUnit.test('should pass ESLint', function (assert) {
64226
+ assert.expect(1);
64227
+ assert.ok(true, 'ember-template-compiler/plugins/transform-dot-component-invocation.js should pass ESLint\n\n');
64228
+ });
64229
+ });
64230
64230
  enifed('ember-template-compiler/plugins/transform-each-in-into-each.lint-test', ['exports'], function (exports) {
64231
64231
  'use strict';
64232
64232
 
@@ -64450,6 +64450,30 @@ enifed('ember-template-compiler/tests/plugins/deprecate-render-test.lint-test',
64450
64450
  assert.ok(true, 'ember-template-compiler/tests/plugins/deprecate-render-test.js should pass ESLint\n\n');
64451
64451
  });
64452
64452
  });
64453
+ enifed('ember-template-compiler/tests/plugins/transform-dot-component-invocation-test', ['exports', 'ember-template-compiler/index'], function (exports, _emberTemplateCompilerIndex) {
64454
+ 'use strict';
64455
+
64456
+ QUnit.module('ember-template-compiler: transforms dot component invocation');
64457
+
64458
+ QUnit.test('Does not throw a compiler error for path components', function (assert) {
64459
+ assert.expect(1);
64460
+
64461
+ ['{{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) {
64462
+ _emberTemplateCompilerIndex.compile(layout, { moduleName: 'example-' + i });
64463
+ });
64464
+
64465
+ assert.ok(true);
64466
+ });
64467
+ });
64468
+ enifed('ember-template-compiler/tests/plugins/transform-dot-component-invocation-test.lint-test', ['exports'], function (exports) {
64469
+ 'use strict';
64470
+
64471
+ QUnit.module('ESLint | ember-template-compiler/tests/plugins/transform-dot-component-invocation-test.js');
64472
+ QUnit.test('should pass ESLint', function (assert) {
64473
+ assert.expect(1);
64474
+ assert.ok(true, 'ember-template-compiler/tests/plugins/transform-dot-component-invocation-test.js should pass ESLint\n\n');
64475
+ });
64476
+ });
64453
64477
  enifed('ember-template-compiler/tests/plugins/transform-inline-link-to-test', ['exports', 'ember-template-compiler/index'], function (exports, _emberTemplateCompilerIndex) {
64454
64478
  'use strict';
64455
64479
 
@@ -65599,18 +65623,18 @@ enifed('ember-testing/tests/adapters_test.lint-test', ['exports'], function (exp
65599
65623
  assert.ok(true, 'ember-testing/tests/adapters_test.js should pass ESLint\n\n');
65600
65624
  });
65601
65625
  });
65602
- enifed('ember-testing/tests/ext/rsvp_test', ['exports', 'ember-testing/ext/rsvp', 'ember-testing/test/adapter', 'ember-metal'], function (exports, _emberTestingExtRsvp, _emberTestingTestAdapter, _emberMetal) {
65626
+ enifed('ember-testing/tests/ext/rsvp_test', ['exports', 'ember-testing/ext/rsvp', 'ember-testing/test/adapter', 'ember-metal', 'ember-debug'], function (exports, _emberTestingExtRsvp, _emberTestingTestAdapter, _emberMetal, _emberDebug) {
65603
65627
  'use strict';
65604
65628
 
65605
65629
  var originalTestAdapter = _emberTestingTestAdapter.getAdapter();
65606
- var originalTestingFlag = _emberMetal.isTesting();
65630
+ var originalTestingFlag = _emberDebug.isTesting();
65607
65631
 
65608
65632
  var asyncStarted = 0;
65609
65633
  var asyncEnded = 0;
65610
65634
 
65611
65635
  QUnit.module('ember-testing RSVP', {
65612
65636
  setup: function () {
65613
- _emberMetal.setTesting(true);
65637
+ _emberDebug.setTesting(true);
65614
65638
  _emberTestingTestAdapter.setAdapter({
65615
65639
  asyncStart: function () {
65616
65640
  asyncStarted++;
@@ -65626,7 +65650,7 @@ enifed('ember-testing/tests/ext/rsvp_test', ['exports', 'ember-testing/ext/rsvp'
65626
65650
  asyncStarted = 0;
65627
65651
  asyncEnded = 0;
65628
65652
  _emberTestingTestAdapter.setAdapter(originalTestAdapter);
65629
- _emberMetal.setTesting(originalTestingFlag);
65653
+ _emberDebug.setTesting(originalTestingFlag);
65630
65654
  }
65631
65655
  });
65632
65656
 
@@ -65635,7 +65659,7 @@ enifed('ember-testing/tests/ext/rsvp_test', ['exports', 'ember-testing/ext/rsvp'
65635
65659
 
65636
65660
  ok(!_emberMetal.run.currentRunLoop, 'expect no run-loop');
65637
65661
 
65638
- _emberMetal.setTesting(true);
65662
+ _emberDebug.setTesting(true);
65639
65663
 
65640
65664
  equal(asyncStarted, 0);
65641
65665
  equal(asyncEnded, 0);
@@ -65785,7 +65809,7 @@ enifed('ember-testing/tests/helper_registration_test.lint-test', ['exports'], fu
65785
65809
  assert.ok(true, 'ember-testing/tests/helper_registration_test.js should pass ESLint\n\n');
65786
65810
  });
65787
65811
  });
65788
- enifed('ember-testing/tests/helpers_test', ['exports', 'ember-routing', 'ember-runtime', 'ember-metal', 'ember-views', 'ember-glimmer', 'ember-testing/test', 'ember-testing/helpers', 'ember-testing/initializers', 'ember-testing/setup_for_testing', 'ember-application', 'ember-template-compiler', 'ember-testing/test/pending_requests', 'ember-testing/test/adapter', 'ember-testing/test/waiters'], function (exports, _emberRouting, _emberRuntime, _emberMetal, _emberViews, _emberGlimmer, _emberTestingTest, _emberTestingHelpers, _emberTestingInitializers, _emberTestingSetup_for_testing, _emberApplication, _emberTemplateCompiler, _emberTestingTestPending_requests, _emberTestingTestAdapter, _emberTestingTestWaiters) {
65812
+ enifed('ember-testing/tests/helpers_test', ['exports', 'ember-routing', 'ember-runtime', 'ember-metal', 'ember-debug', 'ember-views', 'ember-glimmer', 'ember-testing/test', 'ember-testing/helpers', 'ember-testing/initializers', 'ember-testing/setup_for_testing', 'ember-application', 'ember-template-compiler', 'ember-testing/test/pending_requests', 'ember-testing/test/adapter', 'ember-testing/test/waiters'], function (exports, _emberRouting, _emberRuntime, _emberMetal, _emberDebug, _emberViews, _emberGlimmer, _emberTestingTest, _emberTestingHelpers, _emberTestingInitializers, _emberTestingSetup_for_testing, _emberApplication, _emberTemplateCompiler, _emberTestingTestPending_requests, _emberTestingTestAdapter, _emberTestingTestWaiters) {
65789
65813
  'use strict';
65790
65814
 
65791
65815
  var App;
@@ -66563,7 +66587,7 @@ enifed('ember-testing/tests/helpers_test', ['exports', 'ember-routing', 'ember-r
66563
66587
  App.testHelpers.pauseTest();
66564
66588
  });
66565
66589
 
66566
- if (false) {
66590
+ if (true) {
66567
66591
  QUnit.test('resumeTest resumes paused tests', function () {
66568
66592
  expect(1);
66569
66593
 
@@ -68820,7 +68844,7 @@ enifed('ember/tests/helpers/helper_registration_test.lint-test', ['exports'], fu
68820
68844
  assert.ok(true, 'ember/tests/helpers/helper_registration_test.js should pass ESLint\n\n');
68821
68845
  });
68822
68846
  });
68823
- enifed('ember/tests/helpers/link_to_test', ['exports', 'ember-console', 'ember-runtime', 'ember-metal', 'ember-routing', 'ember-application', 'ember-views', 'ember-template-compiler', 'ember-glimmer'], function (exports, _emberConsole, _emberRuntime, _emberMetal, _emberRouting, _emberApplication, _emberViews, _emberTemplateCompiler, _emberGlimmer) {
68847
+ enifed('ember/tests/helpers/link_to_test', ['exports', 'ember-console', 'ember-runtime', 'ember-metal', 'ember-routing', 'ember-application', 'ember-views', 'ember-template-compiler', 'ember-glimmer', 'ember-debug'], function (exports, _emberConsole, _emberRuntime, _emberMetal, _emberRouting, _emberApplication, _emberViews, _emberTemplateCompiler, _emberGlimmer, _emberDebug) {
68824
68848
  'use strict';
68825
68849
 
68826
68850
  var Router = undefined,
@@ -71243,7 +71267,7 @@ enifed('ember/tests/integration/multiple-app-test.lint-test', ['exports'], funct
71243
71267
  assert.ok(true, 'ember/tests/integration/multiple-app-test.js should pass ESLint\n\n');
71244
71268
  });
71245
71269
  });
71246
- enifed('ember/tests/reexports_test', ['exports', 'ember/index', 'internal-test-helpers', 'ember-metal'], function (exports, _emberIndex, _internalTestHelpers, _emberMetal) {
71270
+ enifed('ember/tests/reexports_test', ['exports', 'ember/index', 'internal-test-helpers', 'ember-debug'], function (exports, _emberIndex, _internalTestHelpers, _emberDebug) {
71247
71271
  'use strict';
71248
71272
 
71249
71273
  QUnit.module('ember reexports');
@@ -71261,10 +71285,10 @@ enifed('ember/tests/reexports_test', ['exports', 'ember/index', 'internal-test-h
71261
71285
  ['Registry', 'container', 'Registry'], ['Container', 'container', 'Container'],
71262
71286
 
71263
71287
  // ember-metal
71264
- ['computed', 'ember-metal'], ['computed.alias', 'ember-metal', 'alias'], ['ComputedProperty', 'ember-metal'], ['cacheFor', 'ember-metal'], ['deprecate', 'ember-metal'], ['deprecateFunc', 'ember-metal'], ['assert', 'ember-metal'], ['warn', 'ember-metal'], ['debug', 'ember-metal'], ['runInDebug', '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-metal', { get: 'isTesting', set: 'setTesting' }], ['onerror', 'ember-metal', { get: 'getOnerror', set: 'setOnerror' }],
71288
+ ['computed', 'ember-metal'], ['computed.alias', 'ember-metal', 'alias'], ['ComputedProperty', 'ember-metal'], ['cacheFor', 'ember-metal'], ['deprecateFunc', 'ember-debug'], ['assert', 'ember-debug'], ['warn', 'ember-debug'], ['debug', 'ember-debug'], ['runInDebug', 'ember-debug'], ['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' }],
71265
71289
  // ['create'], TODO: figure out what to do here
71266
71290
  // ['keys'], TODO: figure out what to do here
71267
- ['FEATURES', 'ember-metal'], ['FEATURES.isEnabled', 'ember-metal', 'isFeatureEnabled'], ['Error', 'ember-metal'], ['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'], ['accumulateListeners', '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'],
71291
+ ['FEATURES', 'ember-debug'], ['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'], ['accumulateListeners', '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'],
71268
71292
 
71269
71293
  // ember-views
71270
71294
  ['$', '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'],
@@ -75046,7 +75070,7 @@ enifed('ember/tests/routing/basic_test', ['exports', 'ember-utils', 'ember-conso
75046
75070
 
75047
75071
  bootApplication();
75048
75072
 
75049
- equal(router.router.generate('blog.post', { id: '13' }), '/blog/post/13', 'url is generated properly');
75073
+ equal(router._routerMicrolib.generate('blog.post', { id: '13' }), '/blog/post/13', 'url is generated properly');
75050
75074
  });
75051
75075
 
75052
75076
  QUnit.test('Defining a Route#serialize method in an Engine throws an error', function () {
@@ -77653,7 +77677,7 @@ enifed('ember/tests/routing/query_params_test/overlapping_query_params_test.lint
77653
77677
  assert.ok(true, 'ember/tests/routing/query_params_test/overlapping_query_params_test.js should pass ESLint\n\n');
77654
77678
  });
77655
77679
  });
77656
- enifed('ember/tests/routing/query_params_test/query_param_async_get_handler_test', ['exports', 'ember-runtime', 'ember-routing', 'internal-test-helpers'], function (exports, _emberRuntime, _emberRouting, _internalTestHelpers) {
77680
+ enifed('ember/tests/routing/query_params_test/query_param_async_get_handler_test', ['exports', 'ember-metal', 'ember-runtime', 'ember-routing', 'internal-test-helpers'], function (exports, _emberMetal, _emberRuntime, _emberRouting, _internalTestHelpers) {
77657
77681
  'use strict';
77658
77682
 
77659
77683
  // These tests mimic what happens with lazily loaded Engines.
@@ -77856,22 +77880,36 @@ enifed('ember/tests/routing/query_params_test/query_param_async_get_handler_test
77856
77880
  return {
77857
77881
  location: 'test',
77858
77882
 
77883
+ init: function () {
77884
+ this._super.apply(this, arguments);
77885
+ this._seenHandlers = Object.create(null);
77886
+ this._handlerPromises = Object.create(null);
77887
+ },
77888
+
77859
77889
  _getQPMeta: function (handlerInfo) {
77860
- return this._bucketCache.lookup('route-meta', handlerInfo.name);
77890
+ var handler = this._seenHandlers[handlerInfo.name];
77891
+ if (handler) {
77892
+ return _emberMetal.get(handler, '_qp');
77893
+ }
77861
77894
  },
77862
77895
 
77863
77896
  _getHandlerFunction: function () {
77864
77897
  var getHandler = this._super.apply(this, arguments);
77865
- var cache = {};
77898
+ var handlerPromises = this._handlerPromises;
77899
+ var seenHandlers = this._seenHandlers;
77866
77900
 
77867
77901
  return function (routeName) {
77868
77902
  fetchedHandlers.push(routeName);
77869
77903
 
77870
77904
  // Cache the returns so we don't have more than one Promise for a
77871
77905
  // given handler.
77872
- return cache[routeName] || (cache[routeName] = new _emberRuntime.RSVP.Promise(function (resolve) {
77906
+ return handlerPromises[routeName] || (handlerPromises[routeName] = new _emberRuntime.RSVP.Promise(function (resolve) {
77873
77907
  setTimeout(function () {
77874
- return resolve(getHandler(routeName));
77908
+ var handler = getHandler(routeName);
77909
+
77910
+ seenHandlers[routeName] = handler;
77911
+
77912
+ resolve(handler);
77875
77913
  }, 10);
77876
77914
  }));
77877
77915
  };
@@ -78126,6 +78164,905 @@ enifed('ember/tests/routing/router_map_test.lint-test', ['exports'], function (e
78126
78164
  assert.ok(true, 'ember/tests/routing/router_map_test.js should pass ESLint\n\n');
78127
78165
  });
78128
78166
  });
78167
+ enifed('ember/tests/routing/router_service_test/basic_test', ['exports', 'ember-runtime', 'ember-glimmer', 'ember-routing', 'ember-metal', 'internal-test-helpers', 'ember-debug'], function (exports, _emberRuntime, _emberGlimmer, _emberRouting, _emberMetal, _internalTestHelpers, _emberDebug) {
78168
+ 'use strict';
78169
+
78170
+ if (false) {
78171
+ _internalTestHelpers.moduleFor('Router Service - main', (function (_RouterTestCase) {
78172
+ babelHelpers.inherits(_class, _RouterTestCase);
78173
+
78174
+ function _class() {
78175
+ babelHelpers.classCallCheck(this, _class);
78176
+
78177
+ _RouterTestCase.apply(this, arguments);
78178
+ }
78179
+
78180
+ _class.prototype['@test RouterService#currentRouteName is correctly set for top level route'] = function testRouterServiceCurrentRouteNameIsCorrectlySetForTopLevelRoute(assert) {
78181
+ var _this = this;
78182
+
78183
+ assert.expect(1);
78184
+
78185
+ return this.visit('/').then(function () {
78186
+ assert.equal(_this.routerService.get('currentRouteName'), 'parent.index');
78187
+ });
78188
+ };
78189
+
78190
+ _class.prototype['@test RouterService#currentRouteName is correctly set for child route'] = function testRouterServiceCurrentRouteNameIsCorrectlySetForChildRoute(assert) {
78191
+ var _this2 = this;
78192
+
78193
+ assert.expect(1);
78194
+
78195
+ return this.visit('/child').then(function () {
78196
+ assert.equal(_this2.routerService.get('currentRouteName'), 'parent.child');
78197
+ });
78198
+ };
78199
+
78200
+ _class.prototype['@test RouterService#currentRouteName is correctly set after transition'] = function testRouterServiceCurrentRouteNameIsCorrectlySetAfterTransition(assert) {
78201
+ var _this3 = this;
78202
+
78203
+ assert.expect(1);
78204
+
78205
+ return this.visit('/child').then(function () {
78206
+ return _this3.routerService.transitionTo('parent.sister');
78207
+ }).then(function () {
78208
+ assert.equal(_this3.routerService.get('currentRouteName'), 'parent.sister');
78209
+ });
78210
+ };
78211
+
78212
+ _class.prototype['@test RouterService#currentRouteName is correctly set on each transition'] = function testRouterServiceCurrentRouteNameIsCorrectlySetOnEachTransition(assert) {
78213
+ var _this4 = this;
78214
+
78215
+ assert.expect(3);
78216
+
78217
+ return this.visit('/child').then(function () {
78218
+ assert.equal(_this4.routerService.get('currentRouteName'), 'parent.child');
78219
+
78220
+ return _this4.visit('/sister');
78221
+ }).then(function () {
78222
+ assert.equal(_this4.routerService.get('currentRouteName'), 'parent.sister');
78223
+
78224
+ return _this4.visit('/brother');
78225
+ }).then(function () {
78226
+ assert.equal(_this4.routerService.get('currentRouteName'), 'parent.brother');
78227
+ });
78228
+ };
78229
+
78230
+ _class.prototype['@test RouterService#rootURL is correctly set to the default value'] = function testRouterServiceRootURLIsCorrectlySetToTheDefaultValue(assert) {
78231
+ var _this5 = this;
78232
+
78233
+ assert.expect(1);
78234
+
78235
+ return this.visit('/').then(function () {
78236
+ assert.equal(_this5.routerService.get('rootURL'), '/');
78237
+ });
78238
+ };
78239
+
78240
+ _class.prototype['@test RouterService#rootURL is correctly set to a custom value'] = function testRouterServiceRootURLIsCorrectlySetToACustomValue(assert) {
78241
+ var _this6 = this;
78242
+
78243
+ assert.expect(1);
78244
+
78245
+ this.registerRoute('parent.index', _emberRouting.Route.extend({
78246
+ init: function () {
78247
+ this._super();
78248
+ _emberMetal.set(this.router, 'rootURL', '/homepage');
78249
+ }
78250
+ }));
78251
+
78252
+ return this.visit('/').then(function () {
78253
+ assert.equal(_this6.routerService.get('rootURL'), '/homepage');
78254
+ });
78255
+ };
78256
+
78257
+ _class.prototype['@test RouterService#location is correctly delegated from router:main'] = function testRouterServiceLocationIsCorrectlyDelegatedFromRouterMain(assert) {
78258
+ var _this7 = this;
78259
+
78260
+ assert.expect(2);
78261
+
78262
+ return this.visit('/').then(function () {
78263
+ var location = _this7.routerService.get('location');
78264
+ assert.ok(location);
78265
+ assert.ok(location instanceof _emberRouting.NoneLocation);
78266
+ });
78267
+ };
78268
+
78269
+ return _class;
78270
+ })(_internalTestHelpers.RouterTestCase));
78271
+ }
78272
+ });
78273
+ enifed('ember/tests/routing/router_service_test/basic_test.lint-test', ['exports'], function (exports) {
78274
+ 'use strict';
78275
+
78276
+ QUnit.module('ESLint | ember/tests/routing/router_service_test/basic_test.js');
78277
+ QUnit.test('should pass ESLint', function (assert) {
78278
+ assert.expect(1);
78279
+ assert.ok(true, 'ember/tests/routing/router_service_test/basic_test.js should pass ESLint\n\n');
78280
+ });
78281
+ });
78282
+ enifed('ember/tests/routing/router_service_test/currenturl_lifecycle_test', ['exports', 'ember-runtime', 'ember-glimmer', 'ember-routing', 'ember-metal', 'internal-test-helpers', 'ember-debug'], function (exports, _emberRuntime, _emberGlimmer, _emberRouting, _emberMetal, _internalTestHelpers, _emberDebug) {
78283
+ 'use strict';
78284
+
78285
+ if (false) {
78286
+ (function () {
78287
+ var results = [];
78288
+ var ROUTE_NAMES = ['index', 'child', 'sister', 'brother'];
78289
+
78290
+ var InstrumentedRoute = _emberRouting.Route.extend({
78291
+ routerService: _emberRuntime.inject.service('router'),
78292
+
78293
+ beforeModel: function () {
78294
+ var service = _emberMetal.get(this, 'routerService');
78295
+ results.push([service.get('currentRouteName'), 'beforeModel', service.get('currentURL')]);
78296
+ },
78297
+
78298
+ model: function () {
78299
+ var service = _emberMetal.get(this, 'routerService');
78300
+ results.push([service.get('currentRouteName'), 'model', service.get('currentURL')]);
78301
+ },
78302
+
78303
+ afterModel: function () {
78304
+ var service = _emberMetal.get(this, 'routerService');
78305
+ results.push([service.get('currentRouteName'), 'afterModel', service.get('currentURL')]);
78306
+ }
78307
+ });
78308
+
78309
+ _internalTestHelpers.moduleFor('Router Service - currentURL', (function (_RouterTestCase) {
78310
+ babelHelpers.inherits(_class, _RouterTestCase);
78311
+
78312
+ function _class() {
78313
+ var _this = this;
78314
+
78315
+ babelHelpers.classCallCheck(this, _class);
78316
+
78317
+ _RouterTestCase.call(this);
78318
+
78319
+ results = [];
78320
+
78321
+ ROUTE_NAMES.forEach(function (name) {
78322
+ var routeName = 'parent.' + name;
78323
+ _this.registerRoute(routeName, InstrumentedRoute.extend());
78324
+ _this.registerTemplate(routeName, '{{current-url}}');
78325
+ });
78326
+
78327
+ this.registerComponent('current-url', {
78328
+ ComponentClass: _emberGlimmer.Component.extend({
78329
+ routerService: _emberRuntime.inject.service('router'),
78330
+ currentURL: _emberRuntime.readOnly('routerService.currentURL')
78331
+ }),
78332
+ template: '{{currentURL}}'
78333
+ });
78334
+ }
78335
+
78336
+ _class.prototype['@test RouterService#currentURL is correctly set for top level route'] = function testRouterServiceCurrentURLIsCorrectlySetForTopLevelRoute(assert) {
78337
+ var _this2 = this;
78338
+
78339
+ assert.expect(1);
78340
+
78341
+ return this.visit('/').then(function () {
78342
+ assert.equal(_this2.routerService.get('currentURL'), '/');
78343
+ });
78344
+ };
78345
+
78346
+ _class.prototype['@test RouterService#currentURL is correctly set for child route'] = function testRouterServiceCurrentURLIsCorrectlySetForChildRoute(assert) {
78347
+ var _this3 = this;
78348
+
78349
+ assert.expect(1);
78350
+
78351
+ return this.visit('/child').then(function () {
78352
+ assert.equal(_this3.routerService.get('currentURL'), '/child');
78353
+ });
78354
+ };
78355
+
78356
+ _class.prototype['@test RouterService#currentURL is correctly set after transition'] = function testRouterServiceCurrentURLIsCorrectlySetAfterTransition(assert) {
78357
+ var _this4 = this;
78358
+
78359
+ assert.expect(1);
78360
+
78361
+ return this.visit('/child').then(function () {
78362
+ return _this4.routerService.transitionTo('parent.sister');
78363
+ }).then(function () {
78364
+ assert.equal(_this4.routerService.get('currentURL'), '/sister');
78365
+ });
78366
+ };
78367
+
78368
+ _class.prototype['@test RouterService#currentURL is correctly set on each transition'] = function testRouterServiceCurrentURLIsCorrectlySetOnEachTransition(assert) {
78369
+ var _this5 = this;
78370
+
78371
+ assert.expect(3);
78372
+
78373
+ return this.visit('/child').then(function () {
78374
+ assert.equal(_this5.routerService.get('currentURL'), '/child');
78375
+
78376
+ return _this5.visit('/sister');
78377
+ }).then(function () {
78378
+ assert.equal(_this5.routerService.get('currentURL'), '/sister');
78379
+
78380
+ return _this5.visit('/brother');
78381
+ }).then(function () {
78382
+ assert.equal(_this5.routerService.get('currentURL'), '/brother');
78383
+ });
78384
+ };
78385
+
78386
+ _class.prototype['@test RouterService#currentURL is not set during lifecycle hooks'] = function testRouterServiceCurrentURLIsNotSetDuringLifecycleHooks(assert) {
78387
+ var _this6 = this;
78388
+
78389
+ assert.expect(2);
78390
+
78391
+ return this.visit('/').then(function () {
78392
+ assert.deepEqual(results, [[null, 'beforeModel', null], [null, 'model', null], [null, 'afterModel', null]]);
78393
+
78394
+ results = [];
78395
+
78396
+ return _this6.visit('/child');
78397
+ }).then(function () {
78398
+ assert.deepEqual(results, [['parent.index', 'beforeModel', '/'], ['parent.index', 'model', '/'], ['parent.index', 'afterModel', '/']]);
78399
+ });
78400
+ };
78401
+
78402
+ _class.prototype['@test RouterService#currentURL is correctly set with component after consecutive visits'] = function testRouterServiceCurrentURLIsCorrectlySetWithComponentAfterConsecutiveVisits(assert) {
78403
+ var _this7 = this;
78404
+
78405
+ assert.expect(3);
78406
+
78407
+ return this.visit('/').then(function () {
78408
+ _this7.assertText('/');
78409
+
78410
+ return _this7.visit('/child');
78411
+ }).then(function () {
78412
+ _this7.assertText('/child');
78413
+
78414
+ return _this7.visit('/');
78415
+ }).then(function () {
78416
+ _this7.assertText('/');
78417
+ });
78418
+ };
78419
+
78420
+ return _class;
78421
+ })(_internalTestHelpers.RouterTestCase));
78422
+ })();
78423
+ }
78424
+ });
78425
+ enifed('ember/tests/routing/router_service_test/currenturl_lifecycle_test.lint-test', ['exports'], function (exports) {
78426
+ 'use strict';
78427
+
78428
+ QUnit.module('ESLint | ember/tests/routing/router_service_test/currenturl_lifecycle_test.js');
78429
+ QUnit.test('should pass ESLint', function (assert) {
78430
+ assert.expect(1);
78431
+ assert.ok(true, 'ember/tests/routing/router_service_test/currenturl_lifecycle_test.js should pass ESLint\n\n');
78432
+ });
78433
+ });
78434
+ enifed('ember/tests/routing/router_service_test/replaceWith_test', ['exports', 'ember-routing', 'internal-test-helpers', 'router', 'ember-debug'], function (exports, _emberRouting, _internalTestHelpers, _router, _emberDebug) {
78435
+ 'use strict';
78436
+
78437
+ if (false) {
78438
+ _internalTestHelpers.moduleFor('Router Service - replaceWith', (function (_RouterTestCase) {
78439
+ babelHelpers.inherits(_class, _RouterTestCase);
78440
+
78441
+ function _class() {
78442
+ babelHelpers.classCallCheck(this, _class);
78443
+
78444
+ _RouterTestCase.call(this);
78445
+
78446
+ var testCase = this;
78447
+ testCase.state = [];
78448
+
78449
+ this.application.register('location:test', _emberRouting.NoneLocation.extend({
78450
+ setURL: function (path) {
78451
+ testCase.state.push(path);
78452
+ this.set('path', path);
78453
+ },
78454
+
78455
+ replaceURL: function (path) {
78456
+ testCase.state.splice(testCase.state.length - 1, 1, path);
78457
+ this.set('path', path);
78458
+ }
78459
+ }));
78460
+ }
78461
+
78462
+ _class.prototype['@test RouterService#replaceWith returns a Transition'] = function testRouterServiceReplaceWithReturnsATransition(assert) {
78463
+ var _this = this;
78464
+
78465
+ assert.expect(1);
78466
+
78467
+ var transition = undefined;
78468
+
78469
+ return this.visit('/').then(function () {
78470
+ transition = _this.routerService.replaceWith('parent.child');
78471
+
78472
+ assert.ok(transition instanceof _router.Transition);
78473
+
78474
+ return transition;
78475
+ });
78476
+ };
78477
+
78478
+ _class.prototype['@test RouterService#replaceWith with basic route replaces location'] = function testRouterServiceReplaceWithWithBasicRouteReplacesLocation(assert) {
78479
+ var _this2 = this;
78480
+
78481
+ assert.expect(1);
78482
+
78483
+ return this.visit('/').then(function () {
78484
+ return _this2.routerService.transitionTo('parent.child');
78485
+ }).then(function () {
78486
+ return _this2.routerService.transitionTo('parent.sister');
78487
+ }).then(function () {
78488
+ return _this2.routerService.replaceWith('parent.brother');
78489
+ }).then(function () {
78490
+ assert.deepEqual(_this2.state, ['/', '/child', '/brother']);
78491
+ });
78492
+ };
78493
+
78494
+ _class.prototype['@test RouterService#replaceWith with basic route using URLs replaces location'] = function testRouterServiceReplaceWithWithBasicRouteUsingURLsReplacesLocation(assert) {
78495
+ var _this3 = this;
78496
+
78497
+ assert.expect(1);
78498
+
78499
+ return this.visit('/').then(function () {
78500
+ return _this3.routerService.transitionTo('/child');
78501
+ }).then(function () {
78502
+ return _this3.routerService.transitionTo('/sister');
78503
+ }).then(function () {
78504
+ return _this3.routerService.replaceWith('/brother');
78505
+ }).then(function () {
78506
+ assert.deepEqual(_this3.state, ['/', '/child', '/brother']);
78507
+ });
78508
+ };
78509
+
78510
+ _class.prototype['@test RouterService#replaceWith transitioning back to previously visited route replaces location'] = function testRouterServiceReplaceWithTransitioningBackToPreviouslyVisitedRouteReplacesLocation(assert) {
78511
+ var _this4 = this;
78512
+
78513
+ assert.expect(1);
78514
+
78515
+ return this.visit('/').then(function () {
78516
+ return _this4.routerService.transitionTo('parent.child');
78517
+ }).then(function () {
78518
+ return _this4.routerService.transitionTo('parent.sister');
78519
+ }).then(function () {
78520
+ return _this4.routerService.transitionTo('parent.brother');
78521
+ }).then(function () {
78522
+ return _this4.routerService.replaceWith('parent.sister');
78523
+ }).then(function () {
78524
+ assert.deepEqual(_this4.state, ['/', '/child', '/sister', '/sister']);
78525
+ });
78526
+ };
78527
+
78528
+ babelHelpers.createClass(_class, [{
78529
+ key: 'routerOptions',
78530
+ get: function () {
78531
+ return {
78532
+ location: 'test'
78533
+ };
78534
+ }
78535
+ }]);
78536
+ return _class;
78537
+ })(_internalTestHelpers.RouterTestCase));
78538
+ }
78539
+ });
78540
+ enifed('ember/tests/routing/router_service_test/replaceWith_test.lint-test', ['exports'], function (exports) {
78541
+ 'use strict';
78542
+
78543
+ QUnit.module('ESLint | ember/tests/routing/router_service_test/replaceWith_test.js');
78544
+ QUnit.test('should pass ESLint', function (assert) {
78545
+ assert.expect(1);
78546
+ assert.ok(true, 'ember/tests/routing/router_service_test/replaceWith_test.js should pass ESLint\n\n');
78547
+ });
78548
+ });
78549
+ enifed('ember/tests/routing/router_service_test/transitionTo_test', ['exports', 'ember-runtime', 'ember-glimmer', 'ember-routing', 'ember-metal', 'internal-test-helpers', 'router', 'ember-debug'], function (exports, _emberRuntime, _emberGlimmer, _emberRouting, _emberMetal, _internalTestHelpers, _router, _emberDebug) {
78550
+ 'use strict';
78551
+
78552
+ if (false) {
78553
+ _internalTestHelpers.moduleFor('Router Service - transitionTo', (function (_RouterTestCase) {
78554
+ babelHelpers.inherits(_class, _RouterTestCase);
78555
+
78556
+ function _class() {
78557
+ babelHelpers.classCallCheck(this, _class);
78558
+
78559
+ _RouterTestCase.call(this);
78560
+
78561
+ var testCase = this;
78562
+ testCase.state = [];
78563
+
78564
+ this.application.register('location:test', _emberRouting.NoneLocation.extend({
78565
+ setURL: function (path) {
78566
+ testCase.state.push(path);
78567
+ this.set('path', path);
78568
+ },
78569
+
78570
+ replaceURL: function (path) {
78571
+ testCase.state.splice(testCase.state.length - 1, 1, path);
78572
+ this.set('path', path);
78573
+ }
78574
+ }));
78575
+ }
78576
+
78577
+ _class.prototype['@test RouterService#transitionTo returns a Transition'] = function testRouterServiceTransitionToReturnsATransition(assert) {
78578
+ var _this = this;
78579
+
78580
+ assert.expect(1);
78581
+
78582
+ var transition = undefined;
78583
+
78584
+ return this.visit('/').then(function () {
78585
+ transition = _this.routerService.transitionTo('parent.child');
78586
+
78587
+ assert.ok(transition instanceof _router.Transition);
78588
+
78589
+ return transition;
78590
+ });
78591
+ };
78592
+
78593
+ _class.prototype['@test RouterService#transitionTo with basic route updates location'] = function testRouterServiceTransitionToWithBasicRouteUpdatesLocation(assert) {
78594
+ var _this2 = this;
78595
+
78596
+ assert.expect(1);
78597
+
78598
+ return this.visit('/').then(function () {
78599
+ return _this2.routerService.transitionTo('parent.child');
78600
+ }).then(function () {
78601
+ return _this2.routerService.transitionTo('parent.sister');
78602
+ }).then(function () {
78603
+ return _this2.routerService.transitionTo('parent.brother');
78604
+ }).then(function () {
78605
+ assert.deepEqual(_this2.state, ['/', '/child', '/sister', '/brother']);
78606
+ });
78607
+ };
78608
+
78609
+ _class.prototype['@test RouterService#transitionTo transitioning back to previously visited route updates location'] = function testRouterServiceTransitionToTransitioningBackToPreviouslyVisitedRouteUpdatesLocation(assert) {
78610
+ var _this3 = this;
78611
+
78612
+ assert.expect(1);
78613
+
78614
+ return this.visit('/').then(function () {
78615
+ return _this3.routerService.transitionTo('parent.child');
78616
+ }).then(function () {
78617
+ return _this3.routerService.transitionTo('parent.sister');
78618
+ }).then(function () {
78619
+ return _this3.routerService.transitionTo('parent.brother');
78620
+ }).then(function () {
78621
+ return _this3.routerService.transitionTo('parent.sister');
78622
+ }).then(function () {
78623
+ assert.deepEqual(_this3.state, ['/', '/child', '/sister', '/brother', '/sister']);
78624
+ });
78625
+ };
78626
+
78627
+ _class.prototype['@test RouterService#transitionTo with basic route'] = function testRouterServiceTransitionToWithBasicRoute(assert) {
78628
+ var _this4 = this;
78629
+
78630
+ assert.expect(1);
78631
+
78632
+ var componentInstance = undefined;
78633
+
78634
+ this.registerTemplate('parent.index', '{{foo-bar}}');
78635
+
78636
+ this.registerComponent('foo-bar', {
78637
+ ComponentClass: _emberGlimmer.Component.extend({
78638
+ routerService: _emberRuntime.inject.service('router'),
78639
+ init: function () {
78640
+ this._super();
78641
+ componentInstance = this;
78642
+ },
78643
+ actions: {
78644
+ transitionToSister: function () {
78645
+ _emberMetal.get(this, 'routerService').transitionTo('parent.sister');
78646
+ }
78647
+ }
78648
+ }),
78649
+ template: 'foo-bar'
78650
+ });
78651
+
78652
+ return this.visit('/').then(function () {
78653
+ _emberMetal.run(function () {
78654
+ componentInstance.send('transitionToSister');
78655
+ });
78656
+
78657
+ assert.equal(_this4.routerService.get('currentRouteName'), 'parent.sister');
78658
+ });
78659
+ };
78660
+
78661
+ _class.prototype['@test RouterService#transitionTo with basic route using URL'] = function testRouterServiceTransitionToWithBasicRouteUsingURL(assert) {
78662
+ var _this5 = this;
78663
+
78664
+ assert.expect(1);
78665
+
78666
+ var componentInstance = undefined;
78667
+
78668
+ this.registerTemplate('parent.index', '{{foo-bar}}');
78669
+
78670
+ this.registerComponent('foo-bar', {
78671
+ ComponentClass: _emberGlimmer.Component.extend({
78672
+ routerService: _emberRuntime.inject.service('router'),
78673
+ init: function () {
78674
+ this._super();
78675
+ componentInstance = this;
78676
+ },
78677
+ actions: {
78678
+ transitionToSister: function () {
78679
+ _emberMetal.get(this, 'routerService').transitionTo('/sister');
78680
+ }
78681
+ }
78682
+ }),
78683
+ template: 'foo-bar'
78684
+ });
78685
+
78686
+ return this.visit('/').then(function () {
78687
+ _emberMetal.run(function () {
78688
+ componentInstance.send('transitionToSister');
78689
+ });
78690
+
78691
+ assert.equal(_this5.routerService.get('currentRouteName'), 'parent.sister');
78692
+ });
78693
+ };
78694
+
78695
+ _class.prototype['@test RouterService#transitionTo with dynamic segment'] = function testRouterServiceTransitionToWithDynamicSegment(assert) {
78696
+ var _this6 = this;
78697
+
78698
+ assert.expect(3);
78699
+
78700
+ var componentInstance = undefined;
78701
+ var dynamicModel = { id: 1, contents: 'much dynamicism' };
78702
+
78703
+ this.registerTemplate('parent.index', '{{foo-bar}}');
78704
+ this.registerTemplate('dynamic', '{{model.contents}}');
78705
+
78706
+ this.registerComponent('foo-bar', {
78707
+ ComponentClass: _emberGlimmer.Component.extend({
78708
+ routerService: _emberRuntime.inject.service('router'),
78709
+ init: function () {
78710
+ this._super();
78711
+ componentInstance = this;
78712
+ },
78713
+ actions: {
78714
+ transitionToDynamic: function () {
78715
+ _emberMetal.get(this, 'routerService').transitionTo('dynamic', dynamicModel);
78716
+ }
78717
+ }
78718
+ }),
78719
+ template: 'foo-bar'
78720
+ });
78721
+
78722
+ return this.visit('/').then(function () {
78723
+ _emberMetal.run(function () {
78724
+ componentInstance.send('transitionToDynamic');
78725
+ });
78726
+
78727
+ assert.equal(_this6.routerService.get('currentRouteName'), 'dynamic');
78728
+ assert.equal(_this6.routerService.get('currentURL'), '/dynamic/1');
78729
+ _this6.assertText('much dynamicism');
78730
+ });
78731
+ };
78732
+
78733
+ _class.prototype['@test RouterService#transitionTo with dynamic segment and model hook'] = function testRouterServiceTransitionToWithDynamicSegmentAndModelHook(assert) {
78734
+ var _this7 = this;
78735
+
78736
+ assert.expect(3);
78737
+
78738
+ var componentInstance = undefined;
78739
+ var dynamicModel = { id: 1, contents: 'much dynamicism' };
78740
+
78741
+ this.registerRoute('dynamic', _emberRouting.Route.extend({
78742
+ model: function () {
78743
+ return dynamicModel;
78744
+ }
78745
+ }));
78746
+
78747
+ this.registerTemplate('parent.index', '{{foo-bar}}');
78748
+ this.registerTemplate('dynamic', '{{model.contents}}');
78749
+
78750
+ this.registerComponent('foo-bar', {
78751
+ ComponentClass: _emberGlimmer.Component.extend({
78752
+ routerService: _emberRuntime.inject.service('router'),
78753
+ init: function () {
78754
+ this._super();
78755
+ componentInstance = this;
78756
+ },
78757
+ actions: {
78758
+ transitionToDynamic: function () {
78759
+ _emberMetal.get(this, 'routerService').transitionTo('dynamic', 1);
78760
+ }
78761
+ }
78762
+ }),
78763
+ template: 'foo-bar'
78764
+ });
78765
+
78766
+ return this.visit('/').then(function () {
78767
+ _emberMetal.run(function () {
78768
+ componentInstance.send('transitionToDynamic');
78769
+ });
78770
+
78771
+ assert.equal(_this7.routerService.get('currentRouteName'), 'dynamic');
78772
+ assert.equal(_this7.routerService.get('currentURL'), '/dynamic/1');
78773
+ _this7.assertText('much dynamicism');
78774
+ });
78775
+ };
78776
+
78777
+ babelHelpers.createClass(_class, [{
78778
+ key: 'routerOptions',
78779
+ get: function () {
78780
+ return {
78781
+ location: 'test'
78782
+ };
78783
+ }
78784
+ }]);
78785
+ return _class;
78786
+ })(_internalTestHelpers.RouterTestCase));
78787
+ }
78788
+ });
78789
+ enifed('ember/tests/routing/router_service_test/transitionTo_test.lint-test', ['exports'], function (exports) {
78790
+ 'use strict';
78791
+
78792
+ QUnit.module('ESLint | ember/tests/routing/router_service_test/transitionTo_test.js');
78793
+ QUnit.test('should pass ESLint', function (assert) {
78794
+ assert.expect(1);
78795
+ assert.ok(true, 'ember/tests/routing/router_service_test/transitionTo_test.js should pass ESLint\n\n');
78796
+ });
78797
+ });
78798
+ enifed('ember/tests/routing/router_service_test/urlFor_test', ['exports', 'ember-runtime', 'ember-glimmer', 'ember-routing', 'ember-metal', 'internal-test-helpers', 'ember-debug'], function (exports, _emberRuntime, _emberGlimmer, _emberRouting, _emberMetal, _internalTestHelpers, _emberDebug) {
78799
+ 'use strict';
78800
+
78801
+ function setupController(app, name) {
78802
+ var controllerName = _emberRuntime.String.capitalize(name) + 'Controller';
78803
+
78804
+ Object.defineProperty(app, controllerName, {
78805
+ get: function () {
78806
+ throw new Error('Generating a URL should not require instantiation of a ' + controllerName + '.');
78807
+ }
78808
+ });
78809
+ }
78810
+
78811
+ function buildQueryParams(queryParams) {
78812
+ return {
78813
+ queryParams: queryParams
78814
+ };
78815
+ }
78816
+
78817
+ if (false) {
78818
+ _internalTestHelpers.moduleFor('Router Service - urlFor', (function (_RouterTestCase) {
78819
+ babelHelpers.inherits(_class, _RouterTestCase);
78820
+
78821
+ function _class() {
78822
+ babelHelpers.classCallCheck(this, _class);
78823
+
78824
+ _RouterTestCase.apply(this, arguments);
78825
+ }
78826
+
78827
+ _class.prototype['@test RouterService#urlFor returns URL for simple route'] = function testRouterServiceUrlForReturnsURLForSimpleRoute(assert) {
78828
+ var _this = this;
78829
+
78830
+ assert.expect(1);
78831
+
78832
+ return this.visit('/').then(function () {
78833
+ var expectedURL = _this.routerService.urlFor('parent.child');
78834
+
78835
+ assert.equal('/child', expectedURL);
78836
+ });
78837
+ };
78838
+
78839
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with dynamic segments'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithDynamicSegments(assert) {
78840
+ var _this2 = this;
78841
+
78842
+ assert.expect(1);
78843
+
78844
+ setupController(this.application, 'dynamic');
78845
+
78846
+ var dynamicModel = { id: 1, contents: 'much dynamicism' };
78847
+
78848
+ return this.visit('/').then(function () {
78849
+ var expectedURL = _this2.routerService.urlFor('dynamic', dynamicModel);
78850
+
78851
+ assert.equal('/dynamic/1', expectedURL);
78852
+ });
78853
+ };
78854
+
78855
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with basic query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithBasicQueryParams(assert) {
78856
+ var _this3 = this;
78857
+
78858
+ assert.expect(1);
78859
+
78860
+ var queryParams = buildQueryParams({ foo: 'bar' });
78861
+
78862
+ return this.visit('/').then(function () {
78863
+ var expectedURL = _this3.routerService.urlFor('parent.child', queryParams);
78864
+
78865
+ assert.equal('/child?foo=bar', expectedURL);
78866
+ });
78867
+ };
78868
+
78869
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with array as query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithArrayAsQueryParams(assert) {
78870
+ var _this4 = this;
78871
+
78872
+ assert.expect(1);
78873
+
78874
+ var queryParams = buildQueryParams({ selectedItems: ['a', 'b', 'c'] });
78875
+
78876
+ return this.visit('/').then(function () {
78877
+ var expectedURL = _this4.routerService.urlFor('parent.child', queryParams);
78878
+
78879
+ assert.equal('/child?selectedItems[]=a&selectedItems[]=b&selectedItems[]=c', expectedURL);
78880
+ });
78881
+ };
78882
+
78883
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with null query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithNullQueryParams(assert) {
78884
+ var _this5 = this;
78885
+
78886
+ assert.expect(1);
78887
+
78888
+ var queryParams = buildQueryParams({ foo: null });
78889
+
78890
+ return this.visit('/').then(function () {
78891
+ var expectedURL = _this5.routerService.urlFor('parent.child', queryParams);
78892
+
78893
+ assert.equal('/child', expectedURL);
78894
+ });
78895
+ };
78896
+
78897
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with undefined query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithUndefinedQueryParams(assert) {
78898
+ var _this6 = this;
78899
+
78900
+ assert.expect(1);
78901
+
78902
+ var queryParams = buildQueryParams({ foo: undefined });
78903
+
78904
+ return this.visit('/').then(function () {
78905
+ var expectedURL = _this6.routerService.urlFor('parent.child', queryParams);
78906
+
78907
+ assert.equal('/child', expectedURL);
78908
+ });
78909
+ };
78910
+
78911
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with dynamic segments and basic query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithDynamicSegmentsAndBasicQueryParams(assert) {
78912
+ var _this7 = this;
78913
+
78914
+ assert.expect(1);
78915
+
78916
+ var queryParams = buildQueryParams({ foo: 'bar' });
78917
+
78918
+ return this.visit('/').then(function () {
78919
+ var expectedURL = _this7.routerService.urlFor('dynamic', { id: 1 }, queryParams);
78920
+
78921
+ assert.equal('/dynamic/1?foo=bar', expectedURL);
78922
+ });
78923
+ };
78924
+
78925
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with dynamic segments and array as query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithDynamicSegmentsAndArrayAsQueryParams(assert) {
78926
+ var _this8 = this;
78927
+
78928
+ assert.expect(1);
78929
+
78930
+ var queryParams = buildQueryParams({ selectedItems: ['a', 'b', 'c'] });
78931
+
78932
+ return this.visit('/').then(function () {
78933
+ var expectedURL = _this8.routerService.urlFor('dynamic', { id: 1 }, queryParams);
78934
+
78935
+ assert.equal('/dynamic/1?selectedItems[]=a&selectedItems[]=b&selectedItems[]=c', expectedURL);
78936
+ });
78937
+ };
78938
+
78939
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with dynamic segments and null query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithDynamicSegmentsAndNullQueryParams(assert) {
78940
+ var _this9 = this;
78941
+
78942
+ assert.expect(1);
78943
+
78944
+ var queryParams = buildQueryParams({ foo: null });
78945
+
78946
+ return this.visit('/').then(function () {
78947
+ var expectedURL = _this9.routerService.urlFor('dynamic', { id: 1 }, queryParams);
78948
+
78949
+ assert.equal('/dynamic/1', expectedURL);
78950
+ });
78951
+ };
78952
+
78953
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with dynamic segments and undefined query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithDynamicSegmentsAndUndefinedQueryParams(assert) {
78954
+ var _this10 = this;
78955
+
78956
+ assert.expect(1);
78957
+
78958
+ var queryParams = buildQueryParams({ foo: undefined });
78959
+
78960
+ return this.visit('/').then(function () {
78961
+ var expectedURL = _this10.routerService.urlFor('dynamic', { id: 1 }, queryParams);
78962
+
78963
+ assert.equal('/dynamic/1', expectedURL);
78964
+ });
78965
+ };
78966
+
78967
+ _class.prototype['@test RouterService#urlFor correctly transitions to route via generated path'] = function testRouterServiceUrlForCorrectlyTransitionsToRouteViaGeneratedPath(assert) {
78968
+ var _this11 = this;
78969
+
78970
+ assert.expect(1);
78971
+
78972
+ var expectedURL = undefined;
78973
+
78974
+ return this.visit('/').then(function () {
78975
+ expectedURL = _this11.routerService.urlFor('parent.child');
78976
+
78977
+ return _this11.routerService.transitionTo(expectedURL);
78978
+ }).then(function () {
78979
+ assert.equal(expectedURL, _this11.routerService.get('currentURL'));
78980
+ });
78981
+ };
78982
+
78983
+ _class.prototype['@test RouterService#urlFor correctly transitions to route via generated path with dynamic segments'] = function testRouterServiceUrlForCorrectlyTransitionsToRouteViaGeneratedPathWithDynamicSegments(assert) {
78984
+ var _this12 = this;
78985
+
78986
+ assert.expect(1);
78987
+
78988
+ var expectedURL = undefined;
78989
+ var dynamicModel = { id: 1 };
78990
+
78991
+ this.registerRoute('dynamic', _emberRouting.Route.extend({
78992
+ model: function () {
78993
+ return dynamicModel;
78994
+ }
78995
+ }));
78996
+
78997
+ return this.visit('/').then(function () {
78998
+ expectedURL = _this12.routerService.urlFor('dynamic', dynamicModel);
78999
+
79000
+ return _this12.routerService.transitionTo(expectedURL);
79001
+ }).then(function () {
79002
+ assert.equal(expectedURL, _this12.routerService.get('currentURL'));
79003
+ });
79004
+ };
79005
+
79006
+ _class.prototype['@test RouterService#urlFor correctly transitions to route via generated path with query params'] = function testRouterServiceUrlForCorrectlyTransitionsToRouteViaGeneratedPathWithQueryParams(assert) {
79007
+ var _this13 = this;
79008
+
79009
+ assert.expect(1);
79010
+
79011
+ var expectedURL = undefined;
79012
+ var actualURL = undefined;
79013
+ var queryParams = buildQueryParams({ foo: 'bar' });
79014
+
79015
+ return this.visit('/').then(function () {
79016
+ expectedURL = _this13.routerService.urlFor('parent.child', queryParams);
79017
+
79018
+ return _this13.routerService.transitionTo(expectedURL);
79019
+ }).then(function () {
79020
+ actualURL = _this13.routerService.get('currentURL') + '?foo=bar';
79021
+
79022
+ assert.equal(expectedURL, actualURL);
79023
+ });
79024
+ };
79025
+
79026
+ _class.prototype['@test RouterService#urlFor correctly transitions to route via generated path with dynamic segments and query params'] = function testRouterServiceUrlForCorrectlyTransitionsToRouteViaGeneratedPathWithDynamicSegmentsAndQueryParams(assert) {
79027
+ var _this14 = this;
79028
+
79029
+ assert.expect(1);
79030
+
79031
+ var expectedURL = undefined;
79032
+ var actualURL = undefined;
79033
+ var queryParams = buildQueryParams({ foo: 'bar' });
79034
+ var dynamicModel = { id: 1 };
79035
+
79036
+ this.registerRoute('dynamic', _emberRouting.Route.extend({
79037
+ model: function () {
79038
+ return dynamicModel;
79039
+ }
79040
+ }));
79041
+
79042
+ return this.visit('/').then(function () {
79043
+ expectedURL = _this14.routerService.urlFor('dynamic', dynamicModel, queryParams);
79044
+
79045
+ return _this14.routerService.transitionTo(expectedURL);
79046
+ }).then(function () {
79047
+ actualURL = _this14.routerService.get('currentURL') + '?foo=bar';
79048
+
79049
+ assert.equal(expectedURL, actualURL);
79050
+ });
79051
+ };
79052
+
79053
+ return _class;
79054
+ })(_internalTestHelpers.RouterTestCase));
79055
+ }
79056
+ });
79057
+ enifed('ember/tests/routing/router_service_test/urlFor_test.lint-test', ['exports'], function (exports) {
79058
+ 'use strict';
79059
+
79060
+ QUnit.module('ESLint | ember/tests/routing/router_service_test/urlFor_test.js');
79061
+ QUnit.test('should pass ESLint', function (assert) {
79062
+ assert.expect(1);
79063
+ assert.ok(true, 'ember/tests/routing/router_service_test/urlFor_test.js should pass ESLint\n\n');
79064
+ });
79065
+ });
78129
79066
  enifed('ember/tests/routing/substates_test', ['exports', 'ember-runtime', 'ember-routing', 'ember-metal', 'ember-template-compiler', 'ember-application', 'ember-views', 'ember-glimmer'], function (exports, _emberRuntime, _emberRouting, _emberMetal, _emberTemplateCompiler, _emberApplication, _emberViews, _emberGlimmer) {
78130
79067
  'use strict';
78131
79068
 
@@ -79479,6 +80416,15 @@ enifed('internal-test-helpers/test-cases/rendering.lint-test', ['exports'], func
79479
80416
  assert.ok(true, 'internal-test-helpers/test-cases/rendering.js should pass ESLint\n\n');
79480
80417
  });
79481
80418
  });
80419
+ enifed('internal-test-helpers/test-cases/router.lint-test', ['exports'], function (exports) {
80420
+ 'use strict';
80421
+
80422
+ QUnit.module('ESLint | internal-test-helpers/test-cases/router.js');
80423
+ QUnit.test('should pass ESLint', function (assert) {
80424
+ assert.expect(1);
80425
+ assert.ok(true, 'internal-test-helpers/test-cases/router.js should pass ESLint\n\n');
80426
+ });
80427
+ });
79482
80428
  enifed('internal-test-helpers/test-groups.lint-test', ['exports'], function (exports) {
79483
80429
  'use strict';
79484
80430