ember-source 3.0.0.beta.1 → 3.0.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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 3.0.0-beta.1
9
+ * @version 3.0.0-beta.2
10
10
  */
11
11
 
12
12
  /*globals process */
@@ -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 3.0.0-beta.1
9
+ * @version 3.0.0-beta.2
10
10
  */
11
11
 
12
12
  /*globals process */
@@ -121,12 +121,6 @@ QUnit.test('should pass ESLint', function(assert) {
121
121
  assert.ok(true, 'alias.js should pass ESLint\n\n');
122
122
  });
123
123
 
124
- QUnit.module('ESLint | binding.js');
125
- QUnit.test('should pass ESLint', function(assert) {
126
- assert.expect(1);
127
- assert.ok(true, 'binding.js should pass ESLint\n\n');
128
- });
129
-
130
124
  QUnit.module('ESLint | cache.js');
131
125
  QUnit.test('should pass ESLint', function(assert) {
132
126
  assert.expect(1);
@@ -9472,81 +9466,6 @@ QUnit.test('should pass ESLint', function(assert) {
9472
9466
  assert.ok(true, 'ember-glimmer/tests/integration/application/rendering-test.js should pass ESLint\n\n');
9473
9467
  });
9474
9468
 
9475
- enifed('ember-glimmer/tests/integration/binding_integration_test', ['ember-babel', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/helpers', 'ember-metal'], function (_emberBabel, _testCase, _helpers, _emberMetal) {
9476
- 'use strict';
9477
-
9478
- (0, _testCase.moduleFor)('Binding integration tests', function (_RenderingTest) {
9479
- (0, _emberBabel.inherits)(_class, _RenderingTest);
9480
-
9481
- function _class() {
9482
- (0, _emberBabel.classCallCheck)(this, _class);
9483
- return (0, _emberBabel.possibleConstructorReturn)(this, _RenderingTest.apply(this, arguments));
9484
- }
9485
-
9486
- _class.prototype['@test should accept bindings as a string or an Ember.binding'] = function testShouldAcceptBindingsAsAStringOrAnEmberBinding() {
9487
- var _this2 = this;
9488
-
9489
- var FooBarComponent = _helpers.Component.extend({
9490
- twoWayTestBinding: _emberMetal.Binding.from('direction'),
9491
- stringTestBinding: 'direction',
9492
- twoWayObjectTestBinding: _emberMetal.Binding.from('displacement.distance'),
9493
- stringObjectTestBinding: 'displacement.distance'
9494
- });
9495
-
9496
- this.registerComponent('foo-bar', {
9497
- ComponentClass: FooBarComponent,
9498
- template: 'two way: {{twoWayTest}}, string: {{stringTest}}, object: {{twoWayObjectTest}}, string object: {{stringObjectTest}}'
9499
- });
9500
-
9501
- expectDeprecation(function () {
9502
- _this2.render('{{foo-bar direction=direction displacement=displacement}}', {
9503
- direction: 'down',
9504
- displacement: {
9505
- distance: 10
9506
- }
9507
- });
9508
- }, /`Ember\.Binding` is deprecated/);
9509
-
9510
- this.assertText('two way: down, string: down, object: 10, string object: 10');
9511
-
9512
- this.assertStableRerender();
9513
-
9514
- this.runTask(function () {
9515
- return (0, _emberMetal.set)(_this2.context, 'direction', 'up');
9516
- });
9517
-
9518
- this.assertText('two way: up, string: up, object: 10, string object: 10');
9519
-
9520
- this.runTask(function () {
9521
- return (0, _emberMetal.set)(_this2.context, 'displacement.distance', 20);
9522
- });
9523
-
9524
- this.assertText('two way: up, string: up, object: 20, string object: 20');
9525
-
9526
- this.runTask(function () {
9527
- (0, _emberMetal.set)(_this2.context, 'direction', 'right');
9528
- (0, _emberMetal.set)(_this2.context, 'displacement.distance', 30);
9529
- });
9530
-
9531
- this.assertText('two way: right, string: right, object: 30, string object: 30');
9532
-
9533
- this.runTask(function () {
9534
- (0, _emberMetal.set)(_this2.context, 'direction', 'down');
9535
- (0, _emberMetal.set)(_this2.context, 'displacement', { distance: 10 });
9536
- });
9537
-
9538
- this.assertText('two way: down, string: down, object: 10, string object: 10');
9539
- };
9540
-
9541
- return _class;
9542
- }(_testCase.RenderingTest));
9543
- });
9544
- QUnit.module('ESLint | ember-glimmer/tests/integration/binding_integration_test.js');
9545
- QUnit.test('should pass ESLint', function(assert) {
9546
- assert.expect(1);
9547
- assert.ok(true, 'ember-glimmer/tests/integration/binding_integration_test.js should pass ESLint\n\n');
9548
- });
9549
-
9550
9469
  enifed('ember-glimmer/tests/integration/components/append-test', ['ember-babel', 'ember-metal', 'ember-views', 'ember-glimmer/tests/utils/test-case', 'ember-glimmer/tests/utils/helpers', 'ember-glimmer/tests/utils/abstract-test-case'], function (_emberBabel, _emberMetal, _emberViews, _testCase, _helpers, _abstractTestCase) {
9551
9470
  'use strict';
9552
9471
 
@@ -33783,6 +33702,95 @@ QUnit.test('should pass ESLint', function(assert) {
33783
33702
  assert.ok(true, 'ember-glimmer/tests/integration/refinements-test.js should pass ESLint\n\n');
33784
33703
  });
33785
33704
 
33705
+ enifed('ember-glimmer/tests/integration/render-settled-test', ['ember-babel', 'internal-test-helpers', 'ember-glimmer', 'rsvp', 'ember-metal'], function (_emberBabel, _internalTestHelpers, _emberGlimmer, _rsvp, _emberMetal) {
33706
+ 'use strict';
33707
+
33708
+ var _templateObject = (0, _emberBabel.taggedTemplateLiteralLoose)(['{{foo}}'], ['{{foo}}']);
33709
+
33710
+ (0, _internalTestHelpers.moduleFor)('renderSettled', function (_RenderingTestCase) {
33711
+ (0, _emberBabel.inherits)(_class, _RenderingTestCase);
33712
+
33713
+ function _class() {
33714
+ (0, _emberBabel.classCallCheck)(this, _class);
33715
+ return (0, _emberBabel.possibleConstructorReturn)(this, _RenderingTestCase.apply(this, arguments));
33716
+ }
33717
+
33718
+ _class.prototype['@test resolves when no rendering is happening'] = function testResolvesWhenNoRenderingIsHappening(assert) {
33719
+ return (0, _emberGlimmer.renderSettled)().then(function () {
33720
+ assert.ok(true, 'resolved even without rendering');
33721
+ });
33722
+ };
33723
+
33724
+ _class.prototype['@test resolves renderers exist but no runloops are triggered'] = function testResolvesRenderersExistButNoRunloopsAreTriggered(assert) {
33725
+ this.render((0, _internalTestHelpers.strip)(_templateObject), { foo: 'bar' });
33726
+
33727
+ return (0, _emberGlimmer.renderSettled)().then(function () {
33728
+ assert.ok(true, 'resolved even without runloops');
33729
+ });
33730
+ };
33731
+
33732
+ _class.prototype['@test does not create extraneous promises'] = function testDoesNotCreateExtraneousPromises(assert) {
33733
+ var first = (0, _emberGlimmer.renderSettled)();
33734
+ var second = (0, _emberGlimmer.renderSettled)();
33735
+
33736
+ assert.strictEqual(first, second);
33737
+
33738
+ return (0, _rsvp.all)([first, second]);
33739
+ };
33740
+
33741
+ _class.prototype['@test resolves when rendering has completed (after property update)'] = function testResolvesWhenRenderingHasCompletedAfterPropertyUpdate() {
33742
+ var _this2 = this;
33743
+
33744
+ this.render((0, _internalTestHelpers.strip)(_templateObject), { foo: 'bar' });
33745
+
33746
+ this.assertText('bar');
33747
+ this.component.set('foo', 'baz');
33748
+ this.assertText('bar');
33749
+
33750
+ return (0, _emberGlimmer.renderSettled)().then(function () {
33751
+ _this2.assertText('baz');
33752
+ });
33753
+ };
33754
+
33755
+ _class.prototype['@test resolves in run loop when renderer has settled'] = function testResolvesInRunLoopWhenRendererHasSettled(assert) {
33756
+ var _this3 = this;
33757
+
33758
+ assert.expect(3);
33759
+
33760
+ this.render((0, _internalTestHelpers.strip)(_templateObject), { foo: 'bar' });
33761
+
33762
+ this.assertText('bar');
33763
+ var promise = void 0;
33764
+
33765
+ return (0, _emberMetal.run)(function () {
33766
+ _emberMetal.run.schedule('actions', null, function () {
33767
+ _this3.component.set('foo', 'set in actions');
33768
+
33769
+ promise = (0, _emberGlimmer.renderSettled)().then(function () {
33770
+ _this3.assertText('set in afterRender');
33771
+ });
33772
+
33773
+ _emberMetal.run.schedule('afterRender', null, function () {
33774
+ _this3.component.set('foo', 'set in afterRender');
33775
+ });
33776
+ });
33777
+
33778
+ // still not updated here
33779
+ _this3.assertText('bar');
33780
+
33781
+ return promise;
33782
+ });
33783
+ };
33784
+
33785
+ return _class;
33786
+ }(_internalTestHelpers.RenderingTestCase));
33787
+ });
33788
+ QUnit.module('ESLint | ember-glimmer/tests/integration/render-settled-test.js');
33789
+ QUnit.test('should pass ESLint', function(assert) {
33790
+ assert.expect(1);
33791
+ assert.ok(true, 'ember-glimmer/tests/integration/render-settled-test.js should pass ESLint\n\n');
33792
+ });
33793
+
33786
33794
  enifed('ember-glimmer/tests/integration/svg-test', ['ember-babel', 'ember-glimmer/tests/utils/test-case', 'ember-metal', 'ember-glimmer/tests/utils/abstract-test-case'], function (_emberBabel, _testCase, _emberMetal, _abstractTestCase) {
33787
33795
  'use strict';
33788
33796
 
@@ -38364,12 +38372,6 @@ QUnit.test('should pass ESLint', function(assert) {
38364
38372
  assert.ok(true, 'ember-metal/lib/alias.js should pass ESLint\n\n');
38365
38373
  });
38366
38374
 
38367
- QUnit.module('ESLint | ember-metal/lib/binding.js');
38368
- QUnit.test('should pass ESLint', function(assert) {
38369
- assert.expect(1);
38370
- assert.ok(true, 'ember-metal/lib/binding.js should pass ESLint\n\n');
38371
- });
38372
-
38373
38375
  QUnit.module('ESLint | ember-metal/lib/cache.js');
38374
38376
  QUnit.test('should pass ESLint', function(assert) {
38375
38377
  assert.expect(1);
@@ -39799,327 +39801,6 @@ QUnit.test('should pass ESLint', function(assert) {
39799
39801
  assert.ok(true, 'ember-metal/tests/alias_test.js should pass ESLint\n\n');
39800
39802
  });
39801
39803
 
39802
- enifed('ember-metal/tests/binding/connect_test', ['ember-environment', 'internal-test-helpers', 'ember-metal'], function (_emberEnvironment, _internalTestHelpers, _emberMetal) {
39803
- 'use strict';
39804
-
39805
- function performTest(binding, a, b, get, set, connect) {
39806
- if (connect === undefined) {
39807
- connect = function () {
39808
- return binding.connect(a);
39809
- };
39810
- }
39811
-
39812
- ok(!_emberMetal.run.currentRunLoop, 'performTest should not have a currentRunLoop');
39813
-
39814
- equal(get(a, 'foo'), 'FOO', 'a should not have changed');
39815
- equal(get(b, 'bar'), 'BAR', 'b should not have changed');
39816
-
39817
- connect();
39818
-
39819
- equal(get(a, 'foo'), 'BAR', 'a should have changed');
39820
- equal(get(b, 'bar'), 'BAR', 'b should have changed');
39821
- //
39822
- // make sure changes sync both ways
39823
- (0, _emberMetal.run)(function () {
39824
- return set(b, 'bar', 'BAZZ');
39825
- });
39826
- equal(get(a, 'foo'), 'BAZZ', 'a should have changed');
39827
-
39828
- (0, _emberMetal.run)(function () {
39829
- return set(a, 'foo', 'BARF');
39830
- });
39831
- equal(get(b, 'bar'), 'BARF', 'a should have changed');
39832
- }
39833
-
39834
- var originalLookup = void 0,
39835
- lookup = void 0,
39836
- GlobalB = void 0;
39837
-
39838
- QUnit.module('Ember.Binding', {
39839
- setup: function () {
39840
- originalLookup = _emberEnvironment.context.lookup;
39841
- _emberEnvironment.context.lookup = lookup = {};
39842
- },
39843
- teardown: function () {
39844
- lookup = null;
39845
- _emberEnvironment.context.lookup = originalLookup;
39846
- }
39847
- });
39848
-
39849
- (0, _internalTestHelpers.testBoth)('Connecting a binding between two properties', function (get, set) {
39850
- var a = { foo: 'FOO', bar: 'BAR' };
39851
-
39852
- // a.bar -> a.foo
39853
- var binding = new _emberMetal.Binding('foo', 'bar');
39854
-
39855
- expectDeprecation(function () {
39856
- performTest(binding, a, a, get, set);
39857
- }, /`Ember\.Binding` is deprecated./);
39858
- });
39859
-
39860
- (0, _internalTestHelpers.testBoth)('Connecting a oneWay binding raises a deprecation', function () {
39861
- var a = { foo: 'FOO', bar: 'BAR', toString: function () {
39862
- return '<custom object ID here>';
39863
- }
39864
- };
39865
-
39866
- // a.bar -> a.foo
39867
- var binding = new _emberMetal.Binding('foo', 'bar').oneWay();
39868
-
39869
- expectDeprecation(function () {
39870
- binding.connect(a);
39871
- }, /`Ember.Binding` is deprecated/);
39872
- });
39873
-
39874
- (0, _internalTestHelpers.testBoth)('Connecting a binding between two objects', function (get, set) {
39875
- var b = { bar: 'BAR' };
39876
- var a = { foo: 'FOO', b: b };
39877
-
39878
- // b.bar -> a.foo
39879
- var binding = new _emberMetal.Binding('foo', 'b.bar');
39880
-
39881
- expectDeprecation(function () {
39882
- performTest(binding, a, b, get, set);
39883
- }, /`Ember\.Binding` is deprecated./);
39884
- });
39885
-
39886
- (0, _internalTestHelpers.testBoth)('Connecting a binding to path', function (get, set) {
39887
- var a = { foo: 'FOO' };
39888
- lookup['GlobalB'] = GlobalB = {
39889
- b: { bar: 'BAR' }
39890
- };
39891
-
39892
- var b = get(GlobalB, 'b');
39893
-
39894
- // globalB.b.bar -> a.foo
39895
- var binding = new _emberMetal.Binding('foo', 'GlobalB.b.bar');
39896
-
39897
- expectDeprecation(function () {
39898
- performTest(binding, a, b, get, set);
39899
- }, /`Ember\.Binding` is deprecated./);
39900
-
39901
- // make sure modifications update
39902
- b = { bar: 'BIFF' };
39903
-
39904
- (0, _emberMetal.run)(function () {
39905
- return set(GlobalB, 'b', b);
39906
- });
39907
-
39908
- equal(get(a, 'foo'), 'BIFF', 'a should have changed');
39909
- });
39910
-
39911
- (0, _internalTestHelpers.testBoth)('Calling connect more than once', function (get, set) {
39912
- var b = { bar: 'BAR' };
39913
- var a = { foo: 'FOO', b: b };
39914
-
39915
- // b.bar -> a.foo
39916
- var binding = new _emberMetal.Binding('foo', 'b.bar');
39917
-
39918
- expectDeprecation(function () {
39919
- performTest(binding, a, b, get, set, function () {
39920
- binding.connect(a);
39921
- binding.connect(a);
39922
- });
39923
- }, /`Ember\.Binding` is deprecated./);
39924
- });
39925
-
39926
- QUnit.test('inherited bindings should sync on create', function () {
39927
- var a = void 0;
39928
- (0, _emberMetal.run)(function () {
39929
- function A() {
39930
- (0, _emberMetal.bind)(this, 'foo', 'bar.baz');
39931
- }
39932
-
39933
- expectDeprecation(function () {
39934
- return a = new A();
39935
- }, /`Ember\.Binding` is deprecated/);
39936
-
39937
- (0, _emberMetal.set)(a, 'bar', { baz: 'BAZ' });
39938
- });
39939
-
39940
- equal((0, _emberMetal.get)(a, 'foo'), 'BAZ', 'should have synced binding on new obj');
39941
- });
39942
- });
39943
- QUnit.module('ESLint | ember-metal/tests/binding/connect_test.js');
39944
- QUnit.test('should pass ESLint', function(assert) {
39945
- assert.expect(1);
39946
- assert.ok(true, 'ember-metal/tests/binding/connect_test.js should pass ESLint\n\n');
39947
- });
39948
-
39949
- enifed('ember-metal/tests/binding/sync_test', ['internal-test-helpers', 'ember-metal'], function (_internalTestHelpers, _emberMetal) {
39950
- 'use strict';
39951
-
39952
- QUnit.module('system/binding/sync_test.js');
39953
-
39954
- (0, _internalTestHelpers.testBoth)('bindings should not sync twice in a single run loop', function (get, set) {
39955
- var a = void 0,
39956
- b = void 0,
39957
- setValue = void 0;
39958
- var setCalled = 0;
39959
- var getCalled = 0;
39960
-
39961
- (0, _emberMetal.run)(function () {
39962
- a = {};
39963
-
39964
- (0, _emberMetal.defineProperty)(a, 'foo', (0, _emberMetal.computed)({
39965
- get: function () {
39966
- getCalled++;
39967
- return setValue;
39968
- },
39969
- set: function (key, value) {
39970
- setCalled++;
39971
- (0, _emberMetal.propertyWillChange)(this, key);
39972
- setValue = value;
39973
- (0, _emberMetal.propertyDidChange)(this, key);
39974
- return value;
39975
- }
39976
- }).volatile());
39977
-
39978
- b = {
39979
- a: a
39980
- };
39981
-
39982
- expectDeprecation(function () {
39983
- return (0, _emberMetal.bind)(b, 'foo', 'a.foo');
39984
- }, /`Ember.Binding` is deprecated/);
39985
- });
39986
-
39987
- // reset after initial binding synchronization
39988
- getCalled = 0;
39989
-
39990
- (0, _emberMetal.run)(function () {
39991
- set(a, 'foo', 'trollface');
39992
- });
39993
-
39994
- equal(get(b, 'foo'), 'trollface', 'the binding should sync');
39995
- equal(setCalled, 1, 'Set should only be called once');
39996
- equal(getCalled, 1, 'Get should only be called once');
39997
- });
39998
-
39999
- (0, _internalTestHelpers.testBoth)('bindings should not infinite loop if computed properties return objects', function (get) {
40000
- var a = void 0,
40001
- b = void 0;
40002
- var getCalled = 0;
40003
-
40004
- (0, _emberMetal.run)(function () {
40005
- a = {};
40006
-
40007
- (0, _emberMetal.defineProperty)(a, 'foo', (0, _emberMetal.computed)(function () {
40008
- getCalled++;
40009
- if (getCalled > 1000) {
40010
- throw 'infinite loop detected';
40011
- }
40012
- return ['foo', 'bar'];
40013
- }));
40014
-
40015
- b = {
40016
- a: a
40017
- };
40018
-
40019
- expectDeprecation(function () {
40020
- return (0, _emberMetal.bind)(b, 'foo', 'a.foo');
40021
- }, /`Ember.Binding` is deprecated/);
40022
- });
40023
-
40024
- deepEqual(get(b, 'foo'), ['foo', 'bar'], 'the binding should sync');
40025
- equal(getCalled, 1, 'Get should only be called once');
40026
- });
40027
-
40028
- (0, _internalTestHelpers.testBoth)('bindings should do the right thing when observers trigger bindings in the opposite direction', function (get, set) {
40029
- var a = void 0,
40030
- b = void 0,
40031
- c = void 0;
40032
-
40033
- (0, _emberMetal.run)(function () {
40034
- a = {
40035
- foo: 'trololol'
40036
- };
40037
-
40038
- b = {
40039
- a: a
40040
- };
40041
-
40042
- var deprecationMessage = /`Ember.Binding` is deprecated/;
40043
-
40044
- expectDeprecation(function () {
40045
- return (0, _emberMetal.bind)(b, 'foo', 'a.foo');
40046
- }, deprecationMessage);
40047
-
40048
- c = {
40049
- a: a
40050
- };
40051
-
40052
- expectDeprecation(function () {
40053
- (0, _emberMetal.bind)(c, 'foo', 'a.foo');
40054
- }, deprecationMessage);
40055
- });
40056
-
40057
- (0, _emberMetal.addObserver)(b, 'foo', function () {
40058
- return set(c, 'foo', 'what is going on');
40059
- });
40060
-
40061
- (0, _emberMetal.run)(function () {
40062
- return set(a, 'foo', 'trollface');
40063
- });
40064
-
40065
- equal(get(a, 'foo'), 'what is going on');
40066
- });
40067
-
40068
- (0, _internalTestHelpers.testBoth)('bindings should not try to sync destroyed objects', function (get, set) {
40069
- var a = void 0,
40070
- b = void 0;
40071
-
40072
- (0, _emberMetal.run)(function () {
40073
- a = {
40074
- foo: 'trololol'
40075
- };
40076
-
40077
- b = {
40078
- a: a
40079
- };
40080
-
40081
- var deprecationMessage = /`Ember.Binding` is deprecated/;
40082
-
40083
- expectDeprecation(function () {
40084
- return (0, _emberMetal.bind)(b, 'foo', 'a.foo');
40085
- }, deprecationMessage);
40086
- });
40087
-
40088
- (0, _emberMetal.run)(function () {
40089
- set(a, 'foo', 'trollface');
40090
- set(b, 'isDestroyed', true);
40091
- ok(true, 'should not raise');
40092
- });
40093
-
40094
- (0, _emberMetal.run)(function () {
40095
- a = {
40096
- foo: 'trololol'
40097
- };
40098
-
40099
- b = {
40100
- a: a
40101
- };
40102
-
40103
- var deprecationMessage = /`Ember.Binding` is deprecated/;
40104
-
40105
- expectDeprecation(function () {
40106
- return (0, _emberMetal.bind)(b, 'foo', 'a.foo');
40107
- }, deprecationMessage);
40108
- });
40109
-
40110
- (0, _emberMetal.run)(function () {
40111
- set(b, 'foo', 'trollface');
40112
- set(a, 'isDestroyed', true);
40113
- ok(true, 'should not raise');
40114
- });
40115
- });
40116
- });
40117
- QUnit.module('ESLint | ember-metal/tests/binding/sync_test.js');
40118
- QUnit.test('should pass ESLint', function(assert) {
40119
- assert.expect(1);
40120
- assert.ok(true, 'ember-metal/tests/binding/sync_test.js should pass ESLint\n\n');
40121
- });
40122
-
40123
39804
  enifed('ember-metal/tests/cache_test', ['ember-metal'], function (_emberMetal) {
40124
39805
  'use strict';
40125
39806
 
@@ -52580,62 +52261,6 @@ QUnit.test('should pass ESLint', function(assert) {
52580
52261
  assert.ok(true, 'ember-runtime/tests/ext/function_test.js should pass ESLint\n\n');
52581
52262
  });
52582
52263
 
52583
- enifed('ember-runtime/tests/ext/mixin_test', ['ember-metal'], function (_emberMetal) {
52584
- 'use strict';
52585
-
52586
- QUnit.module('system/mixin/binding_test');
52587
-
52588
- QUnit.test('Defining a property ending in Binding should setup binding when applied', function () {
52589
- var MyMixin = _emberMetal.Mixin.create({
52590
- fooBinding: 'bar.baz'
52591
- });
52592
-
52593
- var obj = { bar: { baz: 'BIFF' } };
52594
-
52595
- (0, _emberMetal.run)(function () {
52596
- var deprecationMessage = /`Ember.Binding` is deprecated/;
52597
-
52598
- expectDeprecation(function () {
52599
- MyMixin.apply(obj);
52600
- }, deprecationMessage);
52601
- });
52602
-
52603
- ok((0, _emberMetal.get)(obj, 'fooBinding') instanceof _emberMetal.Binding, 'should be a binding object');
52604
- equal((0, _emberMetal.get)(obj, 'foo'), 'BIFF', 'binding should be created and synced');
52605
- });
52606
-
52607
- QUnit.test('Defining a property ending in Binding should apply to prototype children', function () {
52608
- var MyMixin = (0, _emberMetal.run)(function () {
52609
- return _emberMetal.Mixin.create({
52610
- fooBinding: 'bar.baz'
52611
- });
52612
- });
52613
-
52614
- var obj = { bar: { baz: 'BIFF' } };
52615
-
52616
- (0, _emberMetal.run)(function () {
52617
- var deprecationMessage = /`Ember.Binding` is deprecated/;
52618
-
52619
- expectDeprecation(function () {
52620
- MyMixin.apply(obj);
52621
- }, deprecationMessage);
52622
- });
52623
-
52624
- var obj2 = Object.create(obj);
52625
- (0, _emberMetal.run)(function () {
52626
- return (0, _emberMetal.set)((0, _emberMetal.get)(obj2, 'bar'), 'baz', 'BARG');
52627
- });
52628
-
52629
- ok((0, _emberMetal.get)(obj2, 'fooBinding') instanceof _emberMetal.Binding, 'should be a binding object');
52630
- equal((0, _emberMetal.get)(obj2, 'foo'), 'BARG', 'binding should be created and synced');
52631
- });
52632
- });
52633
- QUnit.module('ESLint | ember-runtime/tests/ext/mixin_test.js');
52634
- QUnit.test('should pass ESLint', function(assert) {
52635
- assert.expect(1);
52636
- assert.ok(true, 'ember-runtime/tests/ext/mixin_test.js should pass ESLint\n\n');
52637
- });
52638
-
52639
52264
  enifed('ember-runtime/tests/ext/rsvp_test', ['ember-metal', 'ember-runtime/ext/rsvp', 'ember-debug'], function (_emberMetal, _rsvp, _emberDebug) {
52640
52265
  'use strict';
52641
52266
 
@@ -53048,7 +52673,6 @@ enifed('ember-runtime/tests/legacy_1x/mixins/observable/observable_test', ['embe
53048
52673
  rule on using capital letters for property paths.
53049
52674
  * Removed test passing context to addObserver. context param is no longer
53050
52675
  supported.
53051
- * Changed calls to Ember.Binding.flushPendingChanges() -> run.sync()
53052
52676
  * removed test in observer around line 862 that expected key/value to be
53053
52677
  the last item in the chained path. Should be root and chained path
53054
52678
 
@@ -53541,45 +53165,6 @@ enifed('ember-runtime/tests/legacy_1x/mixins/observable/observable_test', ['embe
53541
53165
  equal(depObj.get('menuPrice'), 6, 'cache is properly invalidated after nested property changes');
53542
53166
  });
53543
53167
 
53544
- QUnit.test('nested dependent keys should propagate after they update', function () {
53545
- var bindObj;
53546
- (0, _emberMetal.run)(function () {
53547
- lookup.DepObj = ObservableObject.extend({
53548
- price: (0, _emberMetal.computed)(function () {
53549
- return this.get('restaurant.menu.price');
53550
- }).property('restaurant.menu.price')
53551
- }).create({
53552
- restaurant: ObservableObject.create({
53553
- menu: ObservableObject.create({
53554
- price: 5
53555
- })
53556
- })
53557
- });
53558
-
53559
- expectDeprecation(function () {
53560
- bindObj = ObservableObject.extend({
53561
- priceBinding: 'DepObj.price'
53562
- }).create();
53563
- }, /`Ember.Binding` is deprecated/);
53564
- });
53565
-
53566
- equal(bindObj.get('price'), 5, 'precond - binding propagates');
53567
-
53568
- (0, _emberMetal.run)(function () {
53569
- lookup.DepObj.set('restaurant.menu.price', 10);
53570
- });
53571
-
53572
- equal(bindObj.get('price'), 10, 'binding propagates after a nested dependent keys updates');
53573
-
53574
- (0, _emberMetal.run)(function () {
53575
- lookup.DepObj.set('restaurant.menu', ObservableObject.create({
53576
- price: 15
53577
- }));
53578
- });
53579
-
53580
- equal(bindObj.get('price'), 15, 'binding propagates after a middle dependent keys updates');
53581
- });
53582
-
53583
53168
  QUnit.test('cacheable nested dependent keys should clear after their dependencies update', function () {
53584
53169
  ok(true);
53585
53170
 
@@ -53855,73 +53440,6 @@ enifed('ember-runtime/tests/legacy_1x/mixins/observable/observable_test', ['embe
53855
53440
  }
53856
53441
  equal(encounteredError, false);
53857
53442
  });
53858
-
53859
- QUnit.module('Bind function', {
53860
- setup: function () {
53861
- objectA = ObservableObject.create({
53862
- name: 'Sproutcore',
53863
- location: 'Timbaktu'
53864
- });
53865
-
53866
- objectB = ObservableObject.create({
53867
- normal: 'value',
53868
- computed: function () {
53869
- this.normal = 'newValue';
53870
- }
53871
- });
53872
-
53873
- lookup = _emberEnvironment.context.lookup = {
53874
- 'Namespace': {
53875
- objectA: objectA,
53876
- objectB: objectB
53877
- }
53878
- };
53879
- },
53880
- teardown: function () {
53881
- _emberEnvironment.context.lookup = originalLookup;
53882
- }
53883
- });
53884
-
53885
- QUnit.test('should bind property with method parameter as undefined', function () {
53886
- // creating binding
53887
- (0, _emberMetal.run)(function () {
53888
- expectDeprecation(function () {
53889
- objectA.bind('name', 'Namespace.objectB.normal', undefined);
53890
- }, /`Ember.Binding` is deprecated/);
53891
- });
53892
-
53893
- // now make a change to see if the binding triggers.
53894
- (0, _emberMetal.run)(function () {
53895
- objectB.set('normal', 'changedValue');
53896
- });
53897
-
53898
- // support new-style bindings if available
53899
- equal('changedValue', objectA.get('name'), 'objectA.name is bound');
53900
- });
53901
-
53902
- // ..........................................................
53903
- // SPECIAL CASES
53904
- //
53905
-
53906
- QUnit.test('changing chained observer object to null should not raise exception', function () {
53907
- var obj = ObservableObject.create({
53908
- foo: ObservableObject.create({
53909
- bar: ObservableObject.create({ bat: 'BAT' })
53910
- })
53911
- });
53912
-
53913
- var callCount = 0;
53914
- obj.foo.addObserver('bar.bat', obj, function () {
53915
- callCount++;
53916
- });
53917
-
53918
- (0, _emberMetal.run)(function () {
53919
- obj.foo.set('bar', null);
53920
- });
53921
-
53922
- equal(callCount, 1, 'changing bar should trigger observer');
53923
- expect(1);
53924
- });
53925
53443
  });
53926
53444
  QUnit.module('ESLint | ember-runtime/tests/legacy_1x/mixins/observable/observable_test.js');
53927
53445
  QUnit.test('should pass ESLint', function(assert) {
@@ -54124,319 +53642,6 @@ QUnit.test('should pass ESLint', function(assert) {
54124
53642
  assert.ok(true, 'ember-runtime/tests/legacy_1x/mixins/observable/propertyChanges_test.js should pass ESLint\n\n');
54125
53643
  });
54126
53644
 
54127
- enifed('ember-runtime/tests/legacy_1x/system/binding_test', ['ember-environment', 'ember-metal', 'ember-runtime/system/object'], function (_emberEnvironment, _emberMetal, _object) {
54128
- 'use strict';
54129
-
54130
- /*
54131
- NOTE: This test is adapted from the 1.x series of unit tests. The tests
54132
- are the same except for places where we intend to break the API we instead
54133
- validate that we warn the developer appropriately.
54134
-
54135
- CHANGES FROM 1.6:
54136
-
54137
- * All calls to run.sync() were changed to
54138
- run.sync()
54139
-
54140
- * Bindings no longer accept a root object as their second param. Instead
54141
- our test binding objects were put under a single object they could
54142
- originate from.
54143
-
54144
- * tests that inspected internal properties were removed.
54145
-
54146
- * converted foo.get/foo.set to use get/Ember.set
54147
-
54148
- * Removed tests for Binding.isConnected. Since binding instances are now
54149
- shared this property no longer makes sense.
54150
-
54151
- * Changed call calls for obj.bind(...) to bind(obj, ...);
54152
-
54153
- * Changed all calls to sc_super() to this._super(...arguments)
54154
-
54155
- * Changed all calls to disconnect() to pass the root object.
54156
-
54157
- * removed calls to Binding.destroy() as that method is no longer useful
54158
- (or defined)
54159
-
54160
- * changed use of T_STRING to 'string'
54161
- */
54162
-
54163
- // ========================================================================
54164
- // Binding Tests
54165
- // ========================================================================
54166
-
54167
- var TestNamespace = void 0,
54168
- fromObject = void 0,
54169
- toObject = void 0,
54170
- binding = void 0,
54171
- Bon1 = void 0,
54172
- bon2 = void 0,
54173
- root = void 0; // global variables
54174
- var originalLookup = _emberEnvironment.context.lookup;
54175
- var lookup = void 0;
54176
-
54177
- QUnit.module('basic object binding', {
54178
- setup: function () {
54179
- fromObject = _object.default.create({ value: 'start' });
54180
- toObject = _object.default.create({ value: 'end' });
54181
- root = { fromObject: fromObject, toObject: toObject };
54182
- (0, _emberMetal.run)(function () {
54183
- expectDeprecation(function () {
54184
- binding = (0, _emberMetal.bind)(root, 'toObject.value', 'fromObject.value');
54185
- }, /`Ember\.Binding` is deprecated./);
54186
- });
54187
- }
54188
- });
54189
-
54190
- QUnit.test('binding should have synced on connect', function () {
54191
- equal((0, _emberMetal.get)(toObject, 'value'), 'start', 'toObject.value should match fromObject.value');
54192
- });
54193
-
54194
- QUnit.test('fromObject change should propagate to toObject only after flush', function () {
54195
- (0, _emberMetal.run)(function () {
54196
- (0, _emberMetal.set)(fromObject, 'value', 'change');
54197
- equal((0, _emberMetal.get)(toObject, 'value'), 'start');
54198
- });
54199
- equal((0, _emberMetal.get)(toObject, 'value'), 'change');
54200
- });
54201
-
54202
- QUnit.test('toObject change should propagate to fromObject only after flush', function () {
54203
- (0, _emberMetal.run)(function () {
54204
- (0, _emberMetal.set)(toObject, 'value', 'change');
54205
- equal((0, _emberMetal.get)(fromObject, 'value'), 'start');
54206
- });
54207
- equal((0, _emberMetal.get)(fromObject, 'value'), 'change');
54208
- });
54209
-
54210
- QUnit.test('deferred observing during bindings', function () {
54211
- // setup special binding
54212
- fromObject = _object.default.create({
54213
- value1: 'value1',
54214
- value2: 'value2'
54215
- });
54216
-
54217
- toObject = _object.default.extend({
54218
- observer: (0, _emberMetal.observer)('value1', 'value2', function () {
54219
- equal((0, _emberMetal.get)(this, 'value1'), 'CHANGED', 'value1 when observer fires');
54220
- equal((0, _emberMetal.get)(this, 'value2'), 'CHANGED', 'value2 when observer fires');
54221
- this.callCount++;
54222
- })
54223
- }).create({
54224
- value1: 'value1',
54225
- value2: 'value2',
54226
-
54227
- callCount: 0
54228
- });
54229
-
54230
- var root = { fromObject: fromObject, toObject: toObject };
54231
- (0, _emberMetal.run)(function () {
54232
- expectDeprecation(function () {
54233
- (0, _emberMetal.bind)(root, 'toObject.value1', 'fromObject.value1');
54234
- }, /`Ember\.Binding` is deprecated./);
54235
-
54236
- expectDeprecation(function () {
54237
- (0, _emberMetal.bind)(root, 'toObject.value2', 'fromObject.value2');
54238
- }, /`Ember\.Binding` is deprecated./);
54239
-
54240
- // change both value1 + value2, then flush bindings. observer should only
54241
- // fire after bindings are done flushing.
54242
- (0, _emberMetal.set)(fromObject, 'value1', 'CHANGED');
54243
- (0, _emberMetal.set)(fromObject, 'value2', 'CHANGED');
54244
- });
54245
-
54246
- equal(toObject.callCount, 2, 'should call observer twice');
54247
- });
54248
-
54249
- QUnit.test('binding disconnection actually works', function () {
54250
- binding.disconnect(root);
54251
- (0, _emberMetal.run)(function () {
54252
- (0, _emberMetal.set)(fromObject, 'value', 'change');
54253
- });
54254
- equal((0, _emberMetal.get)(toObject, 'value'), 'start');
54255
- });
54256
-
54257
- var first = void 0,
54258
- second = void 0,
54259
- third = void 0; // global variables
54260
-
54261
- // ..........................................................
54262
- // chained binding
54263
- //
54264
-
54265
- QUnit.module('chained binding', {
54266
- setup: function () {
54267
- (0, _emberMetal.run)(function () {
54268
- first = _object.default.create({ output: 'first' });
54269
-
54270
- second = _object.default.extend({
54271
- inputDidChange: (0, _emberMetal.observer)('input', function () {
54272
- (0, _emberMetal.set)(this, 'output', (0, _emberMetal.get)(this, 'input'));
54273
- })
54274
- }).create({
54275
- input: 'second',
54276
- output: 'second'
54277
- });
54278
-
54279
- third = _object.default.create({ input: 'third' });
54280
-
54281
- root = { first: first, second: second, third: third };
54282
-
54283
- expectDeprecation(function () {
54284
- (0, _emberMetal.bind)(root, 'second.input', 'first.output');
54285
- }, /`Ember\.Binding` is deprecated./);
54286
-
54287
- expectDeprecation(function () {
54288
- (0, _emberMetal.bind)(root, 'second.output', 'third.input');
54289
- }, /`Ember\.Binding` is deprecated./);
54290
- });
54291
- },
54292
- teardown: function () {
54293
- _emberMetal.run.cancelTimers();
54294
- }
54295
- });
54296
-
54297
- QUnit.test('changing first output should propagate to third after flush', function () {
54298
- (0, _emberMetal.run)(function () {
54299
- (0, _emberMetal.set)(first, 'output', 'change');
54300
- equal('change', (0, _emberMetal.get)(first, 'output'), 'first.output');
54301
- ok('change' !== (0, _emberMetal.get)(third, 'input'), 'third.input');
54302
- });
54303
-
54304
- equal('change', (0, _emberMetal.get)(first, 'output'), 'first.output');
54305
- equal('change', (0, _emberMetal.get)(second, 'input'), 'second.input');
54306
- equal('change', (0, _emberMetal.get)(second, 'output'), 'second.output');
54307
- equal('change', (0, _emberMetal.get)(third, 'input'), 'third.input');
54308
- });
54309
-
54310
- // ..........................................................
54311
- // Custom Binding
54312
- //
54313
-
54314
- QUnit.module('Custom Binding', {
54315
- setup: function () {
54316
- _emberEnvironment.context.lookup = lookup = {};
54317
-
54318
- Bon1 = _object.default.extend({
54319
- value1: 'hi',
54320
- value2: 83,
54321
- array1: []
54322
- });
54323
-
54324
- bon2 = _object.default.create({
54325
- val1: 'hello',
54326
- val2: 25,
54327
- arr: [1, 2, 3, 4]
54328
- });
54329
-
54330
- _emberEnvironment.context.lookup['TestNamespace'] = TestNamespace = {
54331
- bon2: bon2,
54332
- Bon1: Bon1
54333
- };
54334
- },
54335
- teardown: function () {
54336
- _emberEnvironment.context.lookup = originalLookup;
54337
- Bon1 = bon2 = TestNamespace = null;
54338
- _emberMetal.run.cancelTimers();
54339
- }
54340
- });
54341
-
54342
- QUnit.test('two bindings to the same value should sync in the order they are initialized', function () {
54343
- _emberMetal.run.begin();
54344
-
54345
- var a = _object.default.create({
54346
- foo: 'bar'
54347
- });
54348
-
54349
- var b = _object.default.extend({
54350
- C: _object.default.extend({
54351
- foo: 'bee',
54352
- fooBinding: 'owner.foo'
54353
- }),
54354
-
54355
- init: function () {
54356
- this._super.apply(this, arguments);
54357
- (0, _emberMetal.set)(this, 'c', this.C.create({ owner: this }));
54358
- }
54359
- });
54360
-
54361
- expectDeprecation(function () {
54362
- b = b.create({
54363
- foo: 'baz',
54364
- fooBinding: 'a.foo',
54365
- a: a
54366
- });
54367
- }, /`Ember\.Binding` is deprecated./);
54368
-
54369
- _emberMetal.run.end();
54370
-
54371
- equal((0, _emberMetal.get)(a, 'foo'), 'bar', 'a.foo should not change');
54372
- equal((0, _emberMetal.get)(b, 'foo'), 'bar', 'a.foo should propagate up to b.foo');
54373
- equal((0, _emberMetal.get)(b.c, 'foo'), 'bar', 'a.foo should propagate up to b.c.foo');
54374
- });
54375
-
54376
- // ..........................................................
54377
- // propertyNameBinding with longhand
54378
- //
54379
-
54380
- QUnit.module('propertyNameBinding with longhand', {
54381
- setup: function () {
54382
- _emberEnvironment.context.lookup = lookup = {};
54383
-
54384
- lookup['TestNamespace'] = TestNamespace = {};
54385
- (0, _emberMetal.run)(function () {
54386
- TestNamespace.fromObject = _object.default.create({
54387
- value: 'originalValue'
54388
- });
54389
-
54390
- expectDeprecation(function () {
54391
- TestNamespace.toObject = _object.default.extend({
54392
- valueBinding: _emberMetal.Binding.from('TestNamespace.fromObject.value'),
54393
- relativeBinding: _emberMetal.Binding.from('localValue')
54394
- }).create({
54395
- localValue: 'originalLocal'
54396
- });
54397
- }, /`Ember\.Binding` is deprecated./);
54398
- });
54399
- },
54400
- teardown: function () {
54401
- TestNamespace = undefined;
54402
- _emberEnvironment.context.lookup = originalLookup;
54403
- }
54404
- });
54405
-
54406
- QUnit.test('works with full path', function () {
54407
- (0, _emberMetal.run)(function () {
54408
- return (0, _emberMetal.set)(TestNamespace.fromObject, 'value', 'updatedValue');
54409
- });
54410
-
54411
- equal((0, _emberMetal.get)(TestNamespace.toObject, 'value'), 'updatedValue');
54412
-
54413
- (0, _emberMetal.run)(function () {
54414
- return (0, _emberMetal.set)(TestNamespace.fromObject, 'value', 'newerValue');
54415
- });
54416
-
54417
- equal((0, _emberMetal.get)(TestNamespace.toObject, 'value'), 'newerValue');
54418
- });
54419
-
54420
- QUnit.test('works with local path', function () {
54421
- (0, _emberMetal.run)(function () {
54422
- return (0, _emberMetal.set)(TestNamespace.toObject, 'localValue', 'updatedValue');
54423
- });
54424
-
54425
- equal((0, _emberMetal.get)(TestNamespace.toObject, 'relative'), 'updatedValue');
54426
-
54427
- (0, _emberMetal.run)(function () {
54428
- return (0, _emberMetal.set)(TestNamespace.toObject, 'localValue', 'newerValue');
54429
- });
54430
-
54431
- equal((0, _emberMetal.get)(TestNamespace.toObject, 'relative'), 'newerValue');
54432
- });
54433
- });
54434
- QUnit.module('ESLint | ember-runtime/tests/legacy_1x/system/binding_test.js');
54435
- QUnit.test('should pass ESLint', function(assert) {
54436
- assert.expect(1);
54437
- assert.ok(true, 'ember-runtime/tests/legacy_1x/system/binding_test.js should pass ESLint\n\n');
54438
- });
54439
-
54440
53645
  enifed('ember-runtime/tests/legacy_1x/system/object/base_test', ['ember-metal', 'ember-runtime/system/object'], function (_emberMetal, _object) {
54441
53646
  'use strict';
54442
53647
 
@@ -54534,179 +53739,6 @@ QUnit.test('should pass ESLint', function(assert) {
54534
53739
  assert.ok(true, 'ember-runtime/tests/legacy_1x/system/object/base_test.js should pass ESLint\n\n');
54535
53740
  });
54536
53741
 
54537
- enifed('ember-runtime/tests/legacy_1x/system/object/bindings_test', ['ember-environment', 'ember-metal', 'ember-runtime/system/object'], function (_emberEnvironment, _emberMetal, _object) {
54538
- 'use strict';
54539
-
54540
- /*
54541
- NOTE: This test is adapted from the 1.x series of unit tests. The tests
54542
- are the same except for places where we intend to break the API we instead
54543
- validate that we warn the developer appropriately.
54544
-
54545
- CHANGES FROM 1.6:
54546
-
54547
- * changed Ember.Bending.flushPendingChanges() -> run.sync();
54548
- * changes obj.set() and obj.get() to Ember.set() and Ember.get()
54549
- * Fixed an actual bug in unit tests around line 133
54550
- * fixed 'bindings should disconnect on destroy' test to use destroy.
54551
- */
54552
-
54553
- // ========================================================================
54554
- // EmberObject bindings Tests
54555
- // ========================================================================
54556
-
54557
- var originalLookup = _emberEnvironment.context.lookup;
54558
- var testObject = void 0,
54559
- fromObject = void 0,
54560
- TestObject = void 0;
54561
- var TestNamespace = void 0,
54562
- lookup = void 0;
54563
-
54564
- QUnit.module('bind() method', {
54565
- setup: function () {
54566
- _emberEnvironment.context.lookup = lookup = {};
54567
-
54568
- testObject = _object.default.create({
54569
- foo: 'bar',
54570
- bar: 'foo',
54571
- extraObject: null
54572
- });
54573
-
54574
- fromObject = _object.default.create({
54575
- bar: 'foo',
54576
- extraObject: null
54577
- });
54578
-
54579
- lookup['TestNamespace'] = TestNamespace = {
54580
- fromObject: fromObject,
54581
- testObject: testObject
54582
- };
54583
- },
54584
- teardown: function () {
54585
- testObject = fromObject = null;
54586
- _emberEnvironment.context.lookup = originalLookup;
54587
- }
54588
- });
54589
-
54590
- QUnit.test('bind(TestNamespace.fromObject.bar) should follow absolute path', function () {
54591
- (0, _emberMetal.run)(function () {
54592
- expectDeprecation(function () {
54593
- // create binding
54594
- testObject.bind('foo', 'TestNamespace.fromObject.bar');
54595
- }, /`Ember.Binding` is deprecated/);
54596
-
54597
- // now make a change to see if the binding triggers.
54598
- (0, _emberMetal.set)(fromObject, 'bar', 'changedValue');
54599
- });
54600
-
54601
- equal('changedValue', (0, _emberMetal.get)(testObject, 'foo'), 'testObject.foo');
54602
- });
54603
-
54604
- QUnit.test('bind(.bar) should bind to relative path', function () {
54605
- (0, _emberMetal.run)(function () {
54606
- expectDeprecation(function () {
54607
- // create binding
54608
- testObject.bind('foo', 'bar');
54609
- }, /`Ember.Binding` is deprecated/);
54610
-
54611
- // now make a change to see if the binding triggers.
54612
- (0, _emberMetal.set)(testObject, 'bar', 'changedValue');
54613
- });
54614
-
54615
- equal('changedValue', (0, _emberMetal.get)(testObject, 'foo'), 'testObject.foo');
54616
- });
54617
-
54618
- QUnit.module('fooBinding method', {
54619
- setup: function () {
54620
- _emberEnvironment.context.lookup = lookup = {};
54621
-
54622
- TestObject = _object.default.extend({
54623
- foo: 'bar',
54624
- bar: 'foo',
54625
- extraObject: null
54626
- });
54627
-
54628
- fromObject = _object.default.create({
54629
- bar: 'foo',
54630
- extraObject: null
54631
- });
54632
-
54633
- lookup['TestNamespace'] = TestNamespace = {
54634
- fromObject: fromObject,
54635
- testObject: TestObject
54636
- };
54637
- },
54638
- teardown: function () {
54639
- _emberEnvironment.context.lookup = originalLookup;
54640
- TestObject = fromObject = null;
54641
- // delete TestNamespace;
54642
- }
54643
- });
54644
-
54645
- var deprecationMessage = /`Ember.Binding` is deprecated/;
54646
-
54647
- QUnit.test('fooBinding: TestNamespace.fromObject.bar should follow absolute path', function () {
54648
- (0, _emberMetal.run)(function () {
54649
- expectDeprecation(function () {
54650
- // create binding
54651
- testObject = TestObject.extend({
54652
- fooBinding: 'TestNamespace.fromObject.bar'
54653
- }).create();
54654
- }, deprecationMessage);
54655
-
54656
- // now make a change to see if the binding triggers.
54657
- (0, _emberMetal.set)(fromObject, 'bar', 'changedValue');
54658
- });
54659
-
54660
- equal('changedValue', (0, _emberMetal.get)(testObject, 'foo'), 'testObject.foo');
54661
- });
54662
-
54663
- QUnit.test('fooBinding: .bar should bind to relative path', function () {
54664
- (0, _emberMetal.run)(function () {
54665
- expectDeprecation(function () {
54666
- // create binding
54667
- testObject = TestObject.extend({
54668
- fooBinding: 'bar'
54669
- }).create();
54670
- }, deprecationMessage);
54671
-
54672
- // now make a change to see if the binding triggers.
54673
- (0, _emberMetal.set)(testObject, 'bar', 'changedValue');
54674
- });
54675
-
54676
- equal('changedValue', (0, _emberMetal.get)(testObject, 'foo'), 'testObject.foo');
54677
- });
54678
-
54679
- QUnit.test('fooBinding: should disconnect bindings when destroyed', function () {
54680
- (0, _emberMetal.run)(function () {
54681
- expectDeprecation(function () {
54682
- // create binding
54683
- testObject = TestObject.extend({
54684
- fooBinding: 'TestNamespace.fromObject.bar'
54685
- }).create();
54686
- }, deprecationMessage);
54687
-
54688
- (0, _emberMetal.set)(TestNamespace.fromObject, 'bar', 'BAZ');
54689
- });
54690
-
54691
- equal((0, _emberMetal.get)(testObject, 'foo'), 'BAZ', 'binding should have synced');
54692
-
54693
- (0, _emberMetal.run)(function () {
54694
- return testObject.destroy();
54695
- });
54696
-
54697
- (0, _emberMetal.run)(function () {
54698
- return (0, _emberMetal.set)(TestNamespace.fromObject, 'bar', 'BIFF');
54699
- });
54700
-
54701
- ok((0, _emberMetal.get)(testObject, 'foo') !== 'bar', 'binding should not have synced');
54702
- });
54703
- });
54704
- QUnit.module('ESLint | ember-runtime/tests/legacy_1x/system/object/bindings_test.js');
54705
- QUnit.test('should pass ESLint', function(assert) {
54706
- assert.expect(1);
54707
- assert.ok(true, 'ember-runtime/tests/legacy_1x/system/object/bindings_test.js should pass ESLint\n\n');
54708
- });
54709
-
54710
53742
  enifed('ember-runtime/tests/legacy_1x/system/object/concatenated_test', ['ember-metal', 'ember-runtime/system/object'], function (_emberMetal, _object) {
54711
53743
  'use strict';
54712
53744
 
@@ -54817,120 +53849,6 @@ QUnit.test('should pass ESLint', function(assert) {
54817
53849
  assert.ok(true, 'ember-runtime/tests/legacy_1x/system/object/concatenated_test.js should pass ESLint\n\n');
54818
53850
  });
54819
53851
 
54820
- enifed('ember-runtime/tests/legacy_1x/system/run_loop_test', ['ember-metal', 'ember-runtime/mixins/observable', 'ember-runtime/system/object'], function (_emberMetal, _observable, _object) {
54821
- 'use strict';
54822
-
54823
- /*
54824
- NOTE: This test is adapted from the 1.x series of unit tests. The tests
54825
- are the same except for places where we intend to break the API we instead
54826
- validate that we warn the developer appropriately.
54827
-
54828
- CHANGES FROM 1.6:
54829
-
54830
- * Updated the API usage for setting up and syncing Binding since these
54831
- are not the APIs this file is testing.
54832
-
54833
- * Disabled a call to invokeOnce() around line 127 because it appeared to be
54834
- broken anyway. I don't think it ever even worked.
54835
- */
54836
-
54837
- var MyApp = void 0;
54838
-
54839
- QUnit.module('System:run_loop() - chained binding', {
54840
- setup: function () {
54841
- MyApp = {};
54842
- MyApp.first = _object.default.extend(_observable.default).create({
54843
- output: 'MyApp.first'
54844
- });
54845
-
54846
- MyApp.second = _object.default.extend(_observable.default, {
54847
- inputDidChange: (0, _emberMetal.observer)('input', function () {
54848
- this.set('output', this.get('input'));
54849
- })
54850
- }).create({
54851
- input: 'MyApp.second',
54852
- output: 'MyApp.second'
54853
- });
54854
-
54855
- MyApp.third = _object.default.extend(_observable.default).create({
54856
- input: 'MyApp.third'
54857
- });
54858
- }
54859
- });
54860
-
54861
- var deprecationMessage = /`Ember.Binding` is deprecated/;
54862
-
54863
- QUnit.test('Should propagate bindings after the RunLoop completes (using Ember.RunLoop)', function () {
54864
- (0, _emberMetal.run)(function () {
54865
- //Binding of output of MyApp.first object to input of MyApp.second object
54866
- expectDeprecation(function () {
54867
- _emberMetal.Binding.from('first.output').to('second.input').connect(MyApp);
54868
- }, deprecationMessage);
54869
-
54870
- //Binding of output of MyApp.second object to input of MyApp.third object
54871
- expectDeprecation(function () {
54872
- _emberMetal.Binding.from('second.output').to('third.input').connect(MyApp);
54873
- }, deprecationMessage);
54874
- });
54875
-
54876
- (0, _emberMetal.run)(function () {
54877
- // Based on the above binding if you change the output of MyApp.first
54878
- // object it should change the all the variable of
54879
- // MyApp.first,MyApp.second and MyApp.third object
54880
- MyApp.first.set('output', 'change');
54881
-
54882
- //Changes the output of the MyApp.first object
54883
- equal(MyApp.first.get('output'), 'change');
54884
-
54885
- //since binding has not taken into effect the value still remains as change.
54886
- equal(MyApp.second.get('output'), 'MyApp.first');
54887
- }); // allows bindings to trigger...
54888
-
54889
- //Value of the output variable changed to 'change'
54890
- equal(MyApp.first.get('output'), 'change');
54891
-
54892
- //Since binding triggered after the end loop the value changed to 'change'.
54893
- equal(MyApp.second.get('output'), 'change');
54894
- });
54895
-
54896
- QUnit.test('Should propagate bindings after the RunLoop completes', function () {
54897
- (0, _emberMetal.run)(function () {
54898
- //Binding of output of MyApp.first object to input of MyApp.second object
54899
- expectDeprecation(function () {
54900
- _emberMetal.Binding.from('first.output').to('second.input').connect(MyApp);
54901
- }, deprecationMessage);
54902
-
54903
- //Binding of output of MyApp.second object to input of MyApp.third object
54904
- expectDeprecation(function () {
54905
- _emberMetal.Binding.from('second.output').to('third.input').connect(MyApp);
54906
- }, deprecationMessage);
54907
- });
54908
-
54909
- (0, _emberMetal.run)(function () {
54910
- //Based on the above binding if you change the output of MyApp.first object it should
54911
- //change the all the variable of MyApp.first,MyApp.second and MyApp.third object
54912
- MyApp.first.set('output', 'change');
54913
-
54914
- //Changes the output of the MyApp.first object
54915
- equal(MyApp.first.get('output'), 'change');
54916
-
54917
- //since binding has not taken into effect the value still remains as change.
54918
- equal(MyApp.second.get('output'), 'MyApp.first');
54919
- });
54920
-
54921
- //Value of the output variable changed to 'change'
54922
- equal(MyApp.first.get('output'), 'change');
54923
-
54924
- //Since binding triggered after the end loop the value changed to 'change'.
54925
- equal(MyApp.second.get('output'), 'change');
54926
- });
54927
- });
54928
- QUnit.module('ESLint | ember-runtime/tests/legacy_1x/system/run_loop_test.js');
54929
- QUnit.test('should pass ESLint', function(assert) {
54930
- assert.expect(1);
54931
- assert.ok(true, 'ember-runtime/tests/legacy_1x/system/run_loop_test.js should pass ESLint\n\n');
54932
- });
54933
-
54934
53852
  enifed('ember-runtime/tests/main_test', ['ember-runtime/index'], function (_index) {
54935
53853
  'use strict';
54936
53854
 
@@ -61657,21 +60575,6 @@ enifed('ember-runtime/tests/system/object/create_test', ['ember-metal', 'ember/f
61657
60575
  });
61658
60576
  }
61659
60577
 
61660
- QUnit.test('allows bindings to be defined', function () {
61661
- var obj = void 0;
61662
-
61663
- var deprecationMessage = /`Ember.Binding` is deprecated/;
61664
-
61665
- expectDeprecation(function () {
61666
- obj = _object.default.create({
61667
- foo: 'foo',
61668
- barBinding: 'foo'
61669
- });
61670
- }, deprecationMessage);
61671
-
61672
- equal(obj.get('bar'), 'foo', 'The binding value is correct');
61673
- });
61674
-
61675
60578
  QUnit.test('calls setUnknownProperty if defined', function () {
61676
60579
  var setUnknownPropertyCalled = false;
61677
60580
 
@@ -61739,12 +60642,6 @@ enifed('ember-runtime/tests/system/object/create_test', ['ember-metal', 'ember/f
61739
60642
  var o = _object.default.create(null);
61740
60643
  deepEqual(_object.default.create(), o);
61741
60644
  });
61742
-
61743
- QUnit.test('EmberObject.create avoids allocating a binding map when not necessary', function () {
61744
- var o = _object.default.create();
61745
- var m = (0, _emberMetal.meta)(o);
61746
- ok(!m.peekBindings(), 'A binding map is not allocated');
61747
- });
61748
60645
  });
61749
60646
  QUnit.module('ESLint | ember-runtime/tests/system/object/create_test.js');
61750
60647
  QUnit.test('should pass ESLint', function(assert) {
@@ -61892,36 +60789,6 @@ enifed('ember-runtime/tests/system/object/destroy_test', ['ember-metal', 'intern
61892
60789
  equal(shouldNotChange, 0, 'destroyed graph objs should not see change in willDestroy');
61893
60790
  equal(shouldChange, 1, 'long lived should see change in willDestroy');
61894
60791
  });
61895
-
61896
- QUnit.test('bindings should be synced when are updated in the willDestroy hook', function () {
61897
- var bar = _object.default.create({
61898
- value: false,
61899
- willDestroy: function () {
61900
- this.set('value', true);
61901
- }
61902
- });
61903
-
61904
- var foo = _object.default.create({
61905
- value: null,
61906
- bar: bar
61907
- });
61908
-
61909
- (0, _emberMetal.run)(function () {
61910
- var deprecationMessage = /`Ember.Binding` is deprecated/;
61911
-
61912
- expectDeprecation(function () {
61913
- (0, _emberMetal.bind)(foo, 'value', 'bar.value');
61914
- }, deprecationMessage);
61915
- });
61916
-
61917
- ok(bar.get('value') === false, 'the initial value has been bound');
61918
-
61919
- (0, _emberMetal.run)(function () {
61920
- return bar.destroy();
61921
- });
61922
-
61923
- ok(foo.get('value'), 'foo is synced when the binding is updated in the willDestroy hook');
61924
- });
61925
60792
  });
61926
60793
  QUnit.module('ESLint | ember-runtime/tests/system/object/destroy_test.js');
61927
60794
  QUnit.test('should pass ESLint', function(assert) {
@@ -62862,62 +61729,6 @@ QUnit.test('should pass ESLint', function(assert) {
62862
61729
  assert.ok(true, 'ember-runtime/tests/system/object/strict-mode-test.js should pass ESLint\n\n');
62863
61730
  });
62864
61731
 
62865
- enifed('ember-runtime/tests/system/object/subclasses_test', ['ember-metal', 'ember-runtime/system/object'], function (_emberMetal, _object) {
62866
- 'use strict';
62867
-
62868
- QUnit.module('system/object/subclasses');
62869
-
62870
- QUnit.test('chains should copy forward to subclasses when prototype created', function () {
62871
- var ObjectWithChains = void 0,
62872
- objWithChains = void 0,
62873
- SubWithChains = void 0,
62874
- SubSub = void 0,
62875
- subSub = void 0;
62876
- (0, _emberMetal.run)(function () {
62877
- ObjectWithChains = _object.default.extend({
62878
- obj: {
62879
- a: 'a',
62880
- hi: 'hi'
62881
- },
62882
- aBinding: 'obj.a' // add chain
62883
- });
62884
-
62885
- var deprecationMessage = /`Ember.Binding` is deprecated/;
62886
-
62887
- expectDeprecation(function () {
62888
- // realize prototype
62889
- objWithChains = ObjectWithChains.create();
62890
- }, deprecationMessage);
62891
-
62892
- // should not copy chains from parent yet
62893
- SubWithChains = ObjectWithChains.extend({
62894
- hiBinding: 'obj.hi', // add chain
62895
- hello: (0, _emberMetal.computed)(function () {
62896
- return this.get('obj.hi') + ' world';
62897
- }).property('hi'), // observe chain
62898
- greetingBinding: 'hello'
62899
- });
62900
-
62901
- SubSub = SubWithChains.extend();
62902
-
62903
- expectDeprecation(function () {
62904
- // should realize prototypes and copy forward chains
62905
- subSub = SubSub.create();
62906
- }, deprecationMessage);
62907
- });
62908
- equal(subSub.get('greeting'), 'hi world');
62909
- (0, _emberMetal.run)(function () {
62910
- return objWithChains.set('obj.hi', 'hello');
62911
- });
62912
- equal(subSub.get('greeting'), 'hello world');
62913
- });
62914
- });
62915
- QUnit.module('ESLint | ember-runtime/tests/system/object/subclasses_test.js');
62916
- QUnit.test('should pass ESLint', function(assert) {
62917
- assert.expect(1);
62918
- assert.ok(true, 'ember-runtime/tests/system/object/subclasses_test.js should pass ESLint\n\n');
62919
- });
62920
-
62921
61732
  enifed('ember-runtime/tests/system/object/toString_test', ['ember-utils', 'ember-environment', 'ember-runtime/system/object', 'ember-runtime/system/namespace'], function (_emberUtils, _emberEnvironment, _object, _namespace) {
62922
61733
  'use strict';
62923
61734
 
@@ -71755,7 +70566,7 @@ enifed('ember/tests/reexports_test', ['ember/index', 'ember-environment', 'inter
71755
70566
  ['computed', 'ember-metal'], ['computed.alias', 'ember-metal', 'alias'], ['ComputedProperty', 'ember-metal'], ['cacheFor', 'ember-metal'], ['merge', 'ember-metal'], ['instrument', 'ember-metal'], ['Instrumentation.instrument', 'ember-metal', 'instrument'], ['Instrumentation.subscribe', 'ember-metal', 'instrumentationSubscribe'], ['Instrumentation.unsubscribe', 'ember-metal', 'instrumentationUnsubscribe'], ['Instrumentation.reset', 'ember-metal', 'instrumentationReset'], ['testing', 'ember-debug', { get: 'isTesting', set: 'setTesting' }], ['onerror', 'ember-metal', { get: 'getOnerror', set: 'setOnerror' }],
71756
70567
  // ['create'], TODO: figure out what to do here
71757
70568
  // ['keys'], TODO: figure out what to do here
71758
- ['FEATURES', 'ember/features'], ['FEATURES.isEnabled', 'ember-debug', 'isFeatureEnabled'], ['Error', 'ember-debug'], ['meta', 'ember-metal'], ['get', 'ember-metal'], ['set', 'ember-metal'], ['_getPath', 'ember-metal'], ['getWithDefault', 'ember-metal'], ['trySet', 'ember-metal'], ['_Cache', 'ember-metal', 'Cache'], ['on', 'ember-metal'], ['addListener', 'ember-metal'], ['removeListener', 'ember-metal'], ['_suspendListener', 'ember-metal', 'suspendListener'], ['_suspendListeners', 'ember-metal', 'suspendListeners'], ['sendEvent', 'ember-metal'], ['hasListeners', 'ember-metal'], ['watchedEvents', 'ember-metal'], ['listenersFor', 'ember-metal'], ['isNone', 'ember-metal'], ['isEmpty', 'ember-metal'], ['isBlank', 'ember-metal'], ['isPresent', 'ember-metal'], ['_Backburner', 'backburner', 'default'], ['run', 'ember-metal'], ['_ObserverSet', 'ember-metal', 'ObserverSet'], ['propertyWillChange', 'ember-metal'], ['propertyDidChange', 'ember-metal'], ['overrideChains', 'ember-metal'], ['beginPropertyChanges', 'ember-metal'], ['beginPropertyChanges', 'ember-metal'], ['endPropertyChanges', 'ember-metal'], ['changeProperties', 'ember-metal'], ['defineProperty', 'ember-metal'], ['watchKey', 'ember-metal'], ['unwatchKey', 'ember-metal'], ['removeChainWatcher', 'ember-metal'], ['_ChainNode', 'ember-metal', 'ChainNode'], ['finishChains', 'ember-metal'], ['watchPath', 'ember-metal'], ['unwatchPath', 'ember-metal'], ['watch', 'ember-metal'], ['isWatching', 'ember-metal'], ['unwatch', 'ember-metal'], ['destroy', 'ember-metal', 'deleteMeta'], ['libraries', 'ember-metal'], ['OrderedSet', 'ember-metal'], ['Map', 'ember-metal'], ['MapWithDefault', 'ember-metal'], ['getProperties', 'ember-metal'], ['setProperties', 'ember-metal'], ['expandProperties', 'ember-metal'], ['NAME_KEY', 'ember-utils'], ['addObserver', 'ember-metal'], ['observersFor', 'ember-metal'], ['removeObserver', 'ember-metal'], ['_suspendObserver', 'ember-metal'], ['_suspendObservers', 'ember-metal'], ['aliasMethod', 'ember-metal'], ['observer', 'ember-metal'], ['mixin', 'ember-metal'], ['Mixin', 'ember-metal'], ['bind', 'ember-metal'], ['Binding', 'ember-metal'], ['isGlobalPath', 'ember-metal'],
70569
+ ['FEATURES', 'ember/features'], ['FEATURES.isEnabled', 'ember-debug', 'isFeatureEnabled'], ['Error', 'ember-debug'], ['meta', 'ember-metal'], ['get', 'ember-metal'], ['set', 'ember-metal'], ['_getPath', 'ember-metal'], ['getWithDefault', 'ember-metal'], ['trySet', 'ember-metal'], ['_Cache', 'ember-metal', 'Cache'], ['on', 'ember-metal'], ['addListener', 'ember-metal'], ['removeListener', 'ember-metal'], ['_suspendListener', 'ember-metal', 'suspendListener'], ['_suspendListeners', 'ember-metal', 'suspendListeners'], ['sendEvent', 'ember-metal'], ['hasListeners', 'ember-metal'], ['watchedEvents', 'ember-metal'], ['listenersFor', 'ember-metal'], ['isNone', 'ember-metal'], ['isEmpty', 'ember-metal'], ['isBlank', 'ember-metal'], ['isPresent', 'ember-metal'], ['_Backburner', 'backburner', 'default'], ['run', 'ember-metal'], ['_ObserverSet', 'ember-metal', 'ObserverSet'], ['propertyWillChange', 'ember-metal'], ['propertyDidChange', 'ember-metal'], ['overrideChains', 'ember-metal'], ['beginPropertyChanges', 'ember-metal'], ['beginPropertyChanges', 'ember-metal'], ['endPropertyChanges', 'ember-metal'], ['changeProperties', 'ember-metal'], ['defineProperty', 'ember-metal'], ['watchKey', 'ember-metal'], ['unwatchKey', 'ember-metal'], ['removeChainWatcher', 'ember-metal'], ['_ChainNode', 'ember-metal', 'ChainNode'], ['finishChains', 'ember-metal'], ['watchPath', 'ember-metal'], ['unwatchPath', 'ember-metal'], ['watch', 'ember-metal'], ['isWatching', 'ember-metal'], ['unwatch', 'ember-metal'], ['destroy', 'ember-metal', 'deleteMeta'], ['libraries', 'ember-metal'], ['OrderedSet', 'ember-metal'], ['Map', 'ember-metal'], ['MapWithDefault', 'ember-metal'], ['getProperties', 'ember-metal'], ['setProperties', 'ember-metal'], ['expandProperties', 'ember-metal'], ['NAME_KEY', 'ember-utils'], ['addObserver', 'ember-metal'], ['observersFor', 'ember-metal'], ['removeObserver', 'ember-metal'], ['_suspendObserver', 'ember-metal'], ['_suspendObservers', 'ember-metal'], ['aliasMethod', 'ember-metal'], ['observer', 'ember-metal'], ['mixin', 'ember-metal'], ['Mixin', 'ember-metal'], ['isGlobalPath', 'ember-metal'],
71759
70570
 
71760
70571
  // ember-views
71761
70572
  ['$', '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'],