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;
@@ -200,7 +200,7 @@ enifed('container/registry.lint-test', ['exports'], function (exports) {
200
200
  assert.ok(true, 'container/registry.js should pass ESLint\n\n');
201
201
  });
202
202
  });
203
- 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) {
203
+ 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) {
204
204
  'use strict';
205
205
 
206
206
  var originalModelInjections = undefined;
@@ -755,9 +755,8 @@ enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-envir
755
755
  });
756
756
 
757
757
  QUnit.test('A deprecated `container` property is appended to every object instantiated from an extendable factory', function () {
758
- var owner = {};
759
758
  var registry = new _containerIndex.Registry();
760
- var container = owner.__container__ = registry.container({ owner: owner });
759
+ var container = registry.container();
761
760
  var PostController = _internalTestHelpers.factory();
762
761
  registry.register('controller:post', PostController);
763
762
  var postController = container.lookup('controller:post');
@@ -902,7 +901,7 @@ enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-envir
902
901
  registry.register('component:foo-bar', Component);
903
902
 
904
903
  var factoryManager = container[_container.FACTORY_FOR]('component:foo-bar');
905
- if (false) {
904
+ if (true) {
906
905
  assert.deepEqual(factoryManager.class, Component, 'No double extend');
907
906
  } else {
908
907
  assert.deepEqual(factoryManager.class, lookupFactory('component:foo-bar', container), 'Double extended class');
@@ -2079,7 +2078,7 @@ enifed('ember-application/tests/system/application_instance_test.lint-test', ['e
2079
2078
  assert.ok(true, 'ember-application/tests/system/application_instance_test.js should pass ESLint\n\n');
2080
2079
  });
2081
2080
  });
2082
- 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) {
2081
+ 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) {
2083
2082
  /*globals EmberDev */
2084
2083
  'use strict';
2085
2084
 
@@ -2097,8 +2096,8 @@ enifed('ember-application/tests/system/application_test', ['exports', 'ember', '
2097
2096
  QUnit.module('Ember.Application', {
2098
2097
  setup: function () {
2099
2098
  originalLookup = _emberEnvironment.context.lookup;
2100
- originalDebug = _emberMetal.getDebugFunction('debug');
2101
- originalWarn = _emberMetal.getDebugFunction('warn');
2099
+ originalDebug = _emberDebug.getDebugFunction('debug');
2100
+ originalWarn = _emberDebug.getDebugFunction('warn');
2102
2101
 
2103
2102
  _emberViews.jQuery('#qunit-fixture').html('<div id=\'one\'><div id=\'one-child\'>HI</div></div><div id=\'two\'>HI</div>');
2104
2103
  application = _emberMetal.run(function () {
@@ -2108,8 +2107,8 @@ enifed('ember-application/tests/system/application_test', ['exports', 'ember', '
2108
2107
 
2109
2108
  teardown: function () {
2110
2109
  _emberViews.jQuery('#qunit-fixture').empty();
2111
- _emberMetal.setDebugFunction('debug', originalDebug);
2112
- _emberMetal.setDebugFunction('warn', originalWarn);
2110
+ _emberDebug.setDebugFunction('debug', originalDebug);
2111
+ _emberDebug.setDebugFunction('warn', originalWarn);
2113
2112
 
2114
2113
  _emberEnvironment.context.lookup = originalLookup;
2115
2114
 
@@ -2389,7 +2388,7 @@ enifed('ember-application/tests/system/application_test', ['exports', 'ember', '
2389
2388
 
2390
2389
  _emberEnvironment.ENV.LOG_VERSION = true;
2391
2390
 
2392
- _emberMetal.setDebugFunction('debug', function (message) {
2391
+ _emberDebug.setDebugFunction('debug', function (message) {
2393
2392
  return messages.push(message);
2394
2393
  });
2395
2394
 
@@ -2413,7 +2412,7 @@ enifed('ember-application/tests/system/application_test', ['exports', 'ember', '
2413
2412
 
2414
2413
  _emberEnvironment.ENV.LOG_VERSION = false;
2415
2414
 
2416
- _emberMetal.setDebugFunction('debug', function () {
2415
+ _emberDebug.setDebugFunction('debug', function () {
2417
2416
  return logged = true;
2418
2417
  });
2419
2418
 
@@ -2579,7 +2578,7 @@ enifed('ember-application/tests/system/dependency_injection/custom_resolver_test
2579
2578
  assert.ok(true, 'ember-application/tests/system/dependency_injection/custom_resolver_test.js should pass ESLint\n\n');
2580
2579
  });
2581
2580
  });
2582
- 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) {
2581
+ 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) {
2583
2582
  /* globals EmberDev */
2584
2583
  'use strict';
2585
2584
 
@@ -2596,7 +2595,7 @@ enifed('ember-application/tests/system/dependency_injection/default_resolver_tes
2596
2595
 
2597
2596
  registry = application.__registry__;
2598
2597
  locator = application.__container__;
2599
- originalInfo = _emberMetal.getDebugFunction('info');
2598
+ originalInfo = _emberDebug.getDebugFunction('info');
2600
2599
  },
2601
2600
 
2602
2601
  teardown: function () {
@@ -2608,7 +2607,7 @@ enifed('ember-application/tests/system/dependency_injection/default_resolver_tes
2608
2607
  _emberMetal.run(UserInterfaceNamespace, 'destroy');
2609
2608
  }
2610
2609
 
2611
- _emberMetal.setDebugFunction('info', originalInfo);
2610
+ _emberDebug.setDebugFunction('info', originalInfo);
2612
2611
  }
2613
2612
  });
2614
2613
 
@@ -2786,7 +2785,7 @@ enifed('ember-application/tests/system/dependency_injection/default_resolver_tes
2786
2785
  return 'App';
2787
2786
  };
2788
2787
 
2789
- _emberMetal.setDebugFunction('info', function (symbol, name, padding, lookupDescription) {
2788
+ _emberDebug.setDebugFunction('info', function (symbol, name, padding, lookupDescription) {
2790
2789
  equal(symbol, '[✓]', 'proper symbol is printed when a module is found');
2791
2790
  equal(name, 'doo:scooby', 'proper lookup value is logged');
2792
2791
  equal(lookupDescription, 'App.ScoobyDoo');
@@ -2808,7 +2807,7 @@ enifed('ember-application/tests/system/dependency_injection/default_resolver_tes
2808
2807
  return 'App';
2809
2808
  };
2810
2809
 
2811
- _emberMetal.setDebugFunction('info', function (symbol, name, padding, lookupDescription) {
2810
+ _emberDebug.setDebugFunction('info', function (symbol, name, padding, lookupDescription) {
2812
2811
  equal(symbol, '[ ]', 'proper symbol is printed when a module is not found');
2813
2812
  equal(name, 'doo:scooby', 'proper lookup value is logged');
2814
2813
  equal(lookupDescription, 'App.ScoobyDoo');
@@ -2827,7 +2826,7 @@ enifed('ember-application/tests/system/dependency_injection/default_resolver_tes
2827
2826
 
2828
2827
  application.ScoobyDoo = _emberRuntime.Object.extend();
2829
2828
 
2830
- _emberMetal.setDebugFunction('info', function (symbol, name) {
2829
+ _emberDebug.setDebugFunction('info', function (symbol, name) {
2831
2830
  return infoCount = infoCount + 1;
2832
2831
  });
2833
2832
 
@@ -2975,7 +2974,7 @@ enifed('ember-application/tests/system/dependency_injection/normalization_test.l
2975
2974
  assert.ok(true, 'ember-application/tests/system/dependency_injection/normalization_test.js should pass ESLint\n\n');
2976
2975
  });
2977
2976
  });
2978
- 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) {
2977
+ 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) {
2979
2978
  'use strict';
2980
2979
 
2981
2980
  var originalLookup = undefined,
@@ -6279,6 +6278,24 @@ enifed('ember-debug/deprecate.lint-test', ['exports'], function (exports) {
6279
6278
  assert.ok(true, 'ember-debug/deprecate.js should pass ESLint\n\n');
6280
6279
  });
6281
6280
  });
6281
+ enifed('ember-debug/error.lint-test', ['exports'], function (exports) {
6282
+ 'use strict';
6283
+
6284
+ QUnit.module('ESLint | ember-debug/error.js');
6285
+ QUnit.test('should pass ESLint', function (assert) {
6286
+ assert.expect(1);
6287
+ assert.ok(true, 'ember-debug/error.js should pass ESLint\n\n');
6288
+ });
6289
+ });
6290
+ enifed('ember-debug/features.lint-test', ['exports'], function (exports) {
6291
+ 'use strict';
6292
+
6293
+ QUnit.module('ESLint | ember-debug/features.js');
6294
+ QUnit.test('should pass ESLint', function (assert) {
6295
+ assert.expect(1);
6296
+ assert.ok(true, 'ember-debug/features.js should pass ESLint\n\n');
6297
+ });
6298
+ });
6282
6299
  enifed('ember-debug/handlers.lint-test', ['exports'], function (exports) {
6283
6300
  'use strict';
6284
6301
 
@@ -6297,6 +6314,46 @@ enifed('ember-debug/index.lint-test', ['exports'], function (exports) {
6297
6314
  assert.ok(true, 'ember-debug/index.js should pass ESLint\n\n');
6298
6315
  });
6299
6316
  });
6317
+ enifed('ember-debug/run-in-debug.lint-test', ['exports'], function (exports) {
6318
+ 'use strict';
6319
+
6320
+ QUnit.module('ESLint | ember-debug/run-in-debug.js');
6321
+ QUnit.test('should pass ESLint', function (assert) {
6322
+ assert.expect(1);
6323
+ assert.ok(true, 'ember-debug/run-in-debug.js should pass ESLint\n\n');
6324
+ });
6325
+ });
6326
+ enifed('ember-debug/testing.lint-test', ['exports'], function (exports) {
6327
+ 'use strict';
6328
+
6329
+ QUnit.module('ESLint | ember-debug/testing.js');
6330
+ QUnit.test('should pass ESLint', function (assert) {
6331
+ assert.expect(1);
6332
+ assert.ok(true, 'ember-debug/testing.js should pass ESLint\n\n');
6333
+ });
6334
+ });
6335
+ enifed('ember-debug/tests/error_test', ['exports', 'ember-debug/error'], function (exports, _emberDebugError) {
6336
+ 'use strict';
6337
+
6338
+ QUnit.module('Ember Error Throwing');
6339
+
6340
+ QUnit.test('new Ember.Error displays provided message', function () {
6341
+ throws(function () {
6342
+ throw new _emberDebugError.default('A Message');
6343
+ }, function (e) {
6344
+ return e.message === 'A Message';
6345
+ }, 'the assigned message was displayed');
6346
+ });
6347
+ });
6348
+ enifed('ember-debug/tests/error_test.lint-test', ['exports'], function (exports) {
6349
+ 'use strict';
6350
+
6351
+ QUnit.module('ESLint | ember-debug/tests/error_test.js');
6352
+ QUnit.test('should pass ESLint', function (assert) {
6353
+ assert.expect(1);
6354
+ assert.ok(true, 'ember-debug/tests/error_test.js should pass ESLint\n\n');
6355
+ });
6356
+ });
6300
6357
  enifed('ember-debug/tests/handlers-test', ['exports', 'ember-debug/handlers'], function (exports, _emberDebugHandlers) {
6301
6358
  'use strict';
6302
6359
 
@@ -6450,7 +6507,7 @@ enifed('ember-debug/tests/handlers-test.lint-test', ['exports'], function (expor
6450
6507
  assert.ok(true, 'ember-debug/tests/handlers-test.js should pass ESLint\n\n');
6451
6508
  });
6452
6509
  });
6453
- 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) {
6510
+ 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) {
6454
6511
  'use strict';
6455
6512
 
6456
6513
  var originalEnvValue = undefined;
@@ -6477,6 +6534,7 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6477
6534
  _emberEnvironment.ENV.RAISE_ON_DEPRECATION = false;
6478
6535
 
6479
6536
  try {
6537
+ _emberDebugIndex.deprecate('Should not throw', false, { id: 'test', until: 'forever' });
6480
6538
  assert.ok(true, 'Ember.deprecate did not throw');
6481
6539
  } catch (e) {
6482
6540
  assert.ok(false, 'Expected deprecate not to throw but it did: ' + e.message);
@@ -6489,6 +6547,7 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6489
6547
  _emberEnvironment.ENV.RAISE_ON_DEPRECATION = false;
6490
6548
 
6491
6549
  try {
6550
+ _emberDebugIndex.deprecate('Should not throw', false, { id: 'test', until: 'forever' });
6492
6551
  assert.ok(true, 'Ember.deprecate did not throw');
6493
6552
  } catch (e) {
6494
6553
  assert.ok(false, 'Expected deprecate not to throw but it did: ' + e.message);
@@ -6496,7 +6555,9 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6496
6555
 
6497
6556
  _emberEnvironment.ENV.RAISE_ON_DEPRECATION = true;
6498
6557
 
6499
- assert.throws(function () {}, /Should throw/);
6558
+ assert.throws(function () {
6559
+ _emberDebugIndex.deprecate('Should throw', false, { id: 'test', until: 'forever' });
6560
+ }, /Should throw/);
6500
6561
  });
6501
6562
 
6502
6563
  QUnit.test('When ENV.RAISE_ON_DEPRECATION is true, it is still possible to silence a deprecation by id', function (assert) {
@@ -6510,45 +6571,86 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6510
6571
  });
6511
6572
 
6512
6573
  try {
6574
+ _emberDebugIndex.deprecate('should be silenced with matching id', false, { id: 'my-deprecation', until: 'forever' });
6513
6575
  assert.ok(true, 'Did not throw when level is set by id');
6514
6576
  } catch (e) {
6515
6577
  assert.ok(false, 'Expected deprecate not to throw but it did: ' + e.message);
6516
6578
  }
6517
6579
 
6518
- assert.throws(function () {}, /Should throw with no matching id/);
6580
+ assert.throws(function () {
6581
+ _emberDebugIndex.deprecate('Should throw with no matching id', false, { id: 'test', until: 'forever' });
6582
+ }, /Should throw with no matching id/);
6519
6583
 
6520
- assert.throws(function () {}, /Should throw with non-matching id/);
6584
+ assert.throws(function () {
6585
+ _emberDebugIndex.deprecate('Should throw with non-matching id', false, { id: 'other-id', until: 'forever' });
6586
+ }, /Should throw with non-matching id/);
6521
6587
  });
6522
6588
 
6523
6589
  QUnit.test('Ember.deprecate throws deprecation if second argument is falsy', function () {
6524
6590
  expect(3);
6591
+
6592
+ throws(function () {
6593
+ return _emberDebugIndex.deprecate('Deprecation is thrown', false, { id: 'test', until: 'forever' });
6594
+ });
6595
+ throws(function () {
6596
+ return _emberDebugIndex.deprecate('Deprecation is thrown', '', { id: 'test', until: 'forever' });
6597
+ });
6598
+ throws(function () {
6599
+ return _emberDebugIndex.deprecate('Deprecation is thrown', 0, { id: 'test', until: 'forever' });
6600
+ });
6525
6601
  });
6526
6602
 
6527
6603
  QUnit.test('Ember.deprecate does not invoke a function as the second argument', function () {
6528
6604
  expect(1);
6529
6605
 
6606
+ _emberDebugIndex.deprecate('Deprecation is thrown', function () {
6607
+ ok(false, 'this function should not be invoked');
6608
+ }, { id: 'test', until: 'forever' });
6609
+
6530
6610
  ok(true, 'deprecations were not thrown');
6531
6611
  });
6532
6612
 
6533
6613
  QUnit.test('Ember.deprecate does not throw deprecations if second argument is truthy', function () {
6534
6614
  expect(1);
6535
6615
 
6616
+ _emberDebugIndex.deprecate('Deprecation is thrown', true, { id: 'test', until: 'forever' });
6617
+ _emberDebugIndex.deprecate('Deprecation is thrown', '1', { id: 'test', until: 'forever' });
6618
+ _emberDebugIndex.deprecate('Deprecation is thrown', 1, { id: 'test', until: 'forever' });
6619
+
6536
6620
  ok(true, 'deprecations were not thrown');
6537
6621
  });
6538
6622
 
6539
6623
  QUnit.test('Ember.assert throws if second argument is falsy', function () {
6540
6624
  expect(3);
6625
+
6626
+ throws(function () {
6627
+ return _emberDebugIndex.assert('Assertion is thrown', false);
6628
+ });
6629
+ throws(function () {
6630
+ return _emberDebugIndex.assert('Assertion is thrown', '');
6631
+ });
6632
+ throws(function () {
6633
+ return _emberDebugIndex.assert('Assertion is thrown', 0);
6634
+ });
6541
6635
  });
6542
6636
 
6543
6637
  QUnit.test('Ember.assert does not throw if second argument is a function', function (assert) {
6544
6638
  assert.expect(1);
6545
6639
 
6640
+ _emberDebugIndex.assert('Assertion is thrown', function () {
6641
+ return true;
6642
+ });
6643
+
6546
6644
  ok(true, 'assertions were not thrown');
6547
6645
  });
6548
6646
 
6549
6647
  QUnit.test('Ember.assert does not throw if second argument is truthy', function () {
6550
6648
  expect(1);
6551
6649
 
6650
+ _emberDebugIndex.assert('Assertion is thrown', true);
6651
+ _emberDebugIndex.assert('Assertion is thrown', '1');
6652
+ _emberDebugIndex.assert('Assertion is thrown', 1);
6653
+
6552
6654
  ok(true, 'assertions were not thrown');
6553
6655
  });
6554
6656
 
@@ -6556,6 +6658,9 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6556
6658
  expect(1);
6557
6659
  var Igor = _emberRuntime.Object.extend();
6558
6660
 
6661
+ _emberDebugIndex.assert('is truthy', Igor);
6662
+ _emberDebugIndex.assert('is truthy', Igor.create());
6663
+
6559
6664
  ok(true, 'assertions were not thrown');
6560
6665
  });
6561
6666
 
@@ -6574,12 +6679,14 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6574
6679
  });
6575
6680
 
6576
6681
  try {
6682
+ _emberDebugIndex.deprecate('Deprecation for testing purposes', false, { id: id, until: until });
6577
6683
  ok(true, 'Deprecation did not throw');
6578
6684
  } catch (e) {
6579
6685
  ok(false, 'Deprecation was thrown despite being added to blacklist');
6580
6686
  }
6581
6687
 
6582
6688
  try {
6689
+ _emberDebugIndex.deprecate('Deprecation for testing purposes', false, { id: id, until: until });
6583
6690
  ok(true, 'Deprecation did not throw');
6584
6691
  } catch (e) {
6585
6692
  ok(false, 'Deprecation was thrown despite being added to blacklist');
@@ -6587,9 +6694,13 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6587
6694
 
6588
6695
  shouldThrow = true;
6589
6696
 
6590
- throws(function () {});
6697
+ throws(function () {
6698
+ _emberDebugIndex.deprecate('Deprecation is thrown', false, { id: id, until: until });
6699
+ });
6591
6700
 
6592
- throws(function () {});
6701
+ throws(function () {
6702
+ _emberDebugIndex.deprecate('Deprecation is thrown', false, { id: id, until: until });
6703
+ });
6593
6704
  });
6594
6705
 
6595
6706
  QUnit.test('Ember.deprecate without options triggers a deprecation', function (assert) {
@@ -6602,6 +6713,9 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6602
6713
  assert.ok(true, 'original deprecation is still triggered');
6603
6714
  }
6604
6715
  });
6716
+
6717
+ _emberDebugIndex.deprecate('foo');
6718
+ _emberDebugIndex.deprecate('foo', false, {});
6605
6719
  });
6606
6720
 
6607
6721
  QUnit.test('Ember.deprecate without options.id triggers a deprecation', function (assert) {
@@ -6614,6 +6728,8 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6614
6728
  assert.ok(true, 'original deprecation is still triggered');
6615
6729
  }
6616
6730
  });
6731
+
6732
+ _emberDebugIndex.deprecate('foo', false, { until: 'forever' });
6617
6733
  });
6618
6734
 
6619
6735
  QUnit.test('Ember.deprecate without options.until triggers a deprecation', function (assert) {
@@ -6626,6 +6742,8 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6626
6742
  assert.ok(true, 'original deprecation is still triggered');
6627
6743
  }
6628
6744
  });
6745
+
6746
+ _emberDebugIndex.deprecate('foo', false, { id: 'test' });
6629
6747
  });
6630
6748
 
6631
6749
  QUnit.test('warn without options triggers a deprecation', function (assert) {
@@ -6638,6 +6756,8 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6638
6756
  _emberDebugWarn.registerHandler(function (message) {
6639
6757
  assert.equal(message, 'foo', 'original warning is triggered');
6640
6758
  });
6759
+
6760
+ _emberDebugIndex.warn('foo');
6641
6761
  });
6642
6762
 
6643
6763
  QUnit.test('warn without options.id triggers a deprecation', function (assert) {
@@ -6650,6 +6770,8 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
6650
6770
  _emberDebugWarn.registerHandler(function (message) {
6651
6771
  assert.equal(message, 'foo', 'original warning is triggered');
6652
6772
  });
6773
+
6774
+ _emberDebugIndex.warn('foo', false, {});
6653
6775
  });
6654
6776
  });
6655
6777
  enifed('ember-debug/tests/main_test.lint-test', ['exports'], function (exports) {
@@ -6661,7 +6783,7 @@ enifed('ember-debug/tests/main_test.lint-test', ['exports'], function (exports)
6661
6783
  assert.ok(true, 'ember-debug/tests/main_test.js should pass ESLint\n\n');
6662
6784
  });
6663
6785
  });
6664
- enifed('ember-debug/tests/warn_if_using_stripped_feature_flags_test', ['exports', 'ember-environment', 'ember-metal', 'ember-debug/index'], function (exports, _emberEnvironment, _emberMetal, _emberDebugIndex) {
6786
+ enifed('ember-debug/tests/warn_if_using_stripped_feature_flags_test', ['exports', 'ember-environment', 'ember-debug', 'ember-debug/index'], function (exports, _emberEnvironment, _emberDebug, _emberDebugIndex) {
6665
6787
  'use strict';
6666
6788
 
6667
6789
  var oldWarn = undefined,
@@ -6674,13 +6796,13 @@ enifed('ember-debug/tests/warn_if_using_stripped_feature_flags_test', ['exports'
6674
6796
  function confirmWarns(expectedMsg) {
6675
6797
  var featuresWereStripped = true;
6676
6798
 
6677
- _emberMetal.setDebugFunction('warn', function (msg, test) {
6799
+ _emberDebug.setDebugFunction('warn', function (msg, test) {
6678
6800
  if (!test) {
6679
6801
  equal(msg, expectedMsg);
6680
6802
  }
6681
6803
  });
6682
6804
 
6683
- _emberMetal.setDebugFunction('runInDebug', function (func) {
6805
+ _emberDebug.setDebugFunction('runInDebug', function (func) {
6684
6806
  func();
6685
6807
  });
6686
6808
 
@@ -6694,8 +6816,8 @@ enifed('ember-debug/tests/warn_if_using_stripped_feature_flags_test', ['exports'
6694
6816
 
6695
6817
  QUnit.module('ember-debug - _warnIfUsingStrippedFeatureFlags', {
6696
6818
  setup: function () {
6697
- oldWarn = _emberMetal.getDebugFunction('warn');
6698
- oldRunInDebug = _emberMetal.getDebugFunction('runInDebug');
6819
+ oldWarn = _emberDebug.getDebugFunction('warn');
6820
+ oldRunInDebug = _emberDebug.getDebugFunction('runInDebug');
6699
6821
  origEnvFeatures = _emberEnvironment.ENV.FEATURES;
6700
6822
  origEnableOptional = _emberEnvironment.ENV.ENABLE_OPTIONAL_FEATURES;
6701
6823
 
@@ -6707,8 +6829,8 @@ enifed('ember-debug/tests/warn_if_using_stripped_feature_flags_test', ['exports'
6707
6829
  },
6708
6830
 
6709
6831
  teardown: function () {
6710
- _emberMetal.setDebugFunction('warn', oldWarn);
6711
- _emberMetal.setDebugFunction('runInDebug', oldRunInDebug);
6832
+ _emberDebug.setDebugFunction('warn', oldWarn);
6833
+ _emberDebug.setDebugFunction('runInDebug', oldRunInDebug);
6712
6834
  _emberEnvironment.ENV.FEATURES = origEnvFeatures;
6713
6835
  _emberEnvironment.ENV.ENABLE_OPTIONAL_FEATURES = origEnableOptional;
6714
6836
  }
@@ -8011,15 +8133,6 @@ enifed('ember-glimmer/helpers/concat.lint-test', ['exports'], function (exports)
8011
8133
  assert.ok(true, 'ember-glimmer/helpers/concat.js should pass ESLint\n\n');
8012
8134
  });
8013
8135
  });
8014
- enifed('ember-glimmer/helpers/debugger.lint-test', ['exports'], function (exports) {
8015
- 'use strict';
8016
-
8017
- QUnit.module('ESLint | ember-glimmer/helpers/debugger.js');
8018
- QUnit.test('should pass ESLint', function (assert) {
8019
- assert.expect(1);
8020
- assert.ok(true, 'ember-glimmer/helpers/debugger.js should pass ESLint\n\n');
8021
- });
8022
- });
8023
8136
  enifed('ember-glimmer/helpers/each-in.lint-test', ['exports'], function (exports) {
8024
8137
  'use strict';
8025
8138
 
@@ -8173,6 +8286,33 @@ enifed('ember-glimmer/syntax.lint-test', ['exports'], function (exports) {
8173
8286
  assert.ok(true, 'ember-glimmer/syntax.js should pass ESLint\n\n');
8174
8287
  });
8175
8288
  });
8289
+ enifed('ember-glimmer/syntax/-in-element.lint-test', ['exports'], function (exports) {
8290
+ 'use strict';
8291
+
8292
+ QUnit.module('ESLint | ember-glimmer/syntax/-in-element.js');
8293
+ QUnit.test('should pass ESLint', function (assert) {
8294
+ assert.expect(1);
8295
+ assert.ok(true, 'ember-glimmer/syntax/-in-element.js should pass ESLint\n\n');
8296
+ });
8297
+ });
8298
+ enifed('ember-glimmer/syntax/-text-area.lint-test', ['exports'], function (exports) {
8299
+ 'use strict';
8300
+
8301
+ QUnit.module('ESLint | ember-glimmer/syntax/-text-area.js');
8302
+ QUnit.test('should pass ESLint', function (assert) {
8303
+ assert.expect(1);
8304
+ assert.ok(true, 'ember-glimmer/syntax/-text-area.js should pass ESLint\n\n');
8305
+ });
8306
+ });
8307
+ enifed('ember-glimmer/syntax/-with-dynamic-vars.lint-test', ['exports'], function (exports) {
8308
+ 'use strict';
8309
+
8310
+ QUnit.module('ESLint | ember-glimmer/syntax/-with-dynamic-vars.js');
8311
+ QUnit.test('should pass ESLint', function (assert) {
8312
+ assert.expect(1);
8313
+ assert.ok(true, 'ember-glimmer/syntax/-with-dynamic-vars.js should pass ESLint\n\n');
8314
+ });
8315
+ });
8176
8316
  enifed('ember-glimmer/syntax/abstract-manager.lint-test', ['exports'], function (exports) {
8177
8317
  'use strict';
8178
8318
 
@@ -9024,7 +9164,7 @@ enifed('ember-glimmer/tests/integration/application/engine-test.lint-test', ['ex
9024
9164
  assert.ok(true, 'ember-glimmer/tests/integration/application/engine-test.js should pass ESLint\n\n');
9025
9165
  });
9026
9166
  });
9027
- 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) {
9167
+ 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) {
9028
9168
  'use strict';
9029
9169
 
9030
9170
  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 ']),
@@ -9495,7 +9635,7 @@ enifed('ember-glimmer/tests/integration/binding_integration_test.lint-test', ['e
9495
9635
  assert.ok(true, 'ember-glimmer/tests/integration/binding_integration_test.js should pass ESLint\n\n');
9496
9636
  });
9497
9637
  });
9498
- 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) {
9638
+ 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) {
9499
9639
  'use strict';
9500
9640
 
9501
9641
  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 ']);
@@ -13268,7 +13408,7 @@ enifed('ember-glimmer/tests/integration/components/contextual-components-test.li
13268
13408
  assert.ok(true, 'ember-glimmer/tests/integration/components/contextual-components-test.js should pass ESLint\n\n');
13269
13409
  });
13270
13410
  });
13271
- 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) {
13411
+ 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) {
13272
13412
  /* globals EmberDev */
13273
13413
  'use strict';
13274
13414
 
@@ -16003,9 +16143,23 @@ babelHelpers.inherits(_class, _RenderingTest);
16003
16143
  this.assertText('Jackson');
16004
16144
  };
16005
16145
 
16006
- _class.prototype['@test can access `actions` hash via `_actions` [DEPRECATED]'] = function testCanAccessActionsHashVia_actionsDEPRECATED() {
16146
+ _class.prototype['@test injecting an unknown service raises an exception'] = function testInjectingAnUnknownServiceRaisesAnException(assert) {
16007
16147
  var _this70 = this;
16008
16148
 
16149
+ this.registerComponent('foo-bar', {
16150
+ ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
16151
+ missingService: _emberRuntime.inject.service()
16152
+ })
16153
+ });
16154
+
16155
+ expectAssertion(function () {
16156
+ _this70.render('{{foo-bar}}');
16157
+ }, 'Attempting to inject an unknown injection: \'service:missingService\'');
16158
+ };
16159
+
16160
+ _class.prototype['@test can access `actions` hash via `_actions` [DEPRECATED]'] = function testCanAccessActionsHashVia_actionsDEPRECATED() {
16161
+ var _this71 = this;
16162
+
16009
16163
  var component = undefined;
16010
16164
 
16011
16165
  function derp() {}
@@ -16028,12 +16182,12 @@ babelHelpers.inherits(_class, _RenderingTest);
16028
16182
  this.assert.strictEqual(component.actions.derp, derp);
16029
16183
 
16030
16184
  expectDeprecation(function () {
16031
- _this70.assert.strictEqual(component._actions.derp, derp);
16185
+ _this71.assert.strictEqual(component._actions.derp, derp);
16032
16186
  }, 'Usage of `_actions` is deprecated, use `actions` instead.');
16033
16187
  };
16034
16188
 
16035
16189
  _class.prototype['@test throws if `this._super` is not called from `init`'] = function testThrowsIfThis_superIsNotCalledFromInit() {
16036
- var _this71 = this;
16190
+ var _this72 = this;
16037
16191
 
16038
16192
  this.registerComponent('foo-bar', {
16039
16193
  ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
@@ -16042,16 +16196,16 @@ babelHelpers.inherits(_class, _RenderingTest);
16042
16196
  });
16043
16197
 
16044
16198
  expectAssertion(function () {
16045
- _this71.render('{{foo-bar}}');
16199
+ _this72.render('{{foo-bar}}');
16046
16200
  }, /You must call `this._super\(...arguments\);` when overriding `init` on a framework object. Please update .* to call `this._super\(...arguments\);` from `init`./);
16047
16201
  };
16048
16202
 
16049
16203
  _class.prototype['@test should toggle visibility with isVisible'] = function testShouldToggleVisibilityWithIsVisible(assert) {
16050
- var _this72 = this;
16204
+ var _this73 = this;
16051
16205
 
16052
16206
  var assertStyle = function (expected) {
16053
16207
  var matcher = _emberGlimmerTestsUtilsTestHelpers.styles(expected);
16054
- var actual = _this72.firstChild.getAttribute('style');
16208
+ var actual = _this73.firstChild.getAttribute('style');
16055
16209
 
16056
16210
  assert.pushResult({
16057
16211
  result: matcher.match(actual),
@@ -16074,18 +16228,18 @@ babelHelpers.inherits(_class, _RenderingTest);
16074
16228
  this.assertStableRerender();
16075
16229
 
16076
16230
  this.runTask(function () {
16077
- _emberMetal.set(_this72.context, 'visible', true);
16231
+ _emberMetal.set(_this73.context, 'visible', true);
16078
16232
  });
16079
16233
  assertStyle('');
16080
16234
 
16081
16235
  this.runTask(function () {
16082
- _emberMetal.set(_this72.context, 'visible', false);
16236
+ _emberMetal.set(_this73.context, 'visible', false);
16083
16237
  });
16084
16238
  assertStyle('display: none;');
16085
16239
  };
16086
16240
 
16087
16241
  _class.prototype['@test isVisible does not overwrite component style'] = function testIsVisibleDoesNotOverwriteComponentStyle(assert) {
16088
- var _this73 = this;
16242
+ var _this74 = this;
16089
16243
 
16090
16244
  this.registerComponent('foo-bar', {
16091
16245
  ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
@@ -16108,7 +16262,7 @@ babelHelpers.inherits(_class, _RenderingTest);
16108
16262
  this.assertStableRerender();
16109
16263
 
16110
16264
  this.runTask(function () {
16111
- _emberMetal.set(_this73.context, 'visible', true);
16265
+ _emberMetal.set(_this74.context, 'visible', true);
16112
16266
  });
16113
16267
 
16114
16268
  this.assertComponentElement(this.firstChild, {
@@ -16117,7 +16271,7 @@ babelHelpers.inherits(_class, _RenderingTest);
16117
16271
  });
16118
16272
 
16119
16273
  this.runTask(function () {
16120
- _emberMetal.set(_this73.context, 'visible', false);
16274
+ _emberMetal.set(_this74.context, 'visible', false);
16121
16275
  });
16122
16276
 
16123
16277
  this.assertComponentElement(this.firstChild, {
@@ -16127,11 +16281,11 @@ babelHelpers.inherits(_class, _RenderingTest);
16127
16281
  };
16128
16282
 
16129
16283
  _class.prototype['@test adds isVisible binding when style binding is missing and other bindings exist'] = function testAddsIsVisibleBindingWhenStyleBindingIsMissingAndOtherBindingsExist(assert) {
16130
- var _this74 = this;
16284
+ var _this75 = this;
16131
16285
 
16132
16286
  var assertStyle = function (expected) {
16133
16287
  var matcher = _emberGlimmerTestsUtilsTestHelpers.styles(expected);
16134
- var actual = _this74.firstChild.getAttribute('style');
16288
+ var actual = _this75.firstChild.getAttribute('style');
16135
16289
 
16136
16290
  assert.pushResult({
16137
16291
  result: matcher.match(actual),
@@ -16159,14 +16313,14 @@ babelHelpers.inherits(_class, _RenderingTest);
16159
16313
  this.assertStableRerender();
16160
16314
 
16161
16315
  this.runTask(function () {
16162
- _emberMetal.set(_this74.context, 'visible', true);
16316
+ _emberMetal.set(_this75.context, 'visible', true);
16163
16317
  });
16164
16318
 
16165
16319
  assertStyle('');
16166
16320
 
16167
16321
  this.runTask(function () {
16168
- _emberMetal.set(_this74.context, 'visible', false);
16169
- _emberMetal.set(_this74.context, 'foo', 'woo');
16322
+ _emberMetal.set(_this75.context, 'visible', false);
16323
+ _emberMetal.set(_this75.context, 'foo', 'woo');
16170
16324
  });
16171
16325
 
16172
16326
  assertStyle('display: none;');
@@ -16174,14 +16328,14 @@ babelHelpers.inherits(_class, _RenderingTest);
16174
16328
  };
16175
16329
 
16176
16330
  _class.prototype['@test it can use readDOMAttr to read input value'] = function testItCanUseReadDOMAttrToReadInputValue() {
16177
- var _this75 = this;
16331
+ var _this76 = this;
16178
16332
 
16179
16333
  var component = undefined;
16180
16334
  var assertElement = function (expectedValue) {
16181
16335
  // value is a property, not an attribute
16182
- _this75.assertHTML('<input class="ember-view" id="' + component.elementId + '">');
16183
- _this75.assert.equal(_this75.firstChild.value, expectedValue, 'value property is correct');
16184
- _this75.assert.equal(_emberMetal.get(component, 'value'), expectedValue, 'component.get("value") is correct');
16336
+ _this76.assertHTML('<input class="ember-view" id="' + component.elementId + '">');
16337
+ _this76.assert.equal(_this76.firstChild.value, expectedValue, 'value property is correct');
16338
+ _this76.assert.equal(_emberMetal.get(component, 'value'), expectedValue, 'component.get("value") is correct');
16185
16339
  };
16186
16340
 
16187
16341
  this.registerComponent('one-way-input', {
@@ -16210,15 +16364,15 @@ babelHelpers.inherits(_class, _RenderingTest);
16210
16364
  this.assertStableRerender();
16211
16365
 
16212
16366
  this.runTask(function () {
16213
- _this75.firstChild.value = 'bar';
16214
- _this75.$('input').trigger('change');
16367
+ _this76.firstChild.value = 'bar';
16368
+ _this76.$('input').trigger('change');
16215
16369
  });
16216
16370
 
16217
16371
  assertElement('bar');
16218
16372
 
16219
16373
  this.runTask(function () {
16220
- _this75.firstChild.value = 'foo';
16221
- _this75.$('input').trigger('change');
16374
+ _this76.firstChild.value = 'foo';
16375
+ _this76.$('input').trigger('change');
16222
16376
  });
16223
16377
 
16224
16378
  assertElement('foo');
@@ -16230,8 +16384,8 @@ babelHelpers.inherits(_class, _RenderingTest);
16230
16384
  assertElement('bar');
16231
16385
 
16232
16386
  this.runTask(function () {
16233
- _this75.firstChild.value = 'foo';
16234
- _this75.$('input').trigger('change');
16387
+ _this76.firstChild.value = 'foo';
16388
+ _this76.$('input').trigger('change');
16235
16389
  });
16236
16390
 
16237
16391
  assertElement('foo');
@@ -16323,7 +16477,7 @@ babelHelpers.inherits(_class, _RenderingTest);
16323
16477
  };
16324
16478
 
16325
16479
  _class.prototype['@test using didInitAttrs as an event is deprecated'] = function testUsingDidInitAttrsAsAnEventIsDeprecated(assert) {
16326
- var _this76 = this;
16480
+ var _this77 = this;
16327
16481
 
16328
16482
  this.registerComponent('foo-bar', {
16329
16483
  ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
@@ -16334,7 +16488,7 @@ babelHelpers.inherits(_class, _RenderingTest);
16334
16488
  });
16335
16489
 
16336
16490
  expectDeprecation(function () {
16337
- _this76.render('{{foo-bar}}');
16491
+ _this77.render('{{foo-bar}}');
16338
16492
  }, /didInitAttrs called/);
16339
16493
  };
16340
16494
 
@@ -16345,7 +16499,7 @@ babelHelpers.inherits(_class, _RenderingTest);
16345
16499
  // like there is no real "attrs" here, and there is no "update" pass.
16346
16500
 
16347
16501
  _class.prototype['@test did{Init,Receive}Attrs fires even if component is not rendered'] = function testDidInitReceiveAttrsFiresEvenIfComponentIsNotRendered(assert) {
16348
- var _this77 = this;
16502
+ var _this78 = this;
16349
16503
 
16350
16504
  expectDeprecation(/didInitAttrs called/);
16351
16505
 
@@ -16379,7 +16533,7 @@ babelHelpers.inherits(_class, _RenderingTest);
16379
16533
  assert.strictEqual(didReceiveAttrsCount, 0, 'precond: didReceiveAttrs is not fired');
16380
16534
 
16381
16535
  this.runTask(function () {
16382
- return _this77.component = _this77.owner.lookup('component:foo-bar');
16536
+ return _this78.component = _this78.owner.lookup('component:foo-bar');
16383
16537
  });
16384
16538
 
16385
16539
  assert.strictEqual(didInitAttrsCount, 1, 'precond: didInitAttrs is fired');
@@ -16387,7 +16541,7 @@ babelHelpers.inherits(_class, _RenderingTest);
16387
16541
  };
16388
16542
 
16389
16543
  _class.prototype['@test did{Init,Receive}Attrs fires after .init() but before observers become active'] = function testDidInitReceiveAttrsFiresAfterInitButBeforeObserversBecomeActive(assert) {
16390
- var _this78 = this;
16544
+ var _this79 = this;
16391
16545
 
16392
16546
  expectDeprecation(/didInitAttrs called/);
16393
16547
 
@@ -16434,7 +16588,7 @@ babelHelpers.inherits(_class, _RenderingTest);
16434
16588
  assert.strictEqual(barCopyDidChangeCount, 0, 'expected NO observer firing for: barCopy');
16435
16589
 
16436
16590
  this.runTask(function () {
16437
- return _emberMetal.set(_this78.context, 'foo', 5);
16591
+ return _emberMetal.set(_this79.context, 'foo', 5);
16438
16592
  });
16439
16593
 
16440
16594
  this.assertText('5-2-3-4');
@@ -16443,7 +16597,7 @@ babelHelpers.inherits(_class, _RenderingTest);
16443
16597
  assert.strictEqual(barCopyDidChangeCount, 0, 'expected NO observer firing for: barCopy');
16444
16598
 
16445
16599
  this.runTask(function () {
16446
- return _emberMetal.set(_this78.context, 'bar', 7);
16600
+ return _emberMetal.set(_this79.context, 'bar', 7);
16447
16601
  });
16448
16602
 
16449
16603
  this.assertText('5-2-7-8');
@@ -16485,7 +16639,7 @@ babelHelpers.inherits(_class, _RenderingTest);
16485
16639
  };
16486
16640
 
16487
16641
  _class.prototype['@test can access didUpdateAttrs arguments [DEPRECATED]'] = function testCanAccessDidUpdateAttrsArgumentsDEPRECATED(assert) {
16488
- var _this79 = this;
16642
+ var _this80 = this;
16489
16643
 
16490
16644
  expectDeprecation(/didUpdateAttrs.*stop taking arguments/);
16491
16645
 
@@ -16504,12 +16658,12 @@ babelHelpers.inherits(_class, _RenderingTest);
16504
16658
  this.render('{{foo-bar foo=foo bar=bar}}', { foo: 1, bar: 3 });
16505
16659
 
16506
16660
  this.runTask(function () {
16507
- return _emberMetal.set(_this79.context, 'foo', 5);
16661
+ return _emberMetal.set(_this80.context, 'foo', 5);
16508
16662
  });
16509
16663
  };
16510
16664
 
16511
16665
  _class.prototype['@test overriding didUpdateAttrs does not trigger deprecation'] = function testOverridingDidUpdateAttrsDoesNotTriggerDeprecation(assert) {
16512
- var _this80 = this;
16666
+ var _this81 = this;
16513
16667
 
16514
16668
  this.registerComponent('foo-bar', {
16515
16669
  ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
@@ -16524,12 +16678,12 @@ babelHelpers.inherits(_class, _RenderingTest);
16524
16678
  this.render('{{foo-bar foo=foo bar=bar}}', { foo: 1, bar: 3 });
16525
16679
 
16526
16680
  this.runTask(function () {
16527
- return _emberMetal.set(_this80.context, 'foo', 5);
16681
+ return _emberMetal.set(_this81.context, 'foo', 5);
16528
16682
  });
16529
16683
  };
16530
16684
 
16531
16685
  _class.prototype['@test returning `true` from an action does not bubble if `target` is not specified (GH#14275)'] = function testReturningTrueFromAnActionDoesNotBubbleIfTargetIsNotSpecifiedGH14275(assert) {
16532
- var _this81 = this;
16686
+ var _this82 = this;
16533
16687
 
16534
16688
  this.registerComponent('display-toggle', {
16535
16689
  ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
@@ -16553,12 +16707,12 @@ babelHelpers.inherits(_class, _RenderingTest);
16553
16707
  this.assertText('Show');
16554
16708
 
16555
16709
  this.runTask(function () {
16556
- return _this81.$('button').click();
16710
+ return _this82.$('button').click();
16557
16711
  });
16558
16712
  };
16559
16713
 
16560
16714
  _class.prototype['@test returning `true` from an action bubbles to the `target` if specified'] = function testReturningTrueFromAnActionBubblesToTheTargetIfSpecified(assert) {
16561
- var _this82 = this;
16715
+ var _this83 = this;
16562
16716
 
16563
16717
  assert.expect(4);
16564
16718
 
@@ -16585,12 +16739,12 @@ babelHelpers.inherits(_class, _RenderingTest);
16585
16739
  this.assertText('Show');
16586
16740
 
16587
16741
  this.runTask(function () {
16588
- return _this82.$('button').click();
16742
+ return _this83.$('button').click();
16589
16743
  });
16590
16744
  };
16591
16745
 
16592
16746
  _class.prototype['@test component yielding in an {{#each}} has correct block values after rerendering (GH#14284)'] = function testComponentYieldingInAnEachHasCorrectBlockValuesAfterRerenderingGH14284() {
16593
- var _this83 = this;
16747
+ var _this84 = this;
16594
16748
 
16595
16749
  this.registerComponent('list-items', {
16596
16750
  template: '{{#each items as |item|}}{{yield item}}{{/each}}'
@@ -16606,13 +16760,13 @@ babelHelpers.inherits(_class, _RenderingTest);
16606
16760
  this.assertStableRerender();
16607
16761
 
16608
16762
  this.runTask(function () {
16609
- return _emberMetal.set(_this83.context, 'editMode', true);
16763
+ return _emberMetal.set(_this84.context, 'editMode', true);
16610
16764
  });
16611
16765
 
16612
16766
  this.assertText('|foo|Remove foo|bar|Remove bar|qux|Remove qux|baz|Remove baz');
16613
16767
 
16614
16768
  this.runTask(function () {
16615
- return _emberMetal.set(_this83.context, 'editMode', false);
16769
+ return _emberMetal.set(_this84.context, 'editMode', false);
16616
16770
  });
16617
16771
 
16618
16772
  this.assertText('|foo||bar||qux||baz|');
@@ -16749,7 +16903,7 @@ enifed('ember-glimmer/tests/integration/components/destroy-test.lint-test', ['ex
16749
16903
  assert.ok(true, 'ember-glimmer/tests/integration/components/destroy-test.js should pass ESLint\n\n');
16750
16904
  });
16751
16905
  });
16752
- 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) {
16906
+ 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) {
16753
16907
  'use strict';
16754
16908
 
16755
16909
  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}}']),
@@ -21035,7 +21189,7 @@ enifed('ember-glimmer/tests/integration/components/will-destroy-element-hook-tes
21035
21189
  assert.ok(true, 'ember-glimmer/tests/integration/components/will-destroy-element-hook-test.js should pass ESLint\n\n');
21036
21190
  });
21037
21191
  });
21038
- 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) {
21192
+ 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) {
21039
21193
  /* globals EmberDev */
21040
21194
  'use strict';
21041
21195
 
@@ -22457,8 +22611,8 @@ enifed('ember-glimmer/tests/integration/content-test', ['exports', 'ember-glimme
22457
22611
  function StyleTest() {
22458
22612
  _RenderingTest4.apply(this, arguments);
22459
22613
  warnings = [];
22460
- originalWarn = _emberMetal.getDebugFunction('warn');
22461
- _emberMetal.setDebugFunction('warn', function (message, test) {
22614
+ originalWarn = _emberDebug.getDebugFunction('warn');
22615
+ _emberDebug.setDebugFunction('warn', function (message, test) {
22462
22616
  if (!test) {
22463
22617
  warnings.push(message);
22464
22618
  }
@@ -22469,7 +22623,7 @@ enifed('ember-glimmer/tests/integration/content-test', ['exports', 'ember-glimme
22469
22623
  var _RenderingTest4$prototype$teardown;
22470
22624
 
22471
22625
  (_RenderingTest4$prototype$teardown = _RenderingTest4.prototype.teardown).call.apply(_RenderingTest4$prototype$teardown, [this].concat(babelHelpers.slice.call(arguments)));
22472
- _emberMetal.setDebugFunction('warn', originalWarn);
22626
+ _emberDebug.setDebugFunction('warn', originalWarn);
22473
22627
  };
22474
22628
 
22475
22629
  StyleTest.prototype.assertStyleWarning = function assertStyleWarning(style) {
@@ -22685,7 +22839,7 @@ enifed('ember-glimmer/tests/integration/content-test.lint-test', ['exports'], fu
22685
22839
  assert.ok(true, 'ember-glimmer/tests/integration/content-test.js should pass ESLint\n\n');
22686
22840
  });
22687
22841
  });
22688
- 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) {
22842
+ 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) {
22689
22843
  'use strict';
22690
22844
 
22691
22845
  var canDataTransfer = !!document.createEvent('HTMLEvents').dataTransfer;
@@ -23070,7 +23224,7 @@ enifed('ember-glimmer/tests/integration/helpers/-class-test.lint-test', ['export
23070
23224
  assert.ok(true, 'ember-glimmer/tests/integration/helpers/-class-test.js should pass ESLint\n\n');
23071
23225
  });
23072
23226
  });
23073
- 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) {
23227
+ 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) {
23074
23228
  'use strict';
23075
23229
 
23076
23230
  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 ']);
@@ -24991,9 +25145,9 @@ enifed('ember-glimmer/tests/integration/helpers/custom-helper-test', ['exports',
24991
25145
 
24992
25146
  this.registerHelper('some-helper', function () {});
24993
25147
 
24994
- expectAssertion(function () {
25148
+ this.assert.throws(function () {
24995
25149
  _this18.render('<div {{some-helper}}></div>');
24996
- }, /Helpers may not be used in the element form/);
25150
+ }, /Compile Error some-helper is not a modifier: Helpers may not be used in the element form/);
24997
25151
  };
24998
25152
 
24999
25153
  _class.prototype['@test class-based helper not usable within element'] = function testClassBasedHelperNotUsableWithinElement() {
@@ -25003,9 +25157,9 @@ enifed('ember-glimmer/tests/integration/helpers/custom-helper-test', ['exports',
25003
25157
  compute: function () {}
25004
25158
  });
25005
25159
 
25006
- expectAssertion(function () {
25160
+ this.assert.throws(function () {
25007
25161
  _this19.render('<div {{some-helper}}></div>');
25008
- }, /Helpers may not be used in the element form/);
25162
+ }, /Compile Error some-helper is not a modifier: Helpers may not be used in the element form/);
25009
25163
  };
25010
25164
 
25011
25165
  _class.prototype['@test class-based helper is torn down'] = function testClassBasedHelperIsTornDown() {
@@ -25304,293 +25458,7 @@ enifed('ember-glimmer/tests/integration/helpers/custom-helper-test.lint-test', [
25304
25458
  assert.ok(true, 'ember-glimmer/tests/integration/helpers/custom-helper-test.js should pass ESLint\n\n');
25305
25459
  });
25306
25460
  });
25307
- 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) {
25308
- 'use strict';
25309
-
25310
- // This file is generally not I-N-U-R tested, because the {{debugger}} helper currently
25311
- // does not run during re-render. This is something we eventually want to do, and when
25312
- // we implement that feature these tests should be updated accordingly.
25313
-
25314
- _emberGlimmerTestsUtilsTestCase.moduleFor('Helpers test: {{debugger}}', (function (_RenderingTest) {
25315
- babelHelpers.inherits(_class, _RenderingTest);
25316
-
25317
- function _class() {
25318
- _RenderingTest.apply(this, arguments);
25319
- }
25320
-
25321
- _class.prototype.teardown = function teardown() {
25322
- _RenderingTest.prototype.teardown.call(this);
25323
- _emberGlimmerHelpersDebugger.resetDebuggerCallback();
25324
- };
25325
-
25326
- _class.prototype.expectDebuggerCallback = function expectDebuggerCallback(callback, debuggerCallback) {
25327
- var times = arguments.length <= 2 || arguments[2] === undefined ? 1 : arguments[2];
25328
-
25329
- var called = 0;
25330
-
25331
- _emberGlimmerHelpersDebugger.setDebuggerCallback(function (context, get) {
25332
- called++;
25333
- debuggerCallback(context, get);
25334
- });
25335
-
25336
- callback();
25337
-
25338
- this.assert.strictEqual(called, times, 'Expect debugger callback to be called exactly ' + times + ' time(s)');
25339
- };
25340
-
25341
- _class.prototype.expectNoDebuggerCallback = function expectNoDebuggerCallback(callback) {
25342
- var called = 0;
25343
-
25344
- _emberGlimmerHelpersDebugger.setDebuggerCallback(function () {
25345
- return called++;
25346
- });
25347
-
25348
- callback();
25349
-
25350
- this.assert.strictEqual(called, 0, 'Expect no debugger callback');
25351
- };
25352
-
25353
- _class.prototype['@test should have the right context when used in a component layout'] = function testShouldHaveTheRightContextWhenUsedInAComponentLayout(assert) {
25354
- var _this = this;
25355
-
25356
- var instance = undefined;
25357
-
25358
- this.registerComponent('my-wrapper', {
25359
- template: '{{yield}}'
25360
- });
25361
-
25362
- this.registerComponent('foo-bar', {
25363
- ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
25364
- init: function () {
25365
- this._super();
25366
- instance = this;
25367
- }
25368
- }),
25369
- template: '{{debugger}}foo-bar'
25370
- });
25371
-
25372
- this.expectDebuggerCallback(function () {
25373
- _this.render('{{#my-wrapper}}{{foo-bar}}{{/my-wrapper}}');
25374
- }, function (context) {
25375
- assert.strictEqual(context, instance, 'context should be the component instance');
25376
- });
25377
-
25378
- this.assertText('foo-bar');
25379
-
25380
- this.expectNoDebuggerCallback(function () {
25381
- return _this.runTask(function () {
25382
- return _this.rerender();
25383
- });
25384
- });
25385
-
25386
- this.assertText('foo-bar');
25387
- };
25388
-
25389
- _class.prototype['@test should have the right context when yielded'] = function testShouldHaveTheRightContextWhenYielded(assert) {
25390
- var _this2 = this;
25391
-
25392
- var instance = undefined;
25393
-
25394
- this.registerComponent('my-wrapper', {
25395
- template: '{{yield}}'
25396
- });
25397
-
25398
- this.registerComponent('foo-bar', {
25399
- ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
25400
- init: function () {
25401
- this._super();
25402
- instance = this;
25403
- }
25404
- }),
25405
- template: '{{#my-wrapper}}{{debugger}}foo-bar{{/my-wrapper}}'
25406
- });
25407
-
25408
- this.expectDebuggerCallback(function () {
25409
- _this2.render('{{foo-bar}}');
25410
- }, function (context) {
25411
- assert.strictEqual(context, instance, 'context should be the component instance');
25412
- });
25413
-
25414
- this.assertText('foo-bar');
25415
-
25416
- this.expectNoDebuggerCallback(function () {
25417
- return _this2.runTask(function () {
25418
- return _this2.rerender();
25419
- });
25420
- });
25421
-
25422
- this.assertText('foo-bar');
25423
- };
25424
-
25425
- _class.prototype['@test should be called once per iteration in a loop'] = function testShouldBeCalledOncePerIterationInALoop(assert) {
25426
- var _this3 = this;
25427
-
25428
- var count = 0;
25429
-
25430
- _emberGlimmerHelpersDebugger.setDebuggerCallback(function () {
25431
- return count++;
25432
- });
25433
-
25434
- var items = _emberRuntime.A([1, 2, 3, 4, 5]);
25435
-
25436
- this.render('{{#each items as |item|}}{{debugger}}[{{item}}]{{/each}}', { items: items });
25437
-
25438
- this.assertText('[1][2][3][4][5]');
25439
-
25440
- assert.equal(count, 5, 'should have fired once per iteration');
25441
-
25442
- count = 0;
25443
-
25444
- this.runTask(function () {
25445
- return _this3.rerender();
25446
- });
25447
-
25448
- this.assertText('[1][2][3][4][5]');
25449
-
25450
- assert.strictEqual(count, 0, 'should not fire for re-render');
25451
-
25452
- count = 0;
25453
-
25454
- this.runTask(function () {
25455
- return items.pushObjects([6, 7, 8]);
25456
- });
25457
-
25458
- this.assertText('[1][2][3][4][5][6][7][8]');
25459
-
25460
- assert.equal(count, 3, 'should fire once per new items added to the loop');
25461
- };
25462
-
25463
- _class.prototype['@test could `get` properties from "self"'] = function testCouldGetPropertiesFromSelf(assert) {
25464
- var _this4 = this;
25465
-
25466
- this.registerComponent('foo-bar', {
25467
- ComponentClass: _emberGlimmerTestsUtilsHelpers.Component.extend({
25468
- init: function () {
25469
- this._super();
25470
- this.zomg = 'zomg';
25471
- }
25472
- }),
25473
- template: '{{debugger not.here}}foo-bar'
25474
- });
25475
-
25476
- this.expectDebuggerCallback(function () {
25477
- _this4.render('{{foo-bar lol="lol" foo=foo}}', { foo: { bar: { baz: 'fooBarBaz' } } });
25478
- }, function (context, get) {
25479
- assert.equal(get('this'), context, '{{this}}');
25480
-
25481
- assert.equal(get('lol'), 'lol', '{{lol}}');
25482
- assert.equal(get('this.lol'), 'lol', '{{this.lol}}');
25483
-
25484
- assert.equal(get('zomg'), 'zomg', '{{zomg}}');
25485
- assert.equal(get('this.zomg'), 'zomg', '{{this.zomg}}');
25486
-
25487
- assert.equal(get('foo.bar.baz'), 'fooBarBaz', '{{foo.bar.baz}}');
25488
- assert.equal(get('this.foo.bar.baz'), 'fooBarBaz', '{{this.foo.bar.baz}}');
25489
-
25490
- assert.strictEqual(get('nope'), undefined, '{{nope}}');
25491
- assert.strictEqual(get('this.nope'), undefined, '{{this.nope}}');
25492
-
25493
- assert.strictEqual(get('not.here'), undefined, '{{not.here}}');
25494
- assert.strictEqual(get('this.not.here'), undefined, '{{this.not.here}}');
25495
- });
25496
-
25497
- this.assertText('foo-bar');
25498
-
25499
- this.expectNoDebuggerCallback(function () {
25500
- return _this4.runTask(function () {
25501
- return _this4.rerender();
25502
- });
25503
- });
25504
-
25505
- this.assertText('foo-bar');
25506
- };
25507
-
25508
- _class.prototype['@test could `get` local variables'] = function testCouldGetLocalVariables(assert) {
25509
- var _this5 = this;
25510
-
25511
- var obj = {
25512
- foo: 'foo',
25513
- bar: { baz: { bat: 'barBazBat' } }
25514
- };
25515
-
25516
- this.expectDebuggerCallback(function () {
25517
- _this5.render('{{#each-in obj as |key value|}}{{debugger}}[{{key}}]{{/each-in}}', { obj: obj });
25518
- }, function (context, get) {
25519
- assert.equal(get('this'), context, '{{this}}');
25520
-
25521
- assert.equal(get('obj'), obj);
25522
-
25523
- // Glimmer bug:
25524
- // assert.strictEqual(get('this.key'), undefined, '{{this.key}}');
25525
- // assert.strictEqual(get('this.value'), undefined, '{{this.value}}');
25526
-
25527
- var key = get('key');
25528
-
25529
- if (key === 'foo') {
25530
- assert.equal(get('value'), 'foo', '{{value}} for key=foo');
25531
- assert.strictEqual(get('value.baz.bat'), undefined, '{{value.baz.bat}} for key=foo');
25532
- assert.strictEqual(get('value.nope'), undefined, '{{value.nope}} for key=foo');
25533
- } else if (key === 'bar') {
25534
- assert.equal(get('value'), obj.bar, '{{value}} for key=bar');
25535
- assert.equal(get('value.baz.bat'), 'barBazBat', '{{value.baz.bat}} for key=bar');
25536
- assert.strictEqual(get('value.nope'), undefined, '{{value.nope}} for key=bar');
25537
- } else {
25538
- assert.ok(false, 'Unknown key: ' + key);
25539
- }
25540
- }, 2);
25541
-
25542
- this.assertText('[foo][bar]');
25543
-
25544
- this.expectNoDebuggerCallback(function () {
25545
- return _this5.runTask(function () {
25546
- return _this5.rerender();
25547
- });
25548
- });
25549
-
25550
- this.assertText('[foo][bar]');
25551
-
25552
- this.expectDebuggerCallback(function () {
25553
- _this5.runTask(function () {
25554
- return _emberMetal.set(obj, 'baz', 'baz');
25555
- });
25556
- }, function (context, get) {
25557
- assert.equal(get('this'), context, '{{this}}');
25558
-
25559
- assert.equal(get('obj'), obj);
25560
-
25561
- assert.strictEqual(get('this.key'), undefined, '{{this.key}}');
25562
- assert.strictEqual(get('this.value'), undefined, '{{this.value}}');
25563
-
25564
- assert.equal(get('key'), 'baz', '{{key}} for key=baz');
25565
- assert.equal(get('value'), 'baz', '{{value}} for key=baz');
25566
- assert.strictEqual(get('value.baz.bat'), undefined, '{{value.baz.bat}} for key=baz');
25567
- assert.strictEqual(get('value.nope'), undefined, '{{value.nope}} for key=baz');
25568
- });
25569
-
25570
- this.assertText('[foo][bar][baz]');
25571
-
25572
- this.expectNoDebuggerCallback(function () {
25573
- return _this5.runTask(function () {
25574
- return _this5.rerender();
25575
- });
25576
- });
25577
-
25578
- this.assertText('[foo][bar][baz]');
25579
- };
25580
-
25581
- return _class;
25582
- })(_emberGlimmerTestsUtilsTestCase.RenderingTest));
25583
- });
25584
- enifed('ember-glimmer/tests/integration/helpers/debugger-test.lint-test', ['exports'], function (exports) {
25585
- 'use strict';
25586
-
25587
- QUnit.module('ESLint | ember-glimmer/tests/integration/helpers/debugger-test.js');
25588
- QUnit.test('should pass ESLint', function (assert) {
25589
- assert.expect(1);
25590
- assert.ok(true, 'ember-glimmer/tests/integration/helpers/debugger-test.js should pass ESLint\n\n');
25591
- });
25592
- });
25593
- 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) {
25461
+ 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) {
25594
25462
  'use strict';
25595
25463
 
25596
25464
  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 ']),
@@ -27129,42 +26997,6 @@ babelHelpers.inherits(_class2, _RenderingTest2);
27129
26997
  this.assertText('Click me');
27130
26998
  };
27131
26999
 
27132
- _class2.prototype['@test action handler that shifts element attributes doesn\'t trigger multiple invocations'] = function testActionHandlerThatShiftsElementAttributesDoesnTTriggerMultipleInvocations() {
27133
- var _this34 = this;
27134
-
27135
- var actionCount = 0;
27136
- var ExampleComponent = _emberGlimmerTestsUtilsHelpers.Component.extend({
27137
- selected: false,
27138
- actions: {
27139
- toggleSelected: function () {
27140
- actionCount++;
27141
- this.toggleProperty('selected');
27142
- }
27143
- }
27144
- });
27145
-
27146
- this.registerComponent('example-component', {
27147
- ComponentClass: ExampleComponent,
27148
- template: '<button class="{{if selected \'selected\'}}" {{action "toggleSelected"}}>Toggle Selected</button>'
27149
- });
27150
-
27151
- this.render('{{example-component}}');
27152
-
27153
- this.runTask(function () {
27154
- _this34.$('button').click();
27155
- });
27156
-
27157
- this.assert.equal(actionCount, 1, 'Click action only fired once.');
27158
- this.assert.ok(this.$('button').hasClass('selected'), 'Element with action handler has properly updated it\'s conditional class');
27159
-
27160
- this.runTask(function () {
27161
- _this34.$('button').click();
27162
- });
27163
-
27164
- this.assert.equal(actionCount, 2, 'Second click action only fired once.');
27165
- this.assert.ok(!this.$('button').hasClass('selected'), 'Element with action handler has properly updated it\'s conditional class');
27166
- };
27167
-
27168
27000
  return _class2;
27169
27001
  })(_emberGlimmerTestsUtilsTestCase.RenderingTest));
27170
27002
  });
@@ -30193,7 +30025,7 @@ enifed('ember-glimmer/tests/integration/helpers/readonly-test.lint-test', ['expo
30193
30025
  assert.ok(true, 'ember-glimmer/tests/integration/helpers/readonly-test.js should pass ESLint\n\n');
30194
30026
  });
30195
30027
  });
30196
- enifed('ember-glimmer/tests/integration/helpers/render-test', ['exports', 'ember-metal', 'ember-runtime', 'ember-glimmer/tests/utils/test-case'], function (exports, _emberMetal, _emberRuntime, _emberGlimmerTestsUtilsTestCase) {
30028
+ 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) {
30197
30029
  'use strict';
30198
30030
 
30199
30031
  _emberGlimmerTestsUtilsTestCase.moduleFor('Helpers test: {{render}}', (function (_RenderingTest) {
@@ -32293,7 +32125,7 @@ enifed('ember-glimmer/tests/integration/input-test.lint-test', ['exports'], func
32293
32125
  assert.ok(true, 'ember-glimmer/tests/integration/input-test.js should pass ESLint\n\n');
32294
32126
  });
32295
32127
  });
32296
- 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) {
32128
+ 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) {
32297
32129
  'use strict';
32298
32130
 
32299
32131
  _emberGlimmerTestsUtilsTestCase.moduleFor('{{mount}} assertions', (function (_RenderingTest) {
@@ -32442,7 +32274,7 @@ enifed('ember-glimmer/tests/integration/mount-test.lint-test', ['exports'], func
32442
32274
  assert.ok(true, 'ember-glimmer/tests/integration/mount-test.js should pass ESLint\n\n');
32443
32275
  });
32444
32276
  });
32445
- enifed('ember-glimmer/tests/integration/outlet-test', ['exports', 'ember-glimmer/tests/utils/test-case', 'internal-test-helpers', 'ember-metal'], function (exports, _emberGlimmerTestsUtilsTestCase, _internalTestHelpers, _emberMetal) {
32277
+ 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) {
32446
32278
  'use strict';
32447
32279
 
32448
32280
  _emberGlimmerTestsUtilsTestCase.moduleFor('outlet view', (function (_RenderingTest) {
@@ -35610,7 +35442,7 @@ enifed('ember-glimmer/tests/integration/syntax/with-test.lint-test', ['exports']
35610
35442
  assert.ok(true, 'ember-glimmer/tests/integration/syntax/with-test.js should pass ESLint\n\n');
35611
35443
  });
35612
35444
  });
35613
- enifed('ember-glimmer/tests/unit/layout-cache-test', ['exports', 'ember-glimmer/tests/utils/test-case', 'glimmer-runtime', 'ember-utils'], function (exports, _emberGlimmerTestsUtilsTestCase, _glimmerRuntime, _emberUtils) {
35445
+ enifed('ember-glimmer/tests/unit/layout-cache-test', ['exports', 'ember-glimmer/tests/utils/test-case', '@glimmer/runtime', 'ember-utils'], function (exports, _emberGlimmerTestsUtilsTestCase, _glimmerRuntime, _emberUtils) {
35614
35446
  'use strict';
35615
35447
 
35616
35448
  var Counter = (function () {
@@ -35910,7 +35742,7 @@ enifed('ember-glimmer/tests/unit/template-factory-test.lint-test', ['exports'],
35910
35742
  assert.ok(true, 'ember-glimmer/tests/unit/template-factory-test.js should pass ESLint\n\n');
35911
35743
  });
35912
35744
  });
35913
- enifed('ember-glimmer/tests/unit/utils/debug-stack-test', ['exports', 'ember-glimmer/utils/debug-stack', 'ember-metal'], function (exports, _emberGlimmerUtilsDebugStack, _emberMetal) {
35745
+ enifed('ember-glimmer/tests/unit/utils/debug-stack-test', ['exports', 'ember-glimmer/utils/debug-stack', 'ember-debug'], function (exports, _emberGlimmerUtilsDebugStack, _emberDebug) {
35914
35746
  'use strict';
35915
35747
  });
35916
35748
  enifed('ember-glimmer/tests/unit/utils/debug-stack-test.lint-test', ['exports'], function (exports) {
@@ -35922,6 +35754,222 @@ enifed('ember-glimmer/tests/unit/utils/debug-stack-test.lint-test', ['exports'],
35922
35754
  assert.ok(true, 'ember-glimmer/tests/unit/utils/debug-stack-test.js should pass ESLint\n\n');
35923
35755
  });
35924
35756
  });
35757
+ 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) {
35758
+ 'use strict';
35759
+
35760
+ var ITERATOR_KEY_GUID = 'be277757-bbbe-4620-9fcb-213ef433cca2';
35761
+
35762
+ _emberGlimmerTestsUtilsTestCase.moduleFor('Iterable', (function (_TestCase) {
35763
+ babelHelpers.inherits(_class, _TestCase);
35764
+
35765
+ function _class() {
35766
+ _TestCase.apply(this, arguments);
35767
+ }
35768
+
35769
+ _class.prototype['@test iterates over an array'] = function testIteratesOverAnArray() {
35770
+ var iterator = iteratorForArray(['foo', 'bar']);
35771
+
35772
+ this.assert.deepEqual(iterator.next(), { key: 'foo', memo: 0, value: 'foo' });
35773
+ this.assert.deepEqual(iterator.next(), { key: 'bar', memo: 1, value: 'bar' });
35774
+ };
35775
+
35776
+ _class.prototype['@test iterates over an `Ember.A`'] = function testIteratesOverAnEmberA() {
35777
+ var iterator = iteratorForArray(_ember.default.A(['foo', 'bar']));
35778
+
35779
+ this.assert.deepEqual(iterator.next(), { key: 'foo', memo: 0, value: 'foo' });
35780
+ this.assert.deepEqual(iterator.next(), { key: 'bar', memo: 1, value: 'bar' });
35781
+ };
35782
+
35783
+ _class.prototype['@test returns `null` when out of items'] = function testReturnsNullWhenOutOfItems() {
35784
+ var iterator = iteratorForArray(['foo']);
35785
+
35786
+ this.assert.deepEqual(iterator.next(), { key: 'foo', memo: 0, value: 'foo' });
35787
+ this.assert.deepEqual(iterator.next(), null);
35788
+ };
35789
+
35790
+ _class.prototype['@test iterates over an array with indices as keys'] = function testIteratesOverAnArrayWithIndicesAsKeys() {
35791
+ var iterator = iteratorForArray(['foo', 'bar'], '@index');
35792
+
35793
+ this.assert.deepEqual(iterator.next(), { key: '0', memo: 0, value: 'foo' });
35794
+ this.assert.deepEqual(iterator.next(), { key: '1', memo: 1, value: 'bar' });
35795
+ };
35796
+
35797
+ _class.prototype['@test iterates over an array with identities as keys'] = function testIteratesOverAnArrayWithIdentitiesAsKeys() {
35798
+ var iterator = iteratorForArray(['foo', 'bar'], '@identity');
35799
+
35800
+ this.assert.deepEqual(iterator.next(), { key: 'foo', memo: 0, value: 'foo' });
35801
+ this.assert.deepEqual(iterator.next(), { key: 'bar', memo: 1, value: 'bar' });
35802
+ };
35803
+
35804
+ _class.prototype['@test iterates over an array with arbitrary properties as keys'] = function testIteratesOverAnArrayWithArbitraryPropertiesAsKeys() {
35805
+ var iterator = iteratorForArray([{ k: 'first', v: 'foo' }, { k: 'second', v: 'bar' }], 'k');
35806
+
35807
+ this.assert.deepEqual(iterator.next(), { key: 'first', memo: 0, value: { k: 'first', v: 'foo' } });
35808
+ this.assert.deepEqual(iterator.next(), { key: 'second', memo: 1, value: { k: 'second', v: 'bar' } });
35809
+ };
35810
+
35811
+ _class.prototype['@test errors on `#next` with an undefined ref'] = function testErrorsOnNextWithAnUndefinedRef() {
35812
+ var iterator = iteratorForArray(undefined);
35813
+
35814
+ this.assert.expect(1);
35815
+
35816
+ try {
35817
+ iterator.next();
35818
+ } catch (_ref) {
35819
+ var _message = _ref.message;
35820
+
35821
+ this.assert.equal(_message, 'Cannot call next() on an empty iterator');
35822
+ }
35823
+ };
35824
+
35825
+ _class.prototype['@test errors on `#next` with a null ref'] = function testErrorsOnNextWithANullRef() {
35826
+ var iterator = iteratorForArray(null);
35827
+
35828
+ this.assert.expect(1);
35829
+
35830
+ try {
35831
+ iterator.next();
35832
+ } catch (_ref2) {
35833
+ var _message2 = _ref2.message;
35834
+
35835
+ this.assert.equal(_message2, 'Cannot call next() on an empty iterator');
35836
+ }
35837
+ };
35838
+
35839
+ _class.prototype['@test errors on `#next` with an invalid ref type'] = function testErrorsOnNextWithAnInvalidRefType() {
35840
+ var iterator = iteratorForArray('string');
35841
+
35842
+ this.assert.expect(1);
35843
+
35844
+ try {
35845
+ iterator.next();
35846
+ } catch (_ref3) {
35847
+ var _message3 = _ref3.message;
35848
+
35849
+ this.assert.equal(_message3, 'Cannot call next() on an empty iterator');
35850
+ }
35851
+ };
35852
+
35853
+ _class.prototype['@test errors on `#next` with an empty array'] = function testErrorsOnNextWithAnEmptyArray() {
35854
+ var iterator = iteratorForArray([]);
35855
+
35856
+ this.assert.expect(1);
35857
+
35858
+ try {
35859
+ iterator.next();
35860
+ } catch (_ref4) {
35861
+ var _message4 = _ref4.message;
35862
+
35863
+ this.assert.equal(_message4, 'Cannot call next() on an empty iterator');
35864
+ }
35865
+ };
35866
+
35867
+ _class.prototype['@test iterates over an object\'s own properties'] = function testIteratesOverAnObjectSOwnProperties() {
35868
+ var iterator = iteratorForObject({ first: 'foo', second: 'bar' });
35869
+
35870
+ this.assert.deepEqual(iterator.next(), { key: 'first', memo: 'first', value: 'foo' });
35871
+ this.assert.deepEqual(iterator.next(), { key: 'second', memo: 'second', value: 'bar' });
35872
+ };
35873
+
35874
+ _class.prototype['@test iterates over an object\'s own properties with indices as keys'] = function testIteratesOverAnObjectSOwnPropertiesWithIndicesAsKeys() {
35875
+ var iterator = iteratorForObject({ first: 'foo', second: 'bar' }, '@index');
35876
+
35877
+ this.assert.deepEqual(iterator.next(), { key: 'first', memo: 'first', value: 'foo' });
35878
+ this.assert.deepEqual(iterator.next(), { key: 'second', memo: 'second', value: 'bar' });
35879
+ };
35880
+
35881
+ _class.prototype['@test iterates over an object\'s own properties with identities as keys'] = function testIteratesOverAnObjectSOwnPropertiesWithIdentitiesAsKeys() {
35882
+ var iterator = iteratorForObject({ first: 'foo', second: 'bar' }, '@identity');
35883
+
35884
+ this.assert.deepEqual(iterator.next(), { key: 'foo', memo: 'first', value: 'foo' });
35885
+ this.assert.deepEqual(iterator.next(), { key: 'bar', memo: 'second', value: 'bar' });
35886
+ };
35887
+
35888
+ _class.prototype['@test iterates over an object\'s own properties with arbitrary properties as keys'] = function testIteratesOverAnObjectSOwnPropertiesWithArbitraryPropertiesAsKeys() {
35889
+ var iterator = iteratorForObject({ first: { k: 'uno', v: 'foo' }, second: { k: 'dos', v: 'bar' } }, 'k');
35890
+
35891
+ this.assert.deepEqual(iterator.next(), { key: 'uno', memo: 'first', value: { k: 'uno', v: 'foo' } });
35892
+ this.assert.deepEqual(iterator.next(), { key: 'dos', memo: 'second', value: { k: 'dos', v: 'bar' } });
35893
+ };
35894
+
35895
+ _class.prototype['@test each-in errors on `#next` with an undefined ref'] = function testEachInErrorsOnNextWithAnUndefinedRef() {
35896
+ var iterator = iteratorForObject(undefined);
35897
+
35898
+ this.assert.expect(1);
35899
+
35900
+ try {
35901
+ iterator.next();
35902
+ } catch (_ref5) {
35903
+ var _message5 = _ref5.message;
35904
+
35905
+ this.assert.equal(_message5, 'Cannot call next() on an empty iterator');
35906
+ }
35907
+ };
35908
+
35909
+ _class.prototype['@test each-in errors on `#next` with a null ref'] = function testEachInErrorsOnNextWithANullRef() {
35910
+ var iterator = iteratorForObject(null);
35911
+
35912
+ this.assert.expect(1);
35913
+
35914
+ try {
35915
+ iterator.next();
35916
+ } catch (_ref6) {
35917
+ var _message6 = _ref6.message;
35918
+
35919
+ this.assert.equal(_message6, 'Cannot call next() on an empty iterator');
35920
+ }
35921
+ };
35922
+
35923
+ _class.prototype['@test each-in errors on `#next` with an invalid ref type'] = function testEachInErrorsOnNextWithAnInvalidRefType() {
35924
+ var iterator = iteratorForObject('string');
35925
+
35926
+ this.assert.expect(1);
35927
+
35928
+ try {
35929
+ iterator.next();
35930
+ } catch (_ref7) {
35931
+ var _message7 = _ref7.message;
35932
+
35933
+ this.assert.equal(_message7, 'Cannot call next() on an empty iterator');
35934
+ }
35935
+ };
35936
+
35937
+ _class.prototype['@test ensures keys are unique'] = function testEnsuresKeysAreUnique() {
35938
+ var iterator = iteratorForArray([{ k: 'qux', v: 'foo' }, { k: 'qux', v: 'bar' }, { k: 'qux', v: 'baz' }], 'k');
35939
+
35940
+ this.assert.deepEqual(iterator.next(), { key: 'qux', memo: 0, value: { k: 'qux', v: 'foo' } });
35941
+ this.assert.deepEqual(iterator.next(), { key: 'qux' + ITERATOR_KEY_GUID + '1', memo: 1, value: { k: 'qux', v: 'bar' } });
35942
+ this.assert.deepEqual(iterator.next(), { key: 'qux' + ITERATOR_KEY_GUID + '2', memo: 2, value: { k: 'qux', v: 'baz' } });
35943
+ };
35944
+
35945
+ return _class;
35946
+ })(_emberGlimmerTestsUtilsTestCase.TestCase));
35947
+
35948
+ function iteratorForArray(arr, keyPath) {
35949
+ var ref = new _emberGlimmerUtilsReferences.UpdatableReference(arr);
35950
+ var iterable = _emberGlimmerUtilsIterable.default(ref, keyPath);
35951
+
35952
+ return iterable.iterate();
35953
+ }
35954
+
35955
+ function iteratorForObject(obj, keyPath) {
35956
+ var vm = null;
35957
+ var positionalArgs = _glimmerRuntime.EvaluatedPositionalArgs.create([new _emberGlimmerUtilsReferences.UpdatableReference(obj)]);
35958
+ var ref = _emberGlimmerHelpersEachIn.default(vm, { positional: positionalArgs });
35959
+ var iterable = _emberGlimmerUtilsIterable.default(ref, keyPath);
35960
+
35961
+ return iterable.iterate();
35962
+ }
35963
+ });
35964
+ enifed('ember-glimmer/tests/unit/utils/iterable-test.lint-test', ['exports'], function (exports) {
35965
+ 'use strict';
35966
+
35967
+ QUnit.module('ESLint | ember-glimmer/tests/unit/utils/iterable-test.js');
35968
+ QUnit.test('should pass ESLint', function (assert) {
35969
+ assert.expect(1);
35970
+ assert.ok(true, 'ember-glimmer/tests/unit/utils/iterable-test.js should pass ESLint\n\n');
35971
+ });
35972
+ });
35925
35973
  enifed('ember-glimmer/tests/utils/abstract-test-case', ['exports', 'internal-test-helpers'], function (exports, _internalTestHelpers) {
35926
35974
  'use strict';
35927
35975
 
@@ -37282,15 +37330,6 @@ enifed('ember-metal/core.lint-test', ['exports'], function (exports) {
37282
37330
  assert.ok(true, 'ember-metal/core.js should pass ESLint\n\n');
37283
37331
  });
37284
37332
  });
37285
- enifed('ember-metal/debug.lint-test', ['exports'], function (exports) {
37286
- 'use strict';
37287
-
37288
- QUnit.module('ESLint | ember-metal/debug.js');
37289
- QUnit.test('should pass ESLint', function (assert) {
37290
- assert.expect(1);
37291
- assert.ok(true, 'ember-metal/debug.js should pass ESLint\n\n');
37292
- });
37293
- });
37294
37333
  enifed('ember-metal/dependent_keys.lint-test', ['exports'], function (exports) {
37295
37334
  'use strict';
37296
37335
 
@@ -37318,15 +37357,6 @@ enifed('ember-metal/descriptor.lint-test', ['exports'], function (exports) {
37318
37357
  assert.ok(true, 'ember-metal/descriptor.js should pass ESLint\n\n');
37319
37358
  });
37320
37359
  });
37321
- enifed('ember-metal/error.lint-test', ['exports'], function (exports) {
37322
- 'use strict';
37323
-
37324
- QUnit.module('ESLint | ember-metal/error.js');
37325
- QUnit.test('should pass ESLint', function (assert) {
37326
- assert.expect(1);
37327
- assert.ok(true, 'ember-metal/error.js should pass ESLint\n\n');
37328
- });
37329
- });
37330
37360
  enifed('ember-metal/error_handler.lint-test', ['exports'], function (exports) {
37331
37361
  'use strict';
37332
37362
 
@@ -37354,15 +37384,6 @@ enifed('ember-metal/expand_properties.lint-test', ['exports'], function (exports
37354
37384
  assert.ok(true, 'ember-metal/expand_properties.js should pass ESLint\n\n');
37355
37385
  });
37356
37386
  });
37357
- enifed('ember-metal/features.lint-test', ['exports'], function (exports) {
37358
- 'use strict';
37359
-
37360
- QUnit.module('ESLint | ember-metal/features.js');
37361
- QUnit.test('should pass ESLint', function (assert) {
37362
- assert.expect(1);
37363
- assert.ok(true, 'ember-metal/features.js should pass ESLint\n\n');
37364
- });
37365
- });
37366
37387
  enifed('ember-metal/get_properties.lint-test', ['exports'], function (exports) {
37367
37388
  'use strict';
37368
37389
 
@@ -37597,15 +37618,6 @@ enifed('ember-metal/tags.lint-test', ['exports'], function (exports) {
37597
37618
  assert.ok(true, 'ember-metal/tags.js should pass ESLint\n\n');
37598
37619
  });
37599
37620
  });
37600
- enifed('ember-metal/testing.lint-test', ['exports'], function (exports) {
37601
- 'use strict';
37602
-
37603
- QUnit.module('ESLint | ember-metal/testing.js');
37604
- QUnit.test('should pass ESLint', function (assert) {
37605
- assert.expect(1);
37606
- assert.ok(true, 'ember-metal/testing.js should pass ESLint\n\n');
37607
- });
37608
- });
37609
37621
  enifed('ember-metal/tests/accessors/get_path_test', ['exports', 'ember-metal/property_get'], function (exports, _emberMetalProperty_get) {
37610
37622
  'use strict';
37611
37623
 
@@ -37974,7 +37986,7 @@ enifed('ember-metal/tests/accessors/is_global_path_test.lint-test', ['exports'],
37974
37986
  assert.ok(true, 'ember-metal/tests/accessors/is_global_path_test.js should pass ESLint\n\n');
37975
37987
  });
37976
37988
  });
37977
- 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) {
37989
+ 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) {
37978
37990
  'use strict';
37979
37991
 
37980
37992
  QUnit.module('mandatory-setters');
@@ -40526,28 +40538,6 @@ enifed('ember-metal/tests/descriptor_test.lint-test', ['exports'], function (exp
40526
40538
  assert.ok(true, 'ember-metal/tests/descriptor_test.js should pass ESLint\n\n');
40527
40539
  });
40528
40540
  });
40529
- enifed('ember-metal/tests/error_test', ['exports', 'ember-metal/error'], function (exports, _emberMetalError) {
40530
- 'use strict';
40531
-
40532
- QUnit.module('Ember Error Throwing');
40533
-
40534
- QUnit.test('new Ember.Error displays provided message', function () {
40535
- throws(function () {
40536
- throw new _emberMetalError.default('A Message');
40537
- }, function (e) {
40538
- return e.message === 'A Message';
40539
- }, 'the assigned message was displayed');
40540
- });
40541
- });
40542
- enifed('ember-metal/tests/error_test.lint-test', ['exports'], function (exports) {
40543
- 'use strict';
40544
-
40545
- QUnit.module('ESLint | ember-metal/tests/error_test.js');
40546
- QUnit.test('should pass ESLint', function (assert) {
40547
- assert.expect(1);
40548
- assert.ok(true, 'ember-metal/tests/error_test.js should pass ESLint\n\n');
40549
- });
40550
- });
40551
40541
  enifed('ember-metal/tests/events_test', ['exports', 'ember-metal/mixin', 'ember-metal/meta', 'ember-metal/events'], function (exports, _emberMetalMixin, _emberMetalMeta, _emberMetalEvents) {
40552
40542
  'use strict';
40553
40543
 
@@ -40914,11 +40904,19 @@ enifed('ember-metal/tests/expand_properties_test', ['exports', 'ember-metal/expa
40914
40904
  }, /Brace expanded properties have to be balanced and cannot be nested/);
40915
40905
  });
40916
40906
 
40907
+ QUnit.test('A property with no braces does not expand', function () {
40908
+ expect(1);
40909
+
40910
+ _emberMetalExpand_properties.default('a,b,c.d.e,f', addProperty);
40911
+
40912
+ deepEqual(foundProperties, ['a,b,c.d.e,f']);
40913
+ });
40914
+
40917
40915
  QUnit.test('A pattern must be a string', function () {
40918
40916
  expect(1);
40919
40917
 
40920
40918
  expectAssertion(function () {
40921
- _emberMetalExpand_properties.default([1, 2], addProperty);
40919
+ _emberMetalExpand_properties.default([], addProperty);
40922
40920
  }, /A computed property key must be a string/);
40923
40921
  });
40924
40922
 
@@ -40926,7 +40924,7 @@ enifed('ember-metal/tests/expand_properties_test', ['exports', 'ember-metal/expa
40926
40924
  expect(1);
40927
40925
 
40928
40926
  expectAssertion(function () {
40929
- _emberMetalExpand_properties.default('a, b', addProperty);
40927
+ _emberMetalExpand_properties.default('{a, b}', addProperty);
40930
40928
  }, /Brace expanded properties cannot contain spaces, e.g. "user.{firstName, lastName}" should be "user.{firstName,lastName}"/);
40931
40929
  });
40932
40930
  });
@@ -41384,13 +41382,13 @@ enifed('ember-metal/tests/is_present_test.lint-test', ['exports'], function (exp
41384
41382
  assert.ok(true, 'ember-metal/tests/is_present_test.js should pass ESLint\n\n');
41385
41383
  });
41386
41384
  });
41387
- enifed('ember-metal/tests/libraries_test', ['exports', 'ember-metal/debug', 'ember-metal/features', 'ember-metal/libraries'], function (exports, _emberMetalDebug, _emberMetalFeatures, _emberMetalLibraries) {
41385
+ enifed('ember-metal/tests/libraries_test', ['exports', 'ember-debug', 'ember-metal/libraries'], function (exports, _emberDebug, _emberMetalLibraries) {
41388
41386
  /* globals EmberDev */
41389
41387
  'use strict';
41390
41388
 
41391
41389
  var libs = undefined,
41392
41390
  registry = undefined;
41393
- var originalWarn = _emberMetalDebug.getDebugFunction('warn');
41391
+ var originalWarn = _emberDebug.getDebugFunction('warn');
41394
41392
 
41395
41393
  QUnit.module('Libraries registry', {
41396
41394
  setup: function () {
@@ -41402,7 +41400,7 @@ enifed('ember-metal/tests/libraries_test', ['exports', 'ember-metal/debug', 'emb
41402
41400
  libs = null;
41403
41401
  registry = null;
41404
41402
 
41405
- _emberMetalDebug.setDebugFunction('warn', originalWarn);
41403
+ _emberDebug.setDebugFunction('warn', originalWarn);
41406
41404
  }
41407
41405
  });
41408
41406
 
@@ -41451,7 +41449,7 @@ enifed('ember-metal/tests/libraries_test', ['exports', 'ember-metal/debug', 'emb
41451
41449
 
41452
41450
  libs.register('magic', 1.23);
41453
41451
 
41454
- _emberMetalDebug.setDebugFunction('warn', function (msg, test) {
41452
+ _emberDebug.setDebugFunction('warn', function (msg, test) {
41455
41453
  if (!test) {
41456
41454
  equal(msg, 'Library "magic" is already registered with Ember.');
41457
41455
  }
@@ -44875,7 +44873,7 @@ enifed('ember-metal/tests/performance_test.lint-test', ['exports'], function (ex
44875
44873
  assert.ok(true, 'ember-metal/tests/performance_test.js should pass ESLint\n\n');
44876
44874
  });
44877
44875
  });
44878
- enifed('ember-metal/tests/properties_test', ['exports', 'ember-metal/computed', 'ember-metal/properties', 'ember-metal/deprecate_property'], function (exports, _emberMetalComputed, _emberMetalProperties, _emberMetalDeprecate_property) {
44876
+ enifed('ember-metal/tests/properties_test', ['exports', 'ember-metal/computed', 'ember-metal/properties', 'ember-metal'], function (exports, _emberMetalComputed, _emberMetalProperties, _emberMetal) {
44879
44877
  'use strict';
44880
44878
 
44881
44879
  QUnit.module('Ember.defineProperty');
@@ -44944,7 +44942,7 @@ enifed('ember-metal/tests/properties_test', ['exports', 'ember-metal/computed',
44944
44942
  expect(3);
44945
44943
  var obj = { foo: 'bar' };
44946
44944
 
44947
- _emberMetalDeprecate_property.deprecateProperty(obj, 'baz', 'foo');
44945
+ _emberMetal.deprecateProperty(obj, 'baz', 'foo');
44948
44946
 
44949
44947
  expectDeprecation();
44950
44948
  equal(obj.baz, obj.foo, 'baz and foo are equal');
@@ -44957,7 +44955,7 @@ enifed('ember-metal/tests/properties_test', ['exports', 'ember-metal/computed',
44957
44955
  expect(2);
44958
44956
  var obj = { foo: 'bar', blammo: 'whammy' };
44959
44957
 
44960
- _emberMetalDeprecate_property.deprecateProperty(obj, 'baz', 'foo');
44958
+ _emberMetal.deprecateProperty(obj, 'baz', 'foo');
44961
44959
 
44962
44960
  for (var prop in obj) {
44963
44961
  if (obj.hasOwnProperty(prop)) {
@@ -44970,7 +44968,7 @@ enifed('ember-metal/tests/properties_test', ['exports', 'ember-metal/computed',
44970
44968
  expect(3);
44971
44969
  var obj = { foo: 'bar' };
44972
44970
 
44973
- _emberMetalDeprecate_property.deprecateProperty(obj, 'baz', 'foo');
44971
+ _emberMetal.deprecateProperty(obj, 'baz', 'foo');
44974
44972
 
44975
44973
  expectDeprecation();
44976
44974
  obj.baz = 'bloop';
@@ -45513,7 +45511,7 @@ enifed('ember-metal/tests/run_loop/once_test.lint-test', ['exports'], function (
45513
45511
  assert.ok(true, 'ember-metal/tests/run_loop/once_test.js should pass ESLint\n\n');
45514
45512
  });
45515
45513
  });
45516
- 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) {
45514
+ 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) {
45517
45515
  'use strict';
45518
45516
 
45519
45517
  QUnit.module('system/run_loop/onerror_test');
@@ -45541,14 +45539,14 @@ enifed('ember-metal/tests/run_loop/onerror_test', ['exports', 'ember-metal/run_l
45541
45539
  var thrown = new Error('Boom!');
45542
45540
  var original = _emberMetalError_handler.getOnerror();
45543
45541
  var originalDispatchOverride = _emberMetalError_handler.getDispatchOverride();
45544
- var originalIsTesting = _emberMetalTesting.isTesting();
45542
+ var originalIsTesting = _emberDebug.isTesting();
45545
45543
 
45546
45544
  var caught = undefined;
45547
45545
  _emberMetalError_handler.setOnerror(function (error) {
45548
45546
  caught = error;
45549
45547
  });
45550
45548
  _emberMetalError_handler.setDispatchOverride(null);
45551
- _emberMetalTesting.setTesting(false);
45549
+ _emberDebug.setTesting(false);
45552
45550
 
45553
45551
  try {
45554
45552
  _emberMetalRun_loop.default(function () {
@@ -45557,7 +45555,7 @@ enifed('ember-metal/tests/run_loop/onerror_test', ['exports', 'ember-metal/run_l
45557
45555
  } finally {
45558
45556
  _emberMetalError_handler.setOnerror(original);
45559
45557
  _emberMetalError_handler.setDispatchOverride(originalDispatchOverride);
45560
- _emberMetalTesting.setTesting(originalIsTesting);
45558
+ _emberDebug.setTesting(originalIsTesting);
45561
45559
  }
45562
45560
 
45563
45561
  deepEqual(caught, thrown);
@@ -45808,7 +45806,7 @@ enifed('ember-metal/tests/run_loop/sync_test.lint-test', ['exports'], function (
45808
45806
  assert.ok(true, 'ember-metal/tests/run_loop/sync_test.js should pass ESLint\n\n');
45809
45807
  });
45810
45808
  });
45811
- enifed('ember-metal/tests/run_loop/unwind_test', ['exports', 'ember-metal/run_loop', 'ember-metal/error'], function (exports, _emberMetalRun_loop, _emberMetalError) {
45809
+ enifed('ember-metal/tests/run_loop/unwind_test', ['exports', 'ember-metal/run_loop', 'ember-debug'], function (exports, _emberMetalRun_loop, _emberDebug) {
45812
45810
  'use strict';
45813
45811
 
45814
45812
  QUnit.module('system/run_loop/unwind_test');
@@ -45819,7 +45817,7 @@ enifed('ember-metal/tests/run_loop/unwind_test', ['exports', 'ember-metal/run_lo
45819
45817
  throws(function () {
45820
45818
  _emberMetalRun_loop.default(function () {
45821
45819
  _emberMetalRun_loop.default.schedule('actions', function () {
45822
- throw new _emberMetalError.default('boom!');
45820
+ throw new _emberDebug.Error('boom!');
45823
45821
  });
45824
45822
  });
45825
45823
  }, Error, 'boom!');
@@ -45839,9 +45837,9 @@ enifed('ember-metal/tests/run_loop/unwind_test', ['exports', 'ember-metal/run_lo
45839
45837
 
45840
45838
  throws(function () {
45841
45839
  _emberMetalRun_loop.default(function () {
45842
- throw new _emberMetalError.default('boom!');
45840
+ throw new _emberDebug.Error('boom!');
45843
45841
  });
45844
- }, _emberMetalError.default, 'boom!');
45842
+ }, _emberDebug.Error, 'boom!');
45845
45843
 
45846
45844
  equal(_emberMetalRun_loop.default.currentRunLoop, initialRunLoop, 'Previous run loop should be cleaned up despite exception');
45847
45845
 
@@ -46619,6 +46617,15 @@ enifed('ember-routing/location/util.lint-test', ['exports'], function (exports)
46619
46617
  assert.ok(true, 'ember-routing/location/util.js should pass ESLint\n\n');
46620
46618
  });
46621
46619
  });
46620
+ enifed('ember-routing/services/router.lint-test', ['exports'], function (exports) {
46621
+ 'use strict';
46622
+
46623
+ QUnit.module('ESLint | ember-routing/services/router.js');
46624
+ QUnit.test('should pass ESLint', function (assert) {
46625
+ assert.expect(1);
46626
+ assert.ok(true, 'ember-routing/services/router.js should pass ESLint\n\n');
46627
+ });
46628
+ });
46622
46629
  enifed('ember-routing/services/routing.lint-test', ['exports'], function (exports) {
46623
46630
  'use strict';
46624
46631
 
@@ -47240,7 +47247,7 @@ enifed('ember-routing/tests/location/hash_location_test.lint-test', ['exports'],
47240
47247
  assert.ok(true, 'ember-routing/tests/location/hash_location_test.js should pass ESLint\n\n');
47241
47248
  });
47242
47249
  });
47243
- enifed('ember-routing/tests/location/history_location_test', ['exports', 'ember-metal', 'ember-routing/location/history_location'], function (exports, _emberMetal, _emberRoutingLocationHistory_location) {
47250
+ enifed('ember-routing/tests/location/history_location_test', ['exports', 'ember-metal', 'ember-routing/location/history_location', 'ember-debug'], function (exports, _emberMetal, _emberRoutingLocationHistory_location, _emberDebug) {
47244
47251
  'use strict';
47245
47252
 
47246
47253
  var FakeHistory = undefined,
@@ -47358,48 +47365,96 @@ enifed('ember-routing/tests/location/history_location_test', ['exports', 'ember-
47358
47365
  location.initState();
47359
47366
  });
47360
47367
 
47361
- QUnit.test('base URL is preserved when moving around', function () {
47362
- expect(1);
47368
+ if (true) {
47369
+ QUnit.test('base URL is preserved when moving around', function () {
47370
+ expect(2);
47363
47371
 
47364
- HistoryTestLocation.reopen({
47365
- init: function () {
47366
- this._super.apply(this, arguments);
47372
+ HistoryTestLocation.reopen({
47373
+ init: function () {
47374
+ this._super.apply(this, arguments);
47367
47375
 
47368
- _emberMetal.set(this, 'location', mockBrowserLocation('/base/foo/bar'));
47369
- _emberMetal.set(this, 'baseURL', '/base/');
47370
- }
47376
+ _emberMetal.set(this, 'location', mockBrowserLocation('/base/foo/bar'));
47377
+ _emberMetal.set(this, 'baseURL', '/base/');
47378
+ }
47379
+ });
47380
+
47381
+ createLocation();
47382
+ location.initState();
47383
+ location.setURL('/one/two');
47384
+
47385
+ equal(location._historyState.path, '/base/one/two');
47386
+ ok(location._historyState.uuid);
47371
47387
  });
47372
47388
 
47373
- createLocation();
47374
- location.initState();
47375
- location.setURL('/one/two');
47389
+ QUnit.test('setURL continues to set even with a null state (iframes may set this)', function () {
47390
+ expect(2);
47376
47391
 
47377
- equal(location._historyState.path, '/base/one/two');
47378
- });
47392
+ createLocation();
47393
+ location.initState();
47379
47394
 
47380
- QUnit.test('setURL continues to set even with a null state (iframes may set this)', function () {
47381
- expect(1);
47395
+ FakeHistory.pushState(null);
47396
+ location.setURL('/three/four');
47382
47397
 
47383
- createLocation();
47384
- location.initState();
47398
+ equal(location._historyState.path, '/three/four');
47399
+ ok(location._historyState.uuid);
47400
+ });
47385
47401
 
47386
- FakeHistory.pushState(null);
47387
- location.setURL('/three/four');
47402
+ QUnit.test('replaceURL continues to set even with a null state (iframes may set this)', function () {
47403
+ expect(2);
47388
47404
 
47389
- equal(location._historyState.path, '/three/four');
47390
- });
47405
+ createLocation();
47406
+ location.initState();
47391
47407
 
47392
- QUnit.test('replaceURL continues to set even with a null state (iframes may set this)', function () {
47393
- expect(1);
47408
+ FakeHistory.pushState(null);
47409
+ location.replaceURL('/three/four');
47394
47410
 
47395
- createLocation();
47396
- location.initState();
47411
+ equal(location._historyState.path, '/three/four');
47412
+ ok(location._historyState.uuid);
47413
+ });
47414
+ } else {
47415
+ QUnit.test('base URL is preserved when moving around', function () {
47416
+ expect(1);
47397
47417
 
47398
- FakeHistory.pushState(null);
47399
- location.replaceURL('/three/four');
47418
+ HistoryTestLocation.reopen({
47419
+ init: function () {
47420
+ this._super.apply(this, arguments);
47400
47421
 
47401
- equal(location._historyState.path, '/three/four');
47402
- });
47422
+ _emberMetal.set(this, 'location', mockBrowserLocation('/base/foo/bar'));
47423
+ _emberMetal.set(this, 'baseURL', '/base/');
47424
+ }
47425
+ });
47426
+
47427
+ createLocation();
47428
+ location.initState();
47429
+ location.setURL('/one/two');
47430
+
47431
+ equal(location._historyState.path, '/base/one/two');
47432
+ });
47433
+
47434
+ QUnit.test('setURL continues to set even with a null state (iframes may set this)', function () {
47435
+ expect(1);
47436
+
47437
+ createLocation();
47438
+ location.initState();
47439
+
47440
+ FakeHistory.pushState(null);
47441
+ location.setURL('/three/four');
47442
+
47443
+ equal(location._historyState.path, '/three/four');
47444
+ });
47445
+
47446
+ QUnit.test('replaceURL continues to set even with a null state (iframes may set this)', function () {
47447
+ expect(1);
47448
+
47449
+ createLocation();
47450
+ location.initState();
47451
+
47452
+ FakeHistory.pushState(null);
47453
+ location.replaceURL('/three/four');
47454
+
47455
+ equal(location._historyState.path, '/three/four');
47456
+ });
47457
+ }
47403
47458
 
47404
47459
  QUnit.test('HistoryLocation.getURL() returns the current url, excluding both rootURL and baseURL', function () {
47405
47460
  expect(1);
@@ -47529,23 +47584,6 @@ enifed('ember-routing/tests/location/history_location_test', ['exports', 'ember-
47529
47584
 
47530
47585
  equal(location.getURL(), '/foo/bar?time=morphin#pink-power-ranger');
47531
47586
  });
47532
-
47533
- QUnit.test('HistoryLocation.getURL() drops duplicate slashes', function () {
47534
- expect(1);
47535
-
47536
- HistoryTestLocation.reopen({
47537
- init: function () {
47538
- this._super.apply(this, arguments);
47539
- var location = mockBrowserLocation('//');
47540
- location.pathname = '//'; // mockBrowserLocation does not allow for `//`, so force it
47541
- _emberMetal.set(this, 'location', location);
47542
- }
47543
- });
47544
-
47545
- createLocation();
47546
-
47547
- equal(location.getURL(), '/');
47548
- });
47549
47587
  });
47550
47588
  enifed('ember-routing/tests/location/history_location_test.lint-test', ['exports'], function (exports) {
47551
47589
  'use strict';
@@ -47815,7 +47853,7 @@ enifed('ember-routing/tests/system/cache_test.lint-test', ['exports'], function
47815
47853
  assert.ok(true, 'ember-routing/tests/system/cache_test.js should pass ESLint\n\n');
47816
47854
  });
47817
47855
  });
47818
- 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) {
47856
+ 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) {
47819
47857
  'use strict';
47820
47858
 
47821
47859
  function buildInstance(namespace) {
@@ -47912,7 +47950,7 @@ enifed('ember-routing/tests/system/controller_for_test', ['exports', 'ember-meta
47912
47950
 
47913
47951
  controller = _emberRoutingSystemGenerate_controller.default(appInstance, 'home');
47914
47952
 
47915
- if (false) {
47953
+ if (true) {
47916
47954
  ok(controller instanceof BasicController, 'should return base class of controller');
47917
47955
  } else {
47918
47956
  var doubleExtendedFactory = undefined;
@@ -47996,9 +48034,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
47996
48034
  var router = Router.create();
47997
48035
  router._initRouterJs();
47998
48036
 
47999
- ok(router.router.recognizer.names['bleep'], 'nested resources do not contain parent name');
48000
- ok(router.router.recognizer.names['bloop'], 'nested resources do not contain parent name');
48001
- ok(router.router.recognizer.names['blork'], 'nested resources do not contain parent name');
48037
+ ok(router._routerMicrolib.recognizer.names['bleep'], 'nested resources do not contain parent name');
48038
+ ok(router._routerMicrolib.recognizer.names['bloop'], 'nested resources do not contain parent name');
48039
+ ok(router._routerMicrolib.recognizer.names['blork'], 'nested resources do not contain parent name');
48002
48040
  });
48003
48041
 
48004
48042
  QUnit.test('should retain resource namespace if nested with routes', function () {
@@ -48013,9 +48051,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48013
48051
  var router = Router.create();
48014
48052
  router._initRouterJs();
48015
48053
 
48016
- ok(router.router.recognizer.names['bleep'], 'parent name was used as base of nested routes');
48017
- ok(router.router.recognizer.names['bleep.bloop'], 'parent name was used as base of nested routes');
48018
- ok(router.router.recognizer.names['bleep.bloop.blork'], 'parent name was used as base of nested routes');
48054
+ ok(router._routerMicrolib.recognizer.names['bleep'], 'parent name was used as base of nested routes');
48055
+ ok(router._routerMicrolib.recognizer.names['bleep.bloop'], 'parent name was used as base of nested routes');
48056
+ ok(router._routerMicrolib.recognizer.names['bleep.bloop.blork'], 'parent name was used as base of nested routes');
48019
48057
  });
48020
48058
 
48021
48059
  QUnit.test('should add loading and error routes if _isRouterMapResult is true', function () {
@@ -48031,9 +48069,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48031
48069
 
48032
48070
  router._initRouterJs();
48033
48071
 
48034
- ok(router.router.recognizer.names['blork'], 'main route was created');
48035
- ok(router.router.recognizer.names['blork_loading'], 'loading route was added');
48036
- ok(router.router.recognizer.names['blork_error'], 'error route was added');
48072
+ ok(router._routerMicrolib.recognizer.names['blork'], 'main route was created');
48073
+ ok(router._routerMicrolib.recognizer.names['blork_loading'], 'loading route was added');
48074
+ ok(router._routerMicrolib.recognizer.names['blork_error'], 'error route was added');
48037
48075
  });
48038
48076
 
48039
48077
  QUnit.test('should not add loading and error routes if _isRouterMapResult is false', function () {
@@ -48044,9 +48082,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48044
48082
  var router = Router.create();
48045
48083
  router._initRouterJs(false);
48046
48084
 
48047
- ok(router.router.recognizer.names['blork'], 'main route was created');
48048
- ok(!router.router.recognizer.names['blork_loading'], 'loading route was not added');
48049
- ok(!router.router.recognizer.names['blork_error'], 'error route was not added');
48085
+ ok(router._routerMicrolib.recognizer.names['blork'], 'main route was created');
48086
+ ok(!router._routerMicrolib.recognizer.names['blork_loading'], 'loading route was not added');
48087
+ ok(!router._routerMicrolib.recognizer.names['blork_error'], 'error route was not added');
48050
48088
  });
48051
48089
 
48052
48090
  QUnit.test('should reset namespace of loading and error routes for routes with resetNamespace', function () {
@@ -48065,17 +48103,17 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48065
48103
 
48066
48104
  router._initRouterJs();
48067
48105
 
48068
- ok(router.router.recognizer.names['blork.blorp'], 'nested route was created');
48069
- ok(router.router.recognizer.names['blork.blorp_loading'], 'nested loading route was added');
48070
- ok(router.router.recognizer.names['blork.blorp_error'], 'nested error route was added');
48106
+ ok(router._routerMicrolib.recognizer.names['blork.blorp'], 'nested route was created');
48107
+ ok(router._routerMicrolib.recognizer.names['blork.blorp_loading'], 'nested loading route was added');
48108
+ ok(router._routerMicrolib.recognizer.names['blork.blorp_error'], 'nested error route was added');
48071
48109
 
48072
- ok(router.router.recognizer.names['bleep'], 'reset route was created');
48073
- ok(router.router.recognizer.names['bleep_loading'], 'reset loading route was added');
48074
- ok(router.router.recognizer.names['bleep_error'], 'reset error route was added');
48110
+ ok(router._routerMicrolib.recognizer.names['bleep'], 'reset route was created');
48111
+ ok(router._routerMicrolib.recognizer.names['bleep_loading'], 'reset loading route was added');
48112
+ ok(router._routerMicrolib.recognizer.names['bleep_error'], 'reset error route was added');
48075
48113
 
48076
- ok(!router.router.recognizer.names['blork.bleep'], 'nested reset route was not created');
48077
- ok(!router.router.recognizer.names['blork.bleep_loading'], 'nested reset loading route was not added');
48078
- ok(!router.router.recognizer.names['blork.bleep_error'], 'nested reset error route was not added');
48114
+ ok(!router._routerMicrolib.recognizer.names['blork.bleep'], 'nested reset route was not created');
48115
+ ok(!router._routerMicrolib.recognizer.names['blork.bleep_loading'], 'nested reset loading route was not added');
48116
+ ok(!router._routerMicrolib.recognizer.names['blork.bleep_error'], 'nested reset error route was not added');
48079
48117
  });
48080
48118
 
48081
48119
  QUnit.test('should throw an error when defining a route serializer outside an engine', function () {
@@ -48114,9 +48152,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48114
48152
  _emberUtils.setOwner(router, engineInstance);
48115
48153
  router._initRouterJs();
48116
48154
 
48117
- assert.ok(router.router.recognizer.names['bleep'], 'parent name was used as base of nested routes');
48118
- assert.ok(router.router.recognizer.names['bleep.bloop'], 'parent name was used as base of nested routes');
48119
- assert.ok(router.router.recognizer.names['bleep.bloop.chat'], 'parent name was used as base of mounted engine');
48155
+ assert.ok(router._routerMicrolib.recognizer.names['bleep'], 'parent name was used as base of nested routes');
48156
+ assert.ok(router._routerMicrolib.recognizer.names['bleep.bloop'], 'parent name was used as base of nested routes');
48157
+ assert.ok(router._routerMicrolib.recognizer.names['bleep.bloop.chat'], 'parent name was used as base of mounted engine');
48120
48158
  });
48121
48159
 
48122
48160
  QUnit.test('should allow mounting of engines at a custom path', function (assert) {
@@ -48138,7 +48176,7 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48138
48176
  _emberUtils.setOwner(router, engineInstance);
48139
48177
  router._initRouterJs();
48140
48178
 
48141
- assert.deepEqual(router.router.recognizer.names['bleep.bloop.chat'].segments.slice(1, 4).map(function (s) {
48179
+ assert.deepEqual(router._routerMicrolib.recognizer.names['bleep.bloop.chat'].segments.slice(1, 4).map(function (s) {
48142
48180
  return s.value;
48143
48181
  }), ['bleep', 'bloop', 'custom-chat'], 'segments are properly associated with mounted engine');
48144
48182
  });
@@ -48162,7 +48200,7 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48162
48200
  _emberUtils.setOwner(router, engineInstance);
48163
48201
  router._initRouterJs();
48164
48202
 
48165
- assert.deepEqual(router.router.recognizer.names['bleep.bloop.blork'].segments.slice(1, 4).map(function (s) {
48203
+ assert.deepEqual(router._routerMicrolib.recognizer.names['bleep.bloop.blork'].segments.slice(1, 4).map(function (s) {
48166
48204
  return s.value;
48167
48205
  }), ['bleep', 'bloop', 'blork'], 'segments are properly associated with mounted engine with aliased name');
48168
48206
  });
@@ -48184,9 +48222,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48184
48222
  _emberUtils.setOwner(router, engineInstance);
48185
48223
  router._initRouterJs();
48186
48224
 
48187
- ok(router.router.recognizer.names['chat'], 'main route was created');
48188
- ok(router.router.recognizer.names['chat_loading'], 'loading route was added');
48189
- ok(router.router.recognizer.names['chat_error'], 'error route was added');
48225
+ ok(router._routerMicrolib.recognizer.names['chat'], 'main route was created');
48226
+ ok(router._routerMicrolib.recognizer.names['chat_loading'], 'loading route was added');
48227
+ ok(router._routerMicrolib.recognizer.names['chat_error'], 'error route was added');
48190
48228
  });
48191
48229
 
48192
48230
  QUnit.test('should add loading and error routes to a mount alias if _isRouterMapResult is true', function () {
@@ -48206,9 +48244,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48206
48244
  _emberUtils.setOwner(router, engineInstance);
48207
48245
  router._initRouterJs();
48208
48246
 
48209
- ok(router.router.recognizer.names['shoutbox'], 'main route was created');
48210
- ok(router.router.recognizer.names['shoutbox_loading'], 'loading route was added');
48211
- ok(router.router.recognizer.names['shoutbox_error'], 'error route was added');
48247
+ ok(router._routerMicrolib.recognizer.names['shoutbox'], 'main route was created');
48248
+ ok(router._routerMicrolib.recognizer.names['shoutbox_loading'], 'loading route was added');
48249
+ ok(router._routerMicrolib.recognizer.names['shoutbox_error'], 'error route was added');
48212
48250
  });
48213
48251
 
48214
48252
  QUnit.test('should not add loading and error routes to a mount if _isRouterMapResult is false', function () {
@@ -48224,9 +48262,9 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48224
48262
  _emberUtils.setOwner(router, engineInstance);
48225
48263
  router._initRouterJs(false);
48226
48264
 
48227
- ok(router.router.recognizer.names['chat'], 'main route was created');
48228
- ok(!router.router.recognizer.names['chat_loading'], 'loading route was not added');
48229
- ok(!router.router.recognizer.names['chat_error'], 'error route was not added');
48265
+ ok(router._routerMicrolib.recognizer.names['chat'], 'main route was created');
48266
+ ok(!router._routerMicrolib.recognizer.names['chat_loading'], 'loading route was not added');
48267
+ ok(!router._routerMicrolib.recognizer.names['chat_error'], 'error route was not added');
48230
48268
  });
48231
48269
 
48232
48270
  QUnit.test('should reset namespace of loading and error routes for mounts with resetNamespace', function () {
@@ -48249,17 +48287,17 @@ enifed('ember-routing/tests/system/dsl_test', ['exports', 'ember-utils', 'ember-
48249
48287
  _emberUtils.setOwner(router, engineInstance);
48250
48288
  router._initRouterJs();
48251
48289
 
48252
- ok(router.router.recognizer.names['news.chat'], 'nested route was created');
48253
- ok(router.router.recognizer.names['news.chat_loading'], 'nested loading route was added');
48254
- ok(router.router.recognizer.names['news.chat_error'], 'nested error route was added');
48290
+ ok(router._routerMicrolib.recognizer.names['news.chat'], 'nested route was created');
48291
+ ok(router._routerMicrolib.recognizer.names['news.chat_loading'], 'nested loading route was added');
48292
+ ok(router._routerMicrolib.recognizer.names['news.chat_error'], 'nested error route was added');
48255
48293
 
48256
- ok(router.router.recognizer.names['blog'], 'reset route was created');
48257
- ok(router.router.recognizer.names['blog_loading'], 'reset loading route was added');
48258
- ok(router.router.recognizer.names['blog_error'], 'reset error route was added');
48294
+ ok(router._routerMicrolib.recognizer.names['blog'], 'reset route was created');
48295
+ ok(router._routerMicrolib.recognizer.names['blog_loading'], 'reset loading route was added');
48296
+ ok(router._routerMicrolib.recognizer.names['blog_error'], 'reset error route was added');
48259
48297
 
48260
- ok(!router.router.recognizer.names['news.blog'], 'nested reset route was not created');
48261
- ok(!router.router.recognizer.names['news.blog_loading'], 'nested reset loading route was not added');
48262
- ok(!router.router.recognizer.names['news.blog_error'], 'nested reset error route was not added');
48298
+ ok(!router._routerMicrolib.recognizer.names['news.blog'], 'nested reset route was not created');
48299
+ ok(!router._routerMicrolib.recognizer.names['news.blog_loading'], 'nested reset loading route was not added');
48300
+ ok(!router._routerMicrolib.recognizer.names['news.blog_error'], 'nested reset error route was not added');
48263
48301
  });
48264
48302
  });
48265
48303
  enifed('ember-routing/tests/system/dsl_test.lint-test', ['exports'], function (exports) {
@@ -48609,7 +48647,7 @@ enifed('ember-routing/tests/system/route_test', ['exports', 'ember-utils', 'inte
48609
48647
 
48610
48648
  var router = {
48611
48649
  _deserializeQueryParams: function () {},
48612
- router: {
48650
+ _routerMicrolib: {
48613
48651
  state: {
48614
48652
  handlerInfos: [{ name: 'posts' }],
48615
48653
  params: {
@@ -48655,7 +48693,7 @@ enifed('ember-routing/tests/system/route_test', ['exports', 'ember-utils', 'inte
48655
48693
  var postsModel = { id: '2' };
48656
48694
 
48657
48695
  var router = {
48658
- router: {
48696
+ _routerMicrolib: {
48659
48697
  activeTransition: {
48660
48698
  resolvedModels: {
48661
48699
  'foo.bar': applicationModel,
@@ -48842,7 +48880,7 @@ enifed('ember-routing/tests/system/router_test', ['exports', 'ember-utils', 'emb
48842
48880
  QUnit.test('should not create a router.js instance upon init', function () {
48843
48881
  var router = createRouter(null, { disableSetup: true });
48844
48882
 
48845
- ok(!router.router);
48883
+ ok(!router._routerMicrolib);
48846
48884
  });
48847
48885
 
48848
48886
  QUnit.test('should not reify location until setupRouter is called', function () {
@@ -49044,6 +49082,24 @@ enifed('ember-routing/tests/system/router_test', ['exports', 'ember-utils', 'emb
49044
49082
 
49045
49083
  _emberRoutingSystemRouter.triggerEvent(handlerInfos, false, ['loading']);
49046
49084
  });
49085
+
49086
+ QUnit.test('Router#router deprecates when called', function (assert) {
49087
+ assert.expect(2);
49088
+
49089
+ var router = createRouter();
49090
+
49091
+ expectDeprecation(function () {
49092
+ assert.equal(router.router, router._routerMicrolib);
49093
+ }, 'Usage of `router` is deprecated, use `_routerMicrolib` instead.');
49094
+ });
49095
+
49096
+ QUnit.test('Router#_routerMicrolib can be used without deprecation', function (assert) {
49097
+ assert.expect(1);
49098
+
49099
+ var router = createRouter();
49100
+
49101
+ assert.ok(router._routerMicrolib, 'Router._routerMicrolib can be used without deprecation');
49102
+ });
49047
49103
  });
49048
49104
  enifed('ember-routing/tests/system/router_test.lint-test', ['exports'], function (exports) {
49049
49105
  'use strict';
@@ -51430,7 +51486,7 @@ enifed('ember-runtime/tests/computed/reduce_computed_macros_test.lint-test', ['e
51430
51486
  assert.ok(true, 'ember-runtime/tests/computed/reduce_computed_macros_test.js should pass ESLint\n\n');
51431
51487
  });
51432
51488
  });
51433
- 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) {
51489
+ 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) {
51434
51490
  /* global EmberDev */
51435
51491
 
51436
51492
  'use strict';
@@ -52117,7 +52173,7 @@ enifed('ember-runtime/tests/ext/mixin_test.lint-test', ['exports'], function (ex
52117
52173
  assert.ok(true, 'ember-runtime/tests/ext/mixin_test.js should pass ESLint\n\n');
52118
52174
  });
52119
52175
  });
52120
- enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-runtime/ext/rsvp'], function (exports, _emberMetal, _emberRuntimeExtRsvp) {
52176
+ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-runtime/ext/rsvp', 'ember-debug'], function (exports, _emberMetal, _emberRuntimeExtRsvp, _emberDebug) {
52121
52177
  'use strict';
52122
52178
 
52123
52179
  var ORIGINAL_ONERROR = _emberMetal.getOnerror();
@@ -52153,8 +52209,8 @@ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-ru
52153
52209
  });
52154
52210
 
52155
52211
  QUnit.test('Can reject with non-Error object', function (assert) {
52156
- var wasEmberTesting = _emberMetal.isTesting();
52157
- _emberMetal.setTesting(false);
52212
+ var wasEmberTesting = _emberDebug.isTesting();
52213
+ _emberDebug.setTesting(false);
52158
52214
  expect(1);
52159
52215
 
52160
52216
  try {
@@ -52162,15 +52218,15 @@ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-ru
52162
52218
  } catch (e) {
52163
52219
  ok(false, 'should not throw');
52164
52220
  } finally {
52165
- _emberMetal.setTesting(wasEmberTesting);
52221
+ _emberDebug.setTesting(wasEmberTesting);
52166
52222
  }
52167
52223
 
52168
52224
  ok(true);
52169
52225
  });
52170
52226
 
52171
52227
  QUnit.test('Can reject with no arguments', function (assert) {
52172
- var wasEmberTesting = _emberMetal.isTesting();
52173
- _emberMetal.setTesting(false);
52228
+ var wasEmberTesting = _emberDebug.isTesting();
52229
+ _emberDebug.setTesting(false);
52174
52230
  expect(1);
52175
52231
 
52176
52232
  try {
@@ -52178,7 +52234,7 @@ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-ru
52178
52234
  } catch (e) {
52179
52235
  ok(false, 'should not throw');
52180
52236
  } finally {
52181
- _emberMetal.setTesting(wasEmberTesting);
52237
+ _emberDebug.setTesting(wasEmberTesting);
52182
52238
  }
52183
52239
 
52184
52240
  ok(true);
@@ -52187,12 +52243,12 @@ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-ru
52187
52243
  QUnit.test('rejections like jqXHR which have errorThrown property work', function () {
52188
52244
  expect(2);
52189
52245
 
52190
- var wasEmberTesting = _emberMetal.isTesting();
52246
+ var wasEmberTesting = _emberDebug.isTesting();
52191
52247
  var wasOnError = _emberMetal.getOnerror();
52192
52248
 
52193
52249
  try {
52194
52250
  (function () {
52195
- _emberMetal.setTesting(false);
52251
+ _emberDebug.setTesting(false);
52196
52252
  _emberMetal.setOnerror(function (error) {
52197
52253
  equal(error, actualError, 'expected the real error on the jqXHR');
52198
52254
  equal(error.__reason_with_error_thrown__, jqXHR, 'also retains a helpful reference to the rejection reason');
@@ -52207,19 +52263,19 @@ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-ru
52207
52263
  })();
52208
52264
  } finally {
52209
52265
  _emberMetal.setOnerror(wasOnError);
52210
- _emberMetal.setTesting(wasEmberTesting);
52266
+ _emberDebug.setTesting(wasEmberTesting);
52211
52267
  }
52212
52268
  });
52213
52269
 
52214
52270
  QUnit.test('rejections where the errorThrown is a string should wrap the sting in an error object', function () {
52215
52271
  expect(2);
52216
52272
 
52217
- var wasEmberTesting = _emberMetal.isTesting();
52273
+ var wasEmberTesting = _emberDebug.isTesting();
52218
52274
  var wasOnError = _emberMetal.getOnerror();
52219
52275
 
52220
52276
  try {
52221
52277
  (function () {
52222
- _emberMetal.setTesting(false);
52278
+ _emberDebug.setTesting(false);
52223
52279
  _emberMetal.setOnerror(function (error) {
52224
52280
  equal(error.message, actualError, 'expected the real error on the jqXHR');
52225
52281
  equal(error.__reason_with_error_thrown__, jqXHR, 'also retains a helpful reference to the rejection reason');
@@ -52234,18 +52290,18 @@ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-ru
52234
52290
  })();
52235
52291
  } finally {
52236
52292
  _emberMetal.setOnerror(wasOnError);
52237
- _emberMetal.setTesting(wasEmberTesting);
52293
+ _emberDebug.setTesting(wasEmberTesting);
52238
52294
  }
52239
52295
  });
52240
52296
 
52241
52297
  QUnit.test('rejections can be serialized to JSON', function (assert) {
52242
52298
  expect(2);
52243
52299
 
52244
- var wasEmberTesting = _emberMetal.isTesting();
52300
+ var wasEmberTesting = _emberDebug.isTesting();
52245
52301
  var wasOnError = _emberMetal.getOnerror();
52246
52302
 
52247
52303
  try {
52248
- _emberMetal.setTesting(false);
52304
+ _emberDebug.setTesting(false);
52249
52305
  _emberMetal.setOnerror(function (error) {
52250
52306
  assert.equal(error.message, 'a fail');
52251
52307
  assert.ok(JSON.stringify(error), 'Error can be serialized');
@@ -52258,7 +52314,7 @@ enifed('ember-runtime/tests/ext/rsvp_test', ['exports', 'ember-metal', 'ember-ru
52258
52314
  _emberMetal.run(_emberRuntimeExtRsvp.default, 'reject', jqXHR);
52259
52315
  } finally {
52260
52316
  _emberMetal.setOnerror(wasOnError);
52261
- _emberMetal.setTesting(wasEmberTesting);
52317
+ _emberDebug.setTesting(wasEmberTesting);
52262
52318
  }
52263
52319
  });
52264
52320
 
@@ -52388,7 +52444,7 @@ enifed('ember-runtime/tests/ext/rsvp_test.lint-test', ['exports'], function (exp
52388
52444
  assert.ok(true, 'ember-runtime/tests/ext/rsvp_test.js should pass ESLint\n\n');
52389
52445
  });
52390
52446
  });
52391
- 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) {
52447
+ 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) {
52392
52448
  /* global EmberDev */
52393
52449
 
52394
52450
  'use strict';
@@ -61469,7 +61525,7 @@ enifed('ember-runtime/tests/system/object/computed_test.lint-test', ['exports'],
61469
61525
  assert.ok(true, 'ember-runtime/tests/system/object/computed_test.js should pass ESLint\n\n');
61470
61526
  });
61471
61527
  });
61472
- enifed('ember-runtime/tests/system/object/create_test', ['exports', 'ember-metal', 'ember-runtime/system/object'], function (exports, _emberMetal, _emberRuntimeSystemObject) {
61528
+ enifed('ember-runtime/tests/system/object/create_test', ['exports', 'ember-metal', 'ember-debug', 'ember-runtime/system/object'], function (exports, _emberMetal, _emberDebug, _emberRuntimeSystemObject) {
61473
61529
  'use strict';
61474
61530
 
61475
61531
  QUnit.module('EmberObject.create', {});
@@ -61623,7 +61679,7 @@ enifed('ember-runtime/tests/system/object/create_test.lint-test', ['exports'], f
61623
61679
  assert.ok(true, 'ember-runtime/tests/system/object/create_test.js should pass ESLint\n\n');
61624
61680
  });
61625
61681
  });
61626
- enifed('ember-runtime/tests/system/object/destroy_test', ['exports', 'ember-metal', 'internal-test-helpers', 'ember-runtime/system/object'], function (exports, _emberMetal, _internalTestHelpers, _emberRuntimeSystemObject) {
61682
+ 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) {
61627
61683
  'use strict';
61628
61684
 
61629
61685
  QUnit.module('ember-runtime/system/object/destroy_test');
@@ -63770,6 +63826,15 @@ enifed('ember-template-compiler/plugins/transform-attrs-into-args.lint-test', ['
63770
63826
  assert.ok(true, 'ember-template-compiler/plugins/transform-attrs-into-args.js should pass ESLint\n\n');
63771
63827
  });
63772
63828
  });
63829
+ enifed('ember-template-compiler/plugins/transform-dot-component-invocation.lint-test', ['exports'], function (exports) {
63830
+ 'use strict';
63831
+
63832
+ QUnit.module('ESLint | ember-template-compiler/plugins/transform-dot-component-invocation.js');
63833
+ QUnit.test('should pass ESLint', function (assert) {
63834
+ assert.expect(1);
63835
+ assert.ok(true, 'ember-template-compiler/plugins/transform-dot-component-invocation.js should pass ESLint\n\n');
63836
+ });
63837
+ });
63773
63838
  enifed('ember-template-compiler/plugins/transform-each-in-into-each.lint-test', ['exports'], function (exports) {
63774
63839
  'use strict';
63775
63840
 
@@ -63993,6 +64058,30 @@ enifed('ember-template-compiler/tests/plugins/deprecate-render-test.lint-test',
63993
64058
  assert.ok(true, 'ember-template-compiler/tests/plugins/deprecate-render-test.js should pass ESLint\n\n');
63994
64059
  });
63995
64060
  });
64061
+ enifed('ember-template-compiler/tests/plugins/transform-dot-component-invocation-test', ['exports', 'ember-template-compiler/index'], function (exports, _emberTemplateCompilerIndex) {
64062
+ 'use strict';
64063
+
64064
+ QUnit.module('ember-template-compiler: transforms dot component invocation');
64065
+
64066
+ QUnit.test('Does not throw a compiler error for path components', function (assert) {
64067
+ assert.expect(1);
64068
+
64069
+ ['{{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) {
64070
+ _emberTemplateCompilerIndex.compile(layout, { moduleName: 'example-' + i });
64071
+ });
64072
+
64073
+ assert.ok(true);
64074
+ });
64075
+ });
64076
+ enifed('ember-template-compiler/tests/plugins/transform-dot-component-invocation-test.lint-test', ['exports'], function (exports) {
64077
+ 'use strict';
64078
+
64079
+ QUnit.module('ESLint | ember-template-compiler/tests/plugins/transform-dot-component-invocation-test.js');
64080
+ QUnit.test('should pass ESLint', function (assert) {
64081
+ assert.expect(1);
64082
+ assert.ok(true, 'ember-template-compiler/tests/plugins/transform-dot-component-invocation-test.js should pass ESLint\n\n');
64083
+ });
64084
+ });
63996
64085
  enifed('ember-template-compiler/tests/plugins/transform-inline-link-to-test', ['exports', 'ember-template-compiler/index'], function (exports, _emberTemplateCompilerIndex) {
63997
64086
  'use strict';
63998
64087
 
@@ -65142,18 +65231,18 @@ enifed('ember-testing/tests/adapters_test.lint-test', ['exports'], function (exp
65142
65231
  assert.ok(true, 'ember-testing/tests/adapters_test.js should pass ESLint\n\n');
65143
65232
  });
65144
65233
  });
65145
- enifed('ember-testing/tests/ext/rsvp_test', ['exports', 'ember-testing/ext/rsvp', 'ember-testing/test/adapter', 'ember-metal'], function (exports, _emberTestingExtRsvp, _emberTestingTestAdapter, _emberMetal) {
65234
+ 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) {
65146
65235
  'use strict';
65147
65236
 
65148
65237
  var originalTestAdapter = _emberTestingTestAdapter.getAdapter();
65149
- var originalTestingFlag = _emberMetal.isTesting();
65238
+ var originalTestingFlag = _emberDebug.isTesting();
65150
65239
 
65151
65240
  var asyncStarted = 0;
65152
65241
  var asyncEnded = 0;
65153
65242
 
65154
65243
  QUnit.module('ember-testing RSVP', {
65155
65244
  setup: function () {
65156
- _emberMetal.setTesting(true);
65245
+ _emberDebug.setTesting(true);
65157
65246
  _emberTestingTestAdapter.setAdapter({
65158
65247
  asyncStart: function () {
65159
65248
  asyncStarted++;
@@ -65169,7 +65258,7 @@ enifed('ember-testing/tests/ext/rsvp_test', ['exports', 'ember-testing/ext/rsvp'
65169
65258
  asyncStarted = 0;
65170
65259
  asyncEnded = 0;
65171
65260
  _emberTestingTestAdapter.setAdapter(originalTestAdapter);
65172
- _emberMetal.setTesting(originalTestingFlag);
65261
+ _emberDebug.setTesting(originalTestingFlag);
65173
65262
  }
65174
65263
  });
65175
65264
 
@@ -65178,7 +65267,7 @@ enifed('ember-testing/tests/ext/rsvp_test', ['exports', 'ember-testing/ext/rsvp'
65178
65267
 
65179
65268
  ok(!_emberMetal.run.currentRunLoop, 'expect no run-loop');
65180
65269
 
65181
- _emberMetal.setTesting(true);
65270
+ _emberDebug.setTesting(true);
65182
65271
 
65183
65272
  equal(asyncStarted, 0);
65184
65273
  equal(asyncEnded, 0);
@@ -65328,7 +65417,7 @@ enifed('ember-testing/tests/helper_registration_test.lint-test', ['exports'], fu
65328
65417
  assert.ok(true, 'ember-testing/tests/helper_registration_test.js should pass ESLint\n\n');
65329
65418
  });
65330
65419
  });
65331
- 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) {
65420
+ 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) {
65332
65421
  'use strict';
65333
65422
 
65334
65423
  var App;
@@ -66106,7 +66195,7 @@ enifed('ember-testing/tests/helpers_test', ['exports', 'ember-routing', 'ember-r
66106
66195
  App.testHelpers.pauseTest();
66107
66196
  });
66108
66197
 
66109
- if (false) {
66198
+ if (true) {
66110
66199
  QUnit.test('resumeTest resumes paused tests', function () {
66111
66200
  expect(1);
66112
66201
 
@@ -68361,7 +68450,7 @@ enifed('ember/tests/helpers/helper_registration_test.lint-test', ['exports'], fu
68361
68450
  assert.ok(true, 'ember/tests/helpers/helper_registration_test.js should pass ESLint\n\n');
68362
68451
  });
68363
68452
  });
68364
- 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) {
68453
+ 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) {
68365
68454
  'use strict';
68366
68455
 
68367
68456
  var Router = undefined,
@@ -70784,7 +70873,7 @@ enifed('ember/tests/integration/multiple-app-test.lint-test', ['exports'], funct
70784
70873
  assert.ok(true, 'ember/tests/integration/multiple-app-test.js should pass ESLint\n\n');
70785
70874
  });
70786
70875
  });
70787
- enifed('ember/tests/reexports_test', ['exports', 'ember/index', 'internal-test-helpers', 'ember-metal'], function (exports, _emberIndex, _internalTestHelpers, _emberMetal) {
70876
+ enifed('ember/tests/reexports_test', ['exports', 'ember/index', 'internal-test-helpers', 'ember-debug'], function (exports, _emberIndex, _internalTestHelpers, _emberDebug) {
70788
70877
  'use strict';
70789
70878
 
70790
70879
  QUnit.module('ember reexports');
@@ -70802,10 +70891,10 @@ enifed('ember/tests/reexports_test', ['exports', 'ember/index', 'internal-test-h
70802
70891
  ['Registry', 'container', 'Registry'], ['Container', 'container', 'Container'],
70803
70892
 
70804
70893
  // ember-metal
70805
- ['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' }],
70894
+ ['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' }],
70806
70895
  // ['create'], TODO: figure out what to do here
70807
70896
  // ['keys'], TODO: figure out what to do here
70808
- ['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'],
70897
+ ['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'],
70809
70898
 
70810
70899
  // ember-views
70811
70900
  ['$', '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'],
@@ -74587,7 +74676,7 @@ enifed('ember/tests/routing/basic_test', ['exports', 'ember-utils', 'ember-conso
74587
74676
 
74588
74677
  bootApplication();
74589
74678
 
74590
- equal(router.router.generate('blog.post', { id: '13' }), '/blog/post/13', 'url is generated properly');
74679
+ equal(router._routerMicrolib.generate('blog.post', { id: '13' }), '/blog/post/13', 'url is generated properly');
74591
74680
  });
74592
74681
 
74593
74682
  QUnit.test('Defining a Route#serialize method in an Engine throws an error', function () {
@@ -77182,7 +77271,7 @@ enifed('ember/tests/routing/query_params_test/overlapping_query_params_test.lint
77182
77271
  assert.ok(true, 'ember/tests/routing/query_params_test/overlapping_query_params_test.js should pass ESLint\n\n');
77183
77272
  });
77184
77273
  });
77185
- 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) {
77274
+ 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) {
77186
77275
  'use strict';
77187
77276
 
77188
77277
  // These tests mimic what happens with lazily loaded Engines.
@@ -77383,22 +77472,36 @@ enifed('ember/tests/routing/query_params_test/query_param_async_get_handler_test
77383
77472
  return {
77384
77473
  location: 'test',
77385
77474
 
77475
+ init: function () {
77476
+ this._super.apply(this, arguments);
77477
+ this._seenHandlers = Object.create(null);
77478
+ this._handlerPromises = Object.create(null);
77479
+ },
77480
+
77386
77481
  _getQPMeta: function (handlerInfo) {
77387
- return this._bucketCache.lookup('route-meta', handlerInfo.name);
77482
+ var handler = this._seenHandlers[handlerInfo.name];
77483
+ if (handler) {
77484
+ return _emberMetal.get(handler, '_qp');
77485
+ }
77388
77486
  },
77389
77487
 
77390
77488
  _getHandlerFunction: function () {
77391
77489
  var getHandler = this._super.apply(this, arguments);
77392
- var cache = {};
77490
+ var handlerPromises = this._handlerPromises;
77491
+ var seenHandlers = this._seenHandlers;
77393
77492
 
77394
77493
  return function (routeName) {
77395
77494
  fetchedHandlers.push(routeName);
77396
77495
 
77397
77496
  // Cache the returns so we don't have more than one Promise for a
77398
77497
  // given handler.
77399
- return cache[routeName] || (cache[routeName] = new _emberRuntime.RSVP.Promise(function (resolve) {
77498
+ return handlerPromises[routeName] || (handlerPromises[routeName] = new _emberRuntime.RSVP.Promise(function (resolve) {
77400
77499
  setTimeout(function () {
77401
- return resolve(getHandler(routeName));
77500
+ var handler = getHandler(routeName);
77501
+
77502
+ seenHandlers[routeName] = handler;
77503
+
77504
+ resolve(handler);
77402
77505
  }, 10);
77403
77506
  }));
77404
77507
  };
@@ -77649,6 +77752,895 @@ enifed('ember/tests/routing/router_map_test.lint-test', ['exports'], function (e
77649
77752
  assert.ok(true, 'ember/tests/routing/router_map_test.js should pass ESLint\n\n');
77650
77753
  });
77651
77754
  });
77755
+ 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) {
77756
+ 'use strict';
77757
+
77758
+ if (false) {
77759
+ _internalTestHelpers.moduleFor('Router Service - main', (function (_RouterTestCase) {
77760
+ babelHelpers.inherits(_class, _RouterTestCase);
77761
+
77762
+ function _class() {
77763
+ _RouterTestCase.apply(this, arguments);
77764
+ }
77765
+
77766
+ _class.prototype['@test RouterService#currentRouteName is correctly set for top level route'] = function testRouterServiceCurrentRouteNameIsCorrectlySetForTopLevelRoute(assert) {
77767
+ var _this = this;
77768
+
77769
+ assert.expect(1);
77770
+
77771
+ return this.visit('/').then(function () {
77772
+ assert.equal(_this.routerService.get('currentRouteName'), 'parent.index');
77773
+ });
77774
+ };
77775
+
77776
+ _class.prototype['@test RouterService#currentRouteName is correctly set for child route'] = function testRouterServiceCurrentRouteNameIsCorrectlySetForChildRoute(assert) {
77777
+ var _this2 = this;
77778
+
77779
+ assert.expect(1);
77780
+
77781
+ return this.visit('/child').then(function () {
77782
+ assert.equal(_this2.routerService.get('currentRouteName'), 'parent.child');
77783
+ });
77784
+ };
77785
+
77786
+ _class.prototype['@test RouterService#currentRouteName is correctly set after transition'] = function testRouterServiceCurrentRouteNameIsCorrectlySetAfterTransition(assert) {
77787
+ var _this3 = this;
77788
+
77789
+ assert.expect(1);
77790
+
77791
+ return this.visit('/child').then(function () {
77792
+ return _this3.routerService.transitionTo('parent.sister');
77793
+ }).then(function () {
77794
+ assert.equal(_this3.routerService.get('currentRouteName'), 'parent.sister');
77795
+ });
77796
+ };
77797
+
77798
+ _class.prototype['@test RouterService#currentRouteName is correctly set on each transition'] = function testRouterServiceCurrentRouteNameIsCorrectlySetOnEachTransition(assert) {
77799
+ var _this4 = this;
77800
+
77801
+ assert.expect(3);
77802
+
77803
+ return this.visit('/child').then(function () {
77804
+ assert.equal(_this4.routerService.get('currentRouteName'), 'parent.child');
77805
+
77806
+ return _this4.visit('/sister');
77807
+ }).then(function () {
77808
+ assert.equal(_this4.routerService.get('currentRouteName'), 'parent.sister');
77809
+
77810
+ return _this4.visit('/brother');
77811
+ }).then(function () {
77812
+ assert.equal(_this4.routerService.get('currentRouteName'), 'parent.brother');
77813
+ });
77814
+ };
77815
+
77816
+ _class.prototype['@test RouterService#rootURL is correctly set to the default value'] = function testRouterServiceRootURLIsCorrectlySetToTheDefaultValue(assert) {
77817
+ var _this5 = this;
77818
+
77819
+ assert.expect(1);
77820
+
77821
+ return this.visit('/').then(function () {
77822
+ assert.equal(_this5.routerService.get('rootURL'), '/');
77823
+ });
77824
+ };
77825
+
77826
+ _class.prototype['@test RouterService#rootURL is correctly set to a custom value'] = function testRouterServiceRootURLIsCorrectlySetToACustomValue(assert) {
77827
+ var _this6 = this;
77828
+
77829
+ assert.expect(1);
77830
+
77831
+ this.registerRoute('parent.index', _emberRouting.Route.extend({
77832
+ init: function () {
77833
+ this._super();
77834
+ _emberMetal.set(this.router, 'rootURL', '/homepage');
77835
+ }
77836
+ }));
77837
+
77838
+ return this.visit('/').then(function () {
77839
+ assert.equal(_this6.routerService.get('rootURL'), '/homepage');
77840
+ });
77841
+ };
77842
+
77843
+ _class.prototype['@test RouterService#location is correctly delegated from router:main'] = function testRouterServiceLocationIsCorrectlyDelegatedFromRouterMain(assert) {
77844
+ var _this7 = this;
77845
+
77846
+ assert.expect(2);
77847
+
77848
+ return this.visit('/').then(function () {
77849
+ var location = _this7.routerService.get('location');
77850
+ assert.ok(location);
77851
+ assert.ok(location instanceof _emberRouting.NoneLocation);
77852
+ });
77853
+ };
77854
+
77855
+ return _class;
77856
+ })(_internalTestHelpers.RouterTestCase));
77857
+ }
77858
+ });
77859
+ enifed('ember/tests/routing/router_service_test/basic_test.lint-test', ['exports'], function (exports) {
77860
+ 'use strict';
77861
+
77862
+ QUnit.module('ESLint | ember/tests/routing/router_service_test/basic_test.js');
77863
+ QUnit.test('should pass ESLint', function (assert) {
77864
+ assert.expect(1);
77865
+ assert.ok(true, 'ember/tests/routing/router_service_test/basic_test.js should pass ESLint\n\n');
77866
+ });
77867
+ });
77868
+ 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) {
77869
+ 'use strict';
77870
+
77871
+ if (false) {
77872
+ (function () {
77873
+ var results = [];
77874
+ var ROUTE_NAMES = ['index', 'child', 'sister', 'brother'];
77875
+
77876
+ var InstrumentedRoute = _emberRouting.Route.extend({
77877
+ routerService: _emberRuntime.inject.service('router'),
77878
+
77879
+ beforeModel: function () {
77880
+ var service = _emberMetal.get(this, 'routerService');
77881
+ results.push([service.get('currentRouteName'), 'beforeModel', service.get('currentURL')]);
77882
+ },
77883
+
77884
+ model: function () {
77885
+ var service = _emberMetal.get(this, 'routerService');
77886
+ results.push([service.get('currentRouteName'), 'model', service.get('currentURL')]);
77887
+ },
77888
+
77889
+ afterModel: function () {
77890
+ var service = _emberMetal.get(this, 'routerService');
77891
+ results.push([service.get('currentRouteName'), 'afterModel', service.get('currentURL')]);
77892
+ }
77893
+ });
77894
+
77895
+ _internalTestHelpers.moduleFor('Router Service - currentURL', (function (_RouterTestCase) {
77896
+ babelHelpers.inherits(_class, _RouterTestCase);
77897
+
77898
+ function _class() {
77899
+ var _this = this;
77900
+
77901
+ _RouterTestCase.call(this);
77902
+
77903
+ results = [];
77904
+
77905
+ ROUTE_NAMES.forEach(function (name) {
77906
+ var routeName = 'parent.' + name;
77907
+ _this.registerRoute(routeName, InstrumentedRoute.extend());
77908
+ _this.registerTemplate(routeName, '{{current-url}}');
77909
+ });
77910
+
77911
+ this.registerComponent('current-url', {
77912
+ ComponentClass: _emberGlimmer.Component.extend({
77913
+ routerService: _emberRuntime.inject.service('router'),
77914
+ currentURL: _emberRuntime.readOnly('routerService.currentURL')
77915
+ }),
77916
+ template: '{{currentURL}}'
77917
+ });
77918
+ }
77919
+
77920
+ _class.prototype['@test RouterService#currentURL is correctly set for top level route'] = function testRouterServiceCurrentURLIsCorrectlySetForTopLevelRoute(assert) {
77921
+ var _this2 = this;
77922
+
77923
+ assert.expect(1);
77924
+
77925
+ return this.visit('/').then(function () {
77926
+ assert.equal(_this2.routerService.get('currentURL'), '/');
77927
+ });
77928
+ };
77929
+
77930
+ _class.prototype['@test RouterService#currentURL is correctly set for child route'] = function testRouterServiceCurrentURLIsCorrectlySetForChildRoute(assert) {
77931
+ var _this3 = this;
77932
+
77933
+ assert.expect(1);
77934
+
77935
+ return this.visit('/child').then(function () {
77936
+ assert.equal(_this3.routerService.get('currentURL'), '/child');
77937
+ });
77938
+ };
77939
+
77940
+ _class.prototype['@test RouterService#currentURL is correctly set after transition'] = function testRouterServiceCurrentURLIsCorrectlySetAfterTransition(assert) {
77941
+ var _this4 = this;
77942
+
77943
+ assert.expect(1);
77944
+
77945
+ return this.visit('/child').then(function () {
77946
+ return _this4.routerService.transitionTo('parent.sister');
77947
+ }).then(function () {
77948
+ assert.equal(_this4.routerService.get('currentURL'), '/sister');
77949
+ });
77950
+ };
77951
+
77952
+ _class.prototype['@test RouterService#currentURL is correctly set on each transition'] = function testRouterServiceCurrentURLIsCorrectlySetOnEachTransition(assert) {
77953
+ var _this5 = this;
77954
+
77955
+ assert.expect(3);
77956
+
77957
+ return this.visit('/child').then(function () {
77958
+ assert.equal(_this5.routerService.get('currentURL'), '/child');
77959
+
77960
+ return _this5.visit('/sister');
77961
+ }).then(function () {
77962
+ assert.equal(_this5.routerService.get('currentURL'), '/sister');
77963
+
77964
+ return _this5.visit('/brother');
77965
+ }).then(function () {
77966
+ assert.equal(_this5.routerService.get('currentURL'), '/brother');
77967
+ });
77968
+ };
77969
+
77970
+ _class.prototype['@test RouterService#currentURL is not set during lifecycle hooks'] = function testRouterServiceCurrentURLIsNotSetDuringLifecycleHooks(assert) {
77971
+ var _this6 = this;
77972
+
77973
+ assert.expect(2);
77974
+
77975
+ return this.visit('/').then(function () {
77976
+ assert.deepEqual(results, [[null, 'beforeModel', null], [null, 'model', null], [null, 'afterModel', null]]);
77977
+
77978
+ results = [];
77979
+
77980
+ return _this6.visit('/child');
77981
+ }).then(function () {
77982
+ assert.deepEqual(results, [['parent.index', 'beforeModel', '/'], ['parent.index', 'model', '/'], ['parent.index', 'afterModel', '/']]);
77983
+ });
77984
+ };
77985
+
77986
+ _class.prototype['@test RouterService#currentURL is correctly set with component after consecutive visits'] = function testRouterServiceCurrentURLIsCorrectlySetWithComponentAfterConsecutiveVisits(assert) {
77987
+ var _this7 = this;
77988
+
77989
+ assert.expect(3);
77990
+
77991
+ return this.visit('/').then(function () {
77992
+ _this7.assertText('/');
77993
+
77994
+ return _this7.visit('/child');
77995
+ }).then(function () {
77996
+ _this7.assertText('/child');
77997
+
77998
+ return _this7.visit('/');
77999
+ }).then(function () {
78000
+ _this7.assertText('/');
78001
+ });
78002
+ };
78003
+
78004
+ return _class;
78005
+ })(_internalTestHelpers.RouterTestCase));
78006
+ })();
78007
+ }
78008
+ });
78009
+ enifed('ember/tests/routing/router_service_test/currenturl_lifecycle_test.lint-test', ['exports'], function (exports) {
78010
+ 'use strict';
78011
+
78012
+ QUnit.module('ESLint | ember/tests/routing/router_service_test/currenturl_lifecycle_test.js');
78013
+ QUnit.test('should pass ESLint', function (assert) {
78014
+ assert.expect(1);
78015
+ assert.ok(true, 'ember/tests/routing/router_service_test/currenturl_lifecycle_test.js should pass ESLint\n\n');
78016
+ });
78017
+ });
78018
+ enifed('ember/tests/routing/router_service_test/replaceWith_test', ['exports', 'ember-routing', 'internal-test-helpers', 'router', 'ember-debug'], function (exports, _emberRouting, _internalTestHelpers, _router, _emberDebug) {
78019
+ 'use strict';
78020
+
78021
+ if (false) {
78022
+ _internalTestHelpers.moduleFor('Router Service - replaceWith', (function (_RouterTestCase) {
78023
+ babelHelpers.inherits(_class, _RouterTestCase);
78024
+
78025
+ function _class() {
78026
+ _RouterTestCase.call(this);
78027
+
78028
+ var testCase = this;
78029
+ testCase.state = [];
78030
+
78031
+ this.application.register('location:test', _emberRouting.NoneLocation.extend({
78032
+ setURL: function (path) {
78033
+ testCase.state.push(path);
78034
+ this.set('path', path);
78035
+ },
78036
+
78037
+ replaceURL: function (path) {
78038
+ testCase.state.splice(testCase.state.length - 1, 1, path);
78039
+ this.set('path', path);
78040
+ }
78041
+ }));
78042
+ }
78043
+
78044
+ _class.prototype['@test RouterService#replaceWith returns a Transition'] = function testRouterServiceReplaceWithReturnsATransition(assert) {
78045
+ var _this = this;
78046
+
78047
+ assert.expect(1);
78048
+
78049
+ var transition = undefined;
78050
+
78051
+ return this.visit('/').then(function () {
78052
+ transition = _this.routerService.replaceWith('parent.child');
78053
+
78054
+ assert.ok(transition instanceof _router.Transition);
78055
+
78056
+ return transition;
78057
+ });
78058
+ };
78059
+
78060
+ _class.prototype['@test RouterService#replaceWith with basic route replaces location'] = function testRouterServiceReplaceWithWithBasicRouteReplacesLocation(assert) {
78061
+ var _this2 = this;
78062
+
78063
+ assert.expect(1);
78064
+
78065
+ return this.visit('/').then(function () {
78066
+ return _this2.routerService.transitionTo('parent.child');
78067
+ }).then(function () {
78068
+ return _this2.routerService.transitionTo('parent.sister');
78069
+ }).then(function () {
78070
+ return _this2.routerService.replaceWith('parent.brother');
78071
+ }).then(function () {
78072
+ assert.deepEqual(_this2.state, ['/', '/child', '/brother']);
78073
+ });
78074
+ };
78075
+
78076
+ _class.prototype['@test RouterService#replaceWith with basic route using URLs replaces location'] = function testRouterServiceReplaceWithWithBasicRouteUsingURLsReplacesLocation(assert) {
78077
+ var _this3 = this;
78078
+
78079
+ assert.expect(1);
78080
+
78081
+ return this.visit('/').then(function () {
78082
+ return _this3.routerService.transitionTo('/child');
78083
+ }).then(function () {
78084
+ return _this3.routerService.transitionTo('/sister');
78085
+ }).then(function () {
78086
+ return _this3.routerService.replaceWith('/brother');
78087
+ }).then(function () {
78088
+ assert.deepEqual(_this3.state, ['/', '/child', '/brother']);
78089
+ });
78090
+ };
78091
+
78092
+ _class.prototype['@test RouterService#replaceWith transitioning back to previously visited route replaces location'] = function testRouterServiceReplaceWithTransitioningBackToPreviouslyVisitedRouteReplacesLocation(assert) {
78093
+ var _this4 = this;
78094
+
78095
+ assert.expect(1);
78096
+
78097
+ return this.visit('/').then(function () {
78098
+ return _this4.routerService.transitionTo('parent.child');
78099
+ }).then(function () {
78100
+ return _this4.routerService.transitionTo('parent.sister');
78101
+ }).then(function () {
78102
+ return _this4.routerService.transitionTo('parent.brother');
78103
+ }).then(function () {
78104
+ return _this4.routerService.replaceWith('parent.sister');
78105
+ }).then(function () {
78106
+ assert.deepEqual(_this4.state, ['/', '/child', '/sister', '/sister']);
78107
+ });
78108
+ };
78109
+
78110
+ babelHelpers.createClass(_class, [{
78111
+ key: 'routerOptions',
78112
+ get: function () {
78113
+ return {
78114
+ location: 'test'
78115
+ };
78116
+ }
78117
+ }]);
78118
+ return _class;
78119
+ })(_internalTestHelpers.RouterTestCase));
78120
+ }
78121
+ });
78122
+ enifed('ember/tests/routing/router_service_test/replaceWith_test.lint-test', ['exports'], function (exports) {
78123
+ 'use strict';
78124
+
78125
+ QUnit.module('ESLint | ember/tests/routing/router_service_test/replaceWith_test.js');
78126
+ QUnit.test('should pass ESLint', function (assert) {
78127
+ assert.expect(1);
78128
+ assert.ok(true, 'ember/tests/routing/router_service_test/replaceWith_test.js should pass ESLint\n\n');
78129
+ });
78130
+ });
78131
+ 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) {
78132
+ 'use strict';
78133
+
78134
+ if (false) {
78135
+ _internalTestHelpers.moduleFor('Router Service - transitionTo', (function (_RouterTestCase) {
78136
+ babelHelpers.inherits(_class, _RouterTestCase);
78137
+
78138
+ function _class() {
78139
+ _RouterTestCase.call(this);
78140
+
78141
+ var testCase = this;
78142
+ testCase.state = [];
78143
+
78144
+ this.application.register('location:test', _emberRouting.NoneLocation.extend({
78145
+ setURL: function (path) {
78146
+ testCase.state.push(path);
78147
+ this.set('path', path);
78148
+ },
78149
+
78150
+ replaceURL: function (path) {
78151
+ testCase.state.splice(testCase.state.length - 1, 1, path);
78152
+ this.set('path', path);
78153
+ }
78154
+ }));
78155
+ }
78156
+
78157
+ _class.prototype['@test RouterService#transitionTo returns a Transition'] = function testRouterServiceTransitionToReturnsATransition(assert) {
78158
+ var _this = this;
78159
+
78160
+ assert.expect(1);
78161
+
78162
+ var transition = undefined;
78163
+
78164
+ return this.visit('/').then(function () {
78165
+ transition = _this.routerService.transitionTo('parent.child');
78166
+
78167
+ assert.ok(transition instanceof _router.Transition);
78168
+
78169
+ return transition;
78170
+ });
78171
+ };
78172
+
78173
+ _class.prototype['@test RouterService#transitionTo with basic route updates location'] = function testRouterServiceTransitionToWithBasicRouteUpdatesLocation(assert) {
78174
+ var _this2 = this;
78175
+
78176
+ assert.expect(1);
78177
+
78178
+ return this.visit('/').then(function () {
78179
+ return _this2.routerService.transitionTo('parent.child');
78180
+ }).then(function () {
78181
+ return _this2.routerService.transitionTo('parent.sister');
78182
+ }).then(function () {
78183
+ return _this2.routerService.transitionTo('parent.brother');
78184
+ }).then(function () {
78185
+ assert.deepEqual(_this2.state, ['/', '/child', '/sister', '/brother']);
78186
+ });
78187
+ };
78188
+
78189
+ _class.prototype['@test RouterService#transitionTo transitioning back to previously visited route updates location'] = function testRouterServiceTransitionToTransitioningBackToPreviouslyVisitedRouteUpdatesLocation(assert) {
78190
+ var _this3 = this;
78191
+
78192
+ assert.expect(1);
78193
+
78194
+ return this.visit('/').then(function () {
78195
+ return _this3.routerService.transitionTo('parent.child');
78196
+ }).then(function () {
78197
+ return _this3.routerService.transitionTo('parent.sister');
78198
+ }).then(function () {
78199
+ return _this3.routerService.transitionTo('parent.brother');
78200
+ }).then(function () {
78201
+ return _this3.routerService.transitionTo('parent.sister');
78202
+ }).then(function () {
78203
+ assert.deepEqual(_this3.state, ['/', '/child', '/sister', '/brother', '/sister']);
78204
+ });
78205
+ };
78206
+
78207
+ _class.prototype['@test RouterService#transitionTo with basic route'] = function testRouterServiceTransitionToWithBasicRoute(assert) {
78208
+ var _this4 = this;
78209
+
78210
+ assert.expect(1);
78211
+
78212
+ var componentInstance = undefined;
78213
+
78214
+ this.registerTemplate('parent.index', '{{foo-bar}}');
78215
+
78216
+ this.registerComponent('foo-bar', {
78217
+ ComponentClass: _emberGlimmer.Component.extend({
78218
+ routerService: _emberRuntime.inject.service('router'),
78219
+ init: function () {
78220
+ this._super();
78221
+ componentInstance = this;
78222
+ },
78223
+ actions: {
78224
+ transitionToSister: function () {
78225
+ _emberMetal.get(this, 'routerService').transitionTo('parent.sister');
78226
+ }
78227
+ }
78228
+ }),
78229
+ template: 'foo-bar'
78230
+ });
78231
+
78232
+ return this.visit('/').then(function () {
78233
+ _emberMetal.run(function () {
78234
+ componentInstance.send('transitionToSister');
78235
+ });
78236
+
78237
+ assert.equal(_this4.routerService.get('currentRouteName'), 'parent.sister');
78238
+ });
78239
+ };
78240
+
78241
+ _class.prototype['@test RouterService#transitionTo with basic route using URL'] = function testRouterServiceTransitionToWithBasicRouteUsingURL(assert) {
78242
+ var _this5 = this;
78243
+
78244
+ assert.expect(1);
78245
+
78246
+ var componentInstance = undefined;
78247
+
78248
+ this.registerTemplate('parent.index', '{{foo-bar}}');
78249
+
78250
+ this.registerComponent('foo-bar', {
78251
+ ComponentClass: _emberGlimmer.Component.extend({
78252
+ routerService: _emberRuntime.inject.service('router'),
78253
+ init: function () {
78254
+ this._super();
78255
+ componentInstance = this;
78256
+ },
78257
+ actions: {
78258
+ transitionToSister: function () {
78259
+ _emberMetal.get(this, 'routerService').transitionTo('/sister');
78260
+ }
78261
+ }
78262
+ }),
78263
+ template: 'foo-bar'
78264
+ });
78265
+
78266
+ return this.visit('/').then(function () {
78267
+ _emberMetal.run(function () {
78268
+ componentInstance.send('transitionToSister');
78269
+ });
78270
+
78271
+ assert.equal(_this5.routerService.get('currentRouteName'), 'parent.sister');
78272
+ });
78273
+ };
78274
+
78275
+ _class.prototype['@test RouterService#transitionTo with dynamic segment'] = function testRouterServiceTransitionToWithDynamicSegment(assert) {
78276
+ var _this6 = this;
78277
+
78278
+ assert.expect(3);
78279
+
78280
+ var componentInstance = undefined;
78281
+ var dynamicModel = { id: 1, contents: 'much dynamicism' };
78282
+
78283
+ this.registerTemplate('parent.index', '{{foo-bar}}');
78284
+ this.registerTemplate('dynamic', '{{model.contents}}');
78285
+
78286
+ this.registerComponent('foo-bar', {
78287
+ ComponentClass: _emberGlimmer.Component.extend({
78288
+ routerService: _emberRuntime.inject.service('router'),
78289
+ init: function () {
78290
+ this._super();
78291
+ componentInstance = this;
78292
+ },
78293
+ actions: {
78294
+ transitionToDynamic: function () {
78295
+ _emberMetal.get(this, 'routerService').transitionTo('dynamic', dynamicModel);
78296
+ }
78297
+ }
78298
+ }),
78299
+ template: 'foo-bar'
78300
+ });
78301
+
78302
+ return this.visit('/').then(function () {
78303
+ _emberMetal.run(function () {
78304
+ componentInstance.send('transitionToDynamic');
78305
+ });
78306
+
78307
+ assert.equal(_this6.routerService.get('currentRouteName'), 'dynamic');
78308
+ assert.equal(_this6.routerService.get('currentURL'), '/dynamic/1');
78309
+ _this6.assertText('much dynamicism');
78310
+ });
78311
+ };
78312
+
78313
+ _class.prototype['@test RouterService#transitionTo with dynamic segment and model hook'] = function testRouterServiceTransitionToWithDynamicSegmentAndModelHook(assert) {
78314
+ var _this7 = this;
78315
+
78316
+ assert.expect(3);
78317
+
78318
+ var componentInstance = undefined;
78319
+ var dynamicModel = { id: 1, contents: 'much dynamicism' };
78320
+
78321
+ this.registerRoute('dynamic', _emberRouting.Route.extend({
78322
+ model: function () {
78323
+ return dynamicModel;
78324
+ }
78325
+ }));
78326
+
78327
+ this.registerTemplate('parent.index', '{{foo-bar}}');
78328
+ this.registerTemplate('dynamic', '{{model.contents}}');
78329
+
78330
+ this.registerComponent('foo-bar', {
78331
+ ComponentClass: _emberGlimmer.Component.extend({
78332
+ routerService: _emberRuntime.inject.service('router'),
78333
+ init: function () {
78334
+ this._super();
78335
+ componentInstance = this;
78336
+ },
78337
+ actions: {
78338
+ transitionToDynamic: function () {
78339
+ _emberMetal.get(this, 'routerService').transitionTo('dynamic', 1);
78340
+ }
78341
+ }
78342
+ }),
78343
+ template: 'foo-bar'
78344
+ });
78345
+
78346
+ return this.visit('/').then(function () {
78347
+ _emberMetal.run(function () {
78348
+ componentInstance.send('transitionToDynamic');
78349
+ });
78350
+
78351
+ assert.equal(_this7.routerService.get('currentRouteName'), 'dynamic');
78352
+ assert.equal(_this7.routerService.get('currentURL'), '/dynamic/1');
78353
+ _this7.assertText('much dynamicism');
78354
+ });
78355
+ };
78356
+
78357
+ babelHelpers.createClass(_class, [{
78358
+ key: 'routerOptions',
78359
+ get: function () {
78360
+ return {
78361
+ location: 'test'
78362
+ };
78363
+ }
78364
+ }]);
78365
+ return _class;
78366
+ })(_internalTestHelpers.RouterTestCase));
78367
+ }
78368
+ });
78369
+ enifed('ember/tests/routing/router_service_test/transitionTo_test.lint-test', ['exports'], function (exports) {
78370
+ 'use strict';
78371
+
78372
+ QUnit.module('ESLint | ember/tests/routing/router_service_test/transitionTo_test.js');
78373
+ QUnit.test('should pass ESLint', function (assert) {
78374
+ assert.expect(1);
78375
+ assert.ok(true, 'ember/tests/routing/router_service_test/transitionTo_test.js should pass ESLint\n\n');
78376
+ });
78377
+ });
78378
+ 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) {
78379
+ 'use strict';
78380
+
78381
+ function setupController(app, name) {
78382
+ var controllerName = _emberRuntime.String.capitalize(name) + 'Controller';
78383
+
78384
+ Object.defineProperty(app, controllerName, {
78385
+ get: function () {
78386
+ throw new Error('Generating a URL should not require instantiation of a ' + controllerName + '.');
78387
+ }
78388
+ });
78389
+ }
78390
+
78391
+ function buildQueryParams(queryParams) {
78392
+ return {
78393
+ queryParams: queryParams
78394
+ };
78395
+ }
78396
+
78397
+ if (false) {
78398
+ _internalTestHelpers.moduleFor('Router Service - urlFor', (function (_RouterTestCase) {
78399
+ babelHelpers.inherits(_class, _RouterTestCase);
78400
+
78401
+ function _class() {
78402
+ _RouterTestCase.apply(this, arguments);
78403
+ }
78404
+
78405
+ _class.prototype['@test RouterService#urlFor returns URL for simple route'] = function testRouterServiceUrlForReturnsURLForSimpleRoute(assert) {
78406
+ var _this = this;
78407
+
78408
+ assert.expect(1);
78409
+
78410
+ return this.visit('/').then(function () {
78411
+ var expectedURL = _this.routerService.urlFor('parent.child');
78412
+
78413
+ assert.equal('/child', expectedURL);
78414
+ });
78415
+ };
78416
+
78417
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with dynamic segments'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithDynamicSegments(assert) {
78418
+ var _this2 = this;
78419
+
78420
+ assert.expect(1);
78421
+
78422
+ setupController(this.application, 'dynamic');
78423
+
78424
+ var dynamicModel = { id: 1, contents: 'much dynamicism' };
78425
+
78426
+ return this.visit('/').then(function () {
78427
+ var expectedURL = _this2.routerService.urlFor('dynamic', dynamicModel);
78428
+
78429
+ assert.equal('/dynamic/1', expectedURL);
78430
+ });
78431
+ };
78432
+
78433
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with basic query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithBasicQueryParams(assert) {
78434
+ var _this3 = this;
78435
+
78436
+ assert.expect(1);
78437
+
78438
+ var queryParams = buildQueryParams({ foo: 'bar' });
78439
+
78440
+ return this.visit('/').then(function () {
78441
+ var expectedURL = _this3.routerService.urlFor('parent.child', queryParams);
78442
+
78443
+ assert.equal('/child?foo=bar', expectedURL);
78444
+ });
78445
+ };
78446
+
78447
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with array as query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithArrayAsQueryParams(assert) {
78448
+ var _this4 = this;
78449
+
78450
+ assert.expect(1);
78451
+
78452
+ var queryParams = buildQueryParams({ selectedItems: ['a', 'b', 'c'] });
78453
+
78454
+ return this.visit('/').then(function () {
78455
+ var expectedURL = _this4.routerService.urlFor('parent.child', queryParams);
78456
+
78457
+ assert.equal('/child?selectedItems[]=a&selectedItems[]=b&selectedItems[]=c', expectedURL);
78458
+ });
78459
+ };
78460
+
78461
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with null query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithNullQueryParams(assert) {
78462
+ var _this5 = this;
78463
+
78464
+ assert.expect(1);
78465
+
78466
+ var queryParams = buildQueryParams({ foo: null });
78467
+
78468
+ return this.visit('/').then(function () {
78469
+ var expectedURL = _this5.routerService.urlFor('parent.child', queryParams);
78470
+
78471
+ assert.equal('/child', expectedURL);
78472
+ });
78473
+ };
78474
+
78475
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with undefined query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithUndefinedQueryParams(assert) {
78476
+ var _this6 = this;
78477
+
78478
+ assert.expect(1);
78479
+
78480
+ var queryParams = buildQueryParams({ foo: undefined });
78481
+
78482
+ return this.visit('/').then(function () {
78483
+ var expectedURL = _this6.routerService.urlFor('parent.child', queryParams);
78484
+
78485
+ assert.equal('/child', expectedURL);
78486
+ });
78487
+ };
78488
+
78489
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with dynamic segments and basic query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithDynamicSegmentsAndBasicQueryParams(assert) {
78490
+ var _this7 = this;
78491
+
78492
+ assert.expect(1);
78493
+
78494
+ var queryParams = buildQueryParams({ foo: 'bar' });
78495
+
78496
+ return this.visit('/').then(function () {
78497
+ var expectedURL = _this7.routerService.urlFor('dynamic', { id: 1 }, queryParams);
78498
+
78499
+ assert.equal('/dynamic/1?foo=bar', expectedURL);
78500
+ });
78501
+ };
78502
+
78503
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with dynamic segments and array as query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithDynamicSegmentsAndArrayAsQueryParams(assert) {
78504
+ var _this8 = this;
78505
+
78506
+ assert.expect(1);
78507
+
78508
+ var queryParams = buildQueryParams({ selectedItems: ['a', 'b', 'c'] });
78509
+
78510
+ return this.visit('/').then(function () {
78511
+ var expectedURL = _this8.routerService.urlFor('dynamic', { id: 1 }, queryParams);
78512
+
78513
+ assert.equal('/dynamic/1?selectedItems[]=a&selectedItems[]=b&selectedItems[]=c', expectedURL);
78514
+ });
78515
+ };
78516
+
78517
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with dynamic segments and null query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithDynamicSegmentsAndNullQueryParams(assert) {
78518
+ var _this9 = this;
78519
+
78520
+ assert.expect(1);
78521
+
78522
+ var queryParams = buildQueryParams({ foo: null });
78523
+
78524
+ return this.visit('/').then(function () {
78525
+ var expectedURL = _this9.routerService.urlFor('dynamic', { id: 1 }, queryParams);
78526
+
78527
+ assert.equal('/dynamic/1', expectedURL);
78528
+ });
78529
+ };
78530
+
78531
+ _class.prototype['@test RouterService#urlFor returns URL for simple route with dynamic segments and undefined query params'] = function testRouterServiceUrlForReturnsURLForSimpleRouteWithDynamicSegmentsAndUndefinedQueryParams(assert) {
78532
+ var _this10 = this;
78533
+
78534
+ assert.expect(1);
78535
+
78536
+ var queryParams = buildQueryParams({ foo: undefined });
78537
+
78538
+ return this.visit('/').then(function () {
78539
+ var expectedURL = _this10.routerService.urlFor('dynamic', { id: 1 }, queryParams);
78540
+
78541
+ assert.equal('/dynamic/1', expectedURL);
78542
+ });
78543
+ };
78544
+
78545
+ _class.prototype['@test RouterService#urlFor correctly transitions to route via generated path'] = function testRouterServiceUrlForCorrectlyTransitionsToRouteViaGeneratedPath(assert) {
78546
+ var _this11 = this;
78547
+
78548
+ assert.expect(1);
78549
+
78550
+ var expectedURL = undefined;
78551
+
78552
+ return this.visit('/').then(function () {
78553
+ expectedURL = _this11.routerService.urlFor('parent.child');
78554
+
78555
+ return _this11.routerService.transitionTo(expectedURL);
78556
+ }).then(function () {
78557
+ assert.equal(expectedURL, _this11.routerService.get('currentURL'));
78558
+ });
78559
+ };
78560
+
78561
+ _class.prototype['@test RouterService#urlFor correctly transitions to route via generated path with dynamic segments'] = function testRouterServiceUrlForCorrectlyTransitionsToRouteViaGeneratedPathWithDynamicSegments(assert) {
78562
+ var _this12 = this;
78563
+
78564
+ assert.expect(1);
78565
+
78566
+ var expectedURL = undefined;
78567
+ var dynamicModel = { id: 1 };
78568
+
78569
+ this.registerRoute('dynamic', _emberRouting.Route.extend({
78570
+ model: function () {
78571
+ return dynamicModel;
78572
+ }
78573
+ }));
78574
+
78575
+ return this.visit('/').then(function () {
78576
+ expectedURL = _this12.routerService.urlFor('dynamic', dynamicModel);
78577
+
78578
+ return _this12.routerService.transitionTo(expectedURL);
78579
+ }).then(function () {
78580
+ assert.equal(expectedURL, _this12.routerService.get('currentURL'));
78581
+ });
78582
+ };
78583
+
78584
+ _class.prototype['@test RouterService#urlFor correctly transitions to route via generated path with query params'] = function testRouterServiceUrlForCorrectlyTransitionsToRouteViaGeneratedPathWithQueryParams(assert) {
78585
+ var _this13 = this;
78586
+
78587
+ assert.expect(1);
78588
+
78589
+ var expectedURL = undefined;
78590
+ var actualURL = undefined;
78591
+ var queryParams = buildQueryParams({ foo: 'bar' });
78592
+
78593
+ return this.visit('/').then(function () {
78594
+ expectedURL = _this13.routerService.urlFor('parent.child', queryParams);
78595
+
78596
+ return _this13.routerService.transitionTo(expectedURL);
78597
+ }).then(function () {
78598
+ actualURL = _this13.routerService.get('currentURL') + '?foo=bar';
78599
+
78600
+ assert.equal(expectedURL, actualURL);
78601
+ });
78602
+ };
78603
+
78604
+ _class.prototype['@test RouterService#urlFor correctly transitions to route via generated path with dynamic segments and query params'] = function testRouterServiceUrlForCorrectlyTransitionsToRouteViaGeneratedPathWithDynamicSegmentsAndQueryParams(assert) {
78605
+ var _this14 = this;
78606
+
78607
+ assert.expect(1);
78608
+
78609
+ var expectedURL = undefined;
78610
+ var actualURL = undefined;
78611
+ var queryParams = buildQueryParams({ foo: 'bar' });
78612
+ var dynamicModel = { id: 1 };
78613
+
78614
+ this.registerRoute('dynamic', _emberRouting.Route.extend({
78615
+ model: function () {
78616
+ return dynamicModel;
78617
+ }
78618
+ }));
78619
+
78620
+ return this.visit('/').then(function () {
78621
+ expectedURL = _this14.routerService.urlFor('dynamic', dynamicModel, queryParams);
78622
+
78623
+ return _this14.routerService.transitionTo(expectedURL);
78624
+ }).then(function () {
78625
+ actualURL = _this14.routerService.get('currentURL') + '?foo=bar';
78626
+
78627
+ assert.equal(expectedURL, actualURL);
78628
+ });
78629
+ };
78630
+
78631
+ return _class;
78632
+ })(_internalTestHelpers.RouterTestCase));
78633
+ }
78634
+ });
78635
+ enifed('ember/tests/routing/router_service_test/urlFor_test.lint-test', ['exports'], function (exports) {
78636
+ 'use strict';
78637
+
78638
+ QUnit.module('ESLint | ember/tests/routing/router_service_test/urlFor_test.js');
78639
+ QUnit.test('should pass ESLint', function (assert) {
78640
+ assert.expect(1);
78641
+ assert.ok(true, 'ember/tests/routing/router_service_test/urlFor_test.js should pass ESLint\n\n');
78642
+ });
78643
+ });
77652
78644
  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) {
77653
78645
  'use strict';
77654
78646
 
@@ -79002,6 +79994,15 @@ enifed('internal-test-helpers/test-cases/rendering.lint-test', ['exports'], func
79002
79994
  assert.ok(true, 'internal-test-helpers/test-cases/rendering.js should pass ESLint\n\n');
79003
79995
  });
79004
79996
  });
79997
+ enifed('internal-test-helpers/test-cases/router.lint-test', ['exports'], function (exports) {
79998
+ 'use strict';
79999
+
80000
+ QUnit.module('ESLint | internal-test-helpers/test-cases/router.js');
80001
+ QUnit.test('should pass ESLint', function (assert) {
80002
+ assert.expect(1);
80003
+ assert.ok(true, 'internal-test-helpers/test-cases/router.js should pass ESLint\n\n');
80004
+ });
80005
+ });
79005
80006
  enifed('internal-test-helpers/test-groups.lint-test', ['exports'], function (exports) {
79006
80007
  'use strict';
79007
80008