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