ember-source 1.8.0.beta.4 → 1.8.0.beta.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +31 -41
- data/dist/ember-tests.js +56 -81
- data/dist/ember-tests.prod.js +56 -81
- data/dist/ember.js +42 -57
- data/dist/ember.min.js +7 -7
- data/dist/ember.prod.js +42 -57
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f30bc696893c2069707688aabc68af377e5ee6a0
|
4
|
+
data.tar.gz: ba5e80a8ef7488147776338c8b12fc23d6abf958
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8d4d2db19c645fd03e9060125e94f290ef54184d4f88132226a46fb4bcd3e77852e8ea17f905c174ac823be8d228909e573c71487c589c64625279568211771
|
7
|
+
data.tar.gz: 99ca05ee6df42a141f1a2b7c48142d8ab0d2c68c107019fb022fded5ec9f07bbb06b98ed48b02a2e9f7b24e6e6e1eb22d2a78a2ebc74334db00594049365e46c
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.8.0-beta.
|
1
|
+
1.8.0-beta.5
|
data/dist/ember-runtime.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
6
6
|
* @license Licensed under MIT license
|
7
7
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
8
|
-
* @version 1.8.0-beta.
|
8
|
+
* @version 1.8.0-beta.5
|
9
9
|
*/
|
10
10
|
|
11
11
|
(function() {
|
@@ -2508,8 +2508,8 @@ define("ember-metal/array",
|
|
2508
2508
|
__exports__.lastIndexOf = lastIndexOf;
|
2509
2509
|
});
|
2510
2510
|
define("ember-metal/binding",
|
2511
|
-
["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/
|
2512
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__,
|
2511
|
+
["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/observer","ember-metal/run_loop","ember-metal/path_cache","exports"],
|
2512
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __exports__) {
|
2513
2513
|
"use strict";
|
2514
2514
|
var Ember = __dependency1__["default"];
|
2515
2515
|
// Ember.Logger, Ember.LOG_BINDINGS, assert
|
@@ -2517,12 +2517,11 @@ define("ember-metal/binding",
|
|
2517
2517
|
var set = __dependency3__.set;
|
2518
2518
|
var trySet = __dependency3__.trySet;
|
2519
2519
|
var guidFor = __dependency4__.guidFor;
|
2520
|
-
var
|
2521
|
-
var
|
2522
|
-
var
|
2523
|
-
var
|
2524
|
-
var
|
2525
|
-
var isGlobalPath = __dependency8__.isGlobal;
|
2520
|
+
var addObserver = __dependency5__.addObserver;
|
2521
|
+
var removeObserver = __dependency5__.removeObserver;
|
2522
|
+
var _suspendObserver = __dependency5__._suspendObserver;
|
2523
|
+
var run = __dependency6__["default"];
|
2524
|
+
var isGlobalPath = __dependency7__.isGlobal;
|
2526
2525
|
|
2527
2526
|
|
2528
2527
|
// ES6TODO: where is Ember.lookup defined?
|
@@ -2566,10 +2565,9 @@ define("ember-metal/binding",
|
|
2566
2565
|
//
|
2567
2566
|
|
2568
2567
|
function Binding(toPath, fromPath) {
|
2569
|
-
this._direction =
|
2568
|
+
this._direction = undefined;
|
2570
2569
|
this._from = fromPath;
|
2571
2570
|
this._to = toPath;
|
2572
|
-
this._directionMap = new Map();
|
2573
2571
|
this._readyToSync = undefined;
|
2574
2572
|
this._oneWay = undefined;
|
2575
2573
|
}
|
@@ -2725,19 +2723,18 @@ define("ember-metal/binding",
|
|
2725
2723
|
},
|
2726
2724
|
|
2727
2725
|
_scheduleSync: function(obj, dir) {
|
2728
|
-
var
|
2729
|
-
var existingDir = directionMap.get(obj);
|
2726
|
+
var existingDir = this._direction;
|
2730
2727
|
|
2731
2728
|
// if we haven't scheduled the binding yet, schedule it
|
2732
|
-
if (
|
2729
|
+
if (existingDir === undefined) {
|
2733
2730
|
run.schedule('sync', this, this._sync, obj);
|
2734
|
-
|
2731
|
+
this._direction = dir;
|
2735
2732
|
}
|
2736
2733
|
|
2737
2734
|
// If both a 'back' and 'fwd' sync have been scheduled on the same object,
|
2738
2735
|
// default to a 'fwd' sync so that it remains deterministic.
|
2739
2736
|
if (existingDir === 'back' && dir === 'fwd') {
|
2740
|
-
|
2737
|
+
this._direction = 'fwd';
|
2741
2738
|
}
|
2742
2739
|
},
|
2743
2740
|
|
@@ -2749,13 +2746,12 @@ define("ember-metal/binding",
|
|
2749
2746
|
|
2750
2747
|
// get the direction of the binding for the object we are
|
2751
2748
|
// synchronizing from
|
2752
|
-
var
|
2753
|
-
var direction = directionMap.get(obj);
|
2749
|
+
var direction = this._direction;
|
2754
2750
|
|
2755
2751
|
var fromPath = this._from;
|
2756
2752
|
var toPath = this._to;
|
2757
2753
|
|
2758
|
-
|
2754
|
+
this._direction = undefined;
|
2759
2755
|
|
2760
2756
|
// if we're synchronizing from the remote object...
|
2761
2757
|
if (direction === 'fwd') {
|
@@ -2800,10 +2796,9 @@ define("ember-metal/binding",
|
|
2800
2796
|
@method from
|
2801
2797
|
@static
|
2802
2798
|
*/
|
2803
|
-
from: function() {
|
2799
|
+
from: function(from) {
|
2804
2800
|
var C = this;
|
2805
|
-
|
2806
|
-
return binding.from.apply(binding, arguments);
|
2801
|
+
return new C(undefined, from);
|
2807
2802
|
},
|
2808
2803
|
|
2809
2804
|
/*
|
@@ -2812,10 +2807,9 @@ define("ember-metal/binding",
|
|
2812
2807
|
@method to
|
2813
2808
|
@static
|
2814
2809
|
*/
|
2815
|
-
to: function() {
|
2810
|
+
to: function(to) {
|
2816
2811
|
var C = this;
|
2817
|
-
|
2818
|
-
return binding.to.apply(binding, arguments);
|
2812
|
+
return new C(to, undefined);
|
2819
2813
|
},
|
2820
2814
|
|
2821
2815
|
/**
|
@@ -2836,8 +2830,7 @@ define("ember-metal/binding",
|
|
2836
2830
|
*/
|
2837
2831
|
oneWay: function(from, flag) {
|
2838
2832
|
var C = this;
|
2839
|
-
|
2840
|
-
return binding.oneWay(flag);
|
2833
|
+
return new C(undefined, from).oneWay(flag);
|
2841
2834
|
}
|
2842
2835
|
|
2843
2836
|
});
|
@@ -4769,7 +4762,7 @@ define("ember-metal/core",
|
|
4769
4762
|
|
4770
4763
|
@class Ember
|
4771
4764
|
@static
|
4772
|
-
@version 1.8.0-beta.
|
4765
|
+
@version 1.8.0-beta.5
|
4773
4766
|
*/
|
4774
4767
|
|
4775
4768
|
if ('undefined' === typeof Ember) {
|
@@ -4796,10 +4789,10 @@ define("ember-metal/core",
|
|
4796
4789
|
/**
|
4797
4790
|
@property VERSION
|
4798
4791
|
@type String
|
4799
|
-
@default '1.8.0-beta.
|
4792
|
+
@default '1.8.0-beta.5'
|
4800
4793
|
@static
|
4801
4794
|
*/
|
4802
|
-
Ember.VERSION = '1.8.0-beta.
|
4795
|
+
Ember.VERSION = '1.8.0-beta.5';
|
4803
4796
|
|
4804
4797
|
/**
|
4805
4798
|
Standard environmental variables. You can define these in a global `EmberENV`
|
@@ -6698,13 +6691,12 @@ define("ember-metal/map",
|
|
6698
6691
|
var presenceSet = this.presenceSet;
|
6699
6692
|
var list = this.list;
|
6700
6693
|
|
6701
|
-
if (presenceSet[guid]) {
|
6694
|
+
if (presenceSet[guid] === true) {
|
6702
6695
|
return;
|
6703
6696
|
}
|
6704
6697
|
|
6705
6698
|
presenceSet[guid] = true;
|
6706
|
-
list.push(obj);
|
6707
|
-
this.size++;
|
6699
|
+
this.size = list.push(obj);
|
6708
6700
|
|
6709
6701
|
return this;
|
6710
6702
|
},
|
@@ -6734,13 +6726,13 @@ define("ember-metal/map",
|
|
6734
6726
|
var presenceSet = this.presenceSet;
|
6735
6727
|
var list = this.list;
|
6736
6728
|
|
6737
|
-
if (presenceSet[guid]
|
6729
|
+
if (presenceSet[guid] === true) {
|
6738
6730
|
delete presenceSet[guid];
|
6739
6731
|
var index = indexOf.call(list, obj);
|
6740
6732
|
if (index > -1) {
|
6741
6733
|
list.splice(index, 1);
|
6742
6734
|
}
|
6743
|
-
this.size
|
6735
|
+
this.size = list.length;
|
6744
6736
|
return true;
|
6745
6737
|
} else {
|
6746
6738
|
return false;
|
@@ -6766,7 +6758,7 @@ define("ember-metal/map",
|
|
6766
6758
|
var guid = guidFor(obj);
|
6767
6759
|
var presenceSet = this.presenceSet;
|
6768
6760
|
|
6769
|
-
return
|
6761
|
+
return presenceSet[guid] === true;
|
6770
6762
|
},
|
6771
6763
|
|
6772
6764
|
/**
|
@@ -6948,8 +6940,7 @@ define("ember-metal/map",
|
|
6948
6940
|
var values = this.values;
|
6949
6941
|
var guid = guidFor(key);
|
6950
6942
|
|
6951
|
-
if (
|
6952
|
-
keys.delete(key, guid);
|
6943
|
+
if (keys.delete(key, guid)) {
|
6953
6944
|
delete values[guid];
|
6954
6945
|
this.size = keys.size;
|
6955
6946
|
return true;
|
@@ -6966,7 +6957,6 @@ define("ember-metal/map",
|
|
6966
6957
|
@return {Boolean} true if the item was present, false otherwise
|
6967
6958
|
*/
|
6968
6959
|
has: function(key) {
|
6969
|
-
if (this.size === 0) { return false; }
|
6970
6960
|
return this.keys.has(key);
|
6971
6961
|
},
|
6972
6962
|
|
@@ -16788,7 +16778,7 @@ define("ember-runtime/mixins/mutable_array",
|
|
16788
16778
|
},
|
16789
16779
|
|
16790
16780
|
/**
|
16791
|
-
Replace all the
|
16781
|
+
Replace all the receiver's content with content of the argument.
|
16792
16782
|
If argument is an empty array receiver will be cleared.
|
16793
16783
|
|
16794
16784
|
```javascript
|
@@ -19790,7 +19780,7 @@ define("ember-runtime/system/namespace",
|
|
19790
19780
|
},
|
19791
19781
|
|
19792
19782
|
toString: function() {
|
19793
|
-
var name = get(this, 'name');
|
19783
|
+
var name = get(this, 'name') || get(this, 'modulePrefix');
|
19794
19784
|
if (name) { return name; }
|
19795
19785
|
|
19796
19786
|
findNamespaces();
|
data/dist/ember-tests.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
6
6
|
* @license Licensed under MIT license
|
7
7
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
8
|
-
* @version 1.8.0-beta.
|
8
|
+
* @version 1.8.0-beta.5
|
9
9
|
*/
|
10
10
|
|
11
11
|
(function() {
|
@@ -14991,19 +14991,17 @@ define("ember-metal/tests/binding/oneWay_test.jshint",
|
|
14991
14991
|
});
|
14992
14992
|
});
|
14993
14993
|
define("ember-metal/tests/binding/sync_test",
|
14994
|
-
["ember-metal/tests/props_helper","ember-metal/run_loop","ember-metal/observer","ember-metal/
|
14995
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__
|
14994
|
+
["ember-metal/tests/props_helper","ember-metal/run_loop","ember-metal/observer","ember-metal/binding","ember-metal/computed","ember-metal/properties"],
|
14995
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__) {
|
14996
14996
|
"use strict";
|
14997
14997
|
var testBoth = __dependency1__["default"];
|
14998
14998
|
var run = __dependency2__["default"];
|
14999
14999
|
var addObserver = __dependency3__.addObserver;
|
15000
15000
|
var removeObserver = __dependency3__.removeObserver;
|
15001
15001
|
var _suspendObserver = __dependency3__._suspendObserver;
|
15002
|
-
var
|
15003
|
-
var
|
15004
|
-
var
|
15005
|
-
var computed = __dependency7__.computed;
|
15006
|
-
var defineProperty = __dependency8__.defineProperty;
|
15002
|
+
var bind = __dependency4__.bind;
|
15003
|
+
var computed = __dependency5__.computed;
|
15004
|
+
var defineProperty = __dependency6__.defineProperty;
|
15007
15005
|
|
15008
15006
|
QUnit.module("system/binding/sync_test.js");
|
15009
15007
|
|
@@ -15099,49 +15097,6 @@ define("ember-metal/tests/binding/sync_test",
|
|
15099
15097
|
equal(get(a, 'foo'), "what is going on");
|
15100
15098
|
});
|
15101
15099
|
|
15102
|
-
testBoth("bindings should do the right thing when binding is in prototype", function(get, set) {
|
15103
|
-
var obj, proto, a, b, selectionChanged;
|
15104
|
-
run(function() {
|
15105
|
-
obj = {
|
15106
|
-
selection: null
|
15107
|
-
};
|
15108
|
-
|
15109
|
-
selectionChanged = 0;
|
15110
|
-
|
15111
|
-
addObserver(obj, 'selection', function () {
|
15112
|
-
selectionChanged++;
|
15113
|
-
});
|
15114
|
-
|
15115
|
-
proto = {
|
15116
|
-
obj: obj,
|
15117
|
-
changeSelection: function (value) {
|
15118
|
-
set(this, 'selection', value);
|
15119
|
-
}
|
15120
|
-
};
|
15121
|
-
bind(proto, 'selection', 'obj.selection');
|
15122
|
-
|
15123
|
-
a = create(proto);
|
15124
|
-
b = create(proto);
|
15125
|
-
rewatch(a);
|
15126
|
-
rewatch(b);
|
15127
|
-
});
|
15128
|
-
|
15129
|
-
run(function () {
|
15130
|
-
set(a, 'selection', 'a');
|
15131
|
-
});
|
15132
|
-
|
15133
|
-
run(function () {
|
15134
|
-
set(b, 'selection', 'b');
|
15135
|
-
});
|
15136
|
-
|
15137
|
-
run(function () {
|
15138
|
-
set(a, 'selection', 'a');
|
15139
|
-
});
|
15140
|
-
|
15141
|
-
equal(selectionChanged, 3);
|
15142
|
-
equal(get(obj, 'selection'), 'a');
|
15143
|
-
});
|
15144
|
-
|
15145
15100
|
testBoth("bindings should not try to sync destroyed objects", function(get, set) {
|
15146
15101
|
var a, b;
|
15147
15102
|
|
@@ -17550,13 +17505,15 @@ define("ember-metal/tests/libraries_test.jshint",
|
|
17550
17505
|
});
|
17551
17506
|
});
|
17552
17507
|
define("ember-metal/tests/map_test",
|
17553
|
-
["ember-metal/map"],
|
17554
|
-
function(__dependency1__) {
|
17508
|
+
["ember-metal/map","ember-metal/platform"],
|
17509
|
+
function(__dependency1__, __dependency2__) {
|
17555
17510
|
"use strict";
|
17556
17511
|
var OrderedSet = __dependency1__.OrderedSet;
|
17557
17512
|
var Map = __dependency1__.Map;
|
17558
17513
|
var MapWithDefault = __dependency1__.MapWithDefault;
|
17559
17514
|
|
17515
|
+
var hasPropertyAccessors = __dependency2__.hasPropertyAccessors;
|
17516
|
+
|
17560
17517
|
var object, number, string, map, variety;
|
17561
17518
|
var varieties = [['Map', Map], ['MapWithDefault', MapWithDefault]];
|
17562
17519
|
|
@@ -17756,40 +17713,42 @@ define("ember-metal/tests/map_test",
|
|
17756
17713
|
mapHasEntries([ ], map2);
|
17757
17714
|
});
|
17758
17715
|
|
17759
|
-
|
17760
|
-
|
17716
|
+
if (hasPropertyAccessors) {
|
17717
|
+
test("length", function() {
|
17718
|
+
expectDeprecation('Usage of `length` is deprecated, use `size` instead.');
|
17761
17719
|
|
17762
|
-
|
17763
|
-
|
17764
|
-
|
17765
|
-
|
17766
|
-
|
17767
|
-
|
17720
|
+
//Add a key twice
|
17721
|
+
equal(map.length, 0);
|
17722
|
+
map.set(string, "a string");
|
17723
|
+
equal(map.length, 1);
|
17724
|
+
map.set(string, "the same string");
|
17725
|
+
equal(map.length, 1);
|
17768
17726
|
|
17769
|
-
|
17770
|
-
|
17771
|
-
|
17727
|
+
//Add another
|
17728
|
+
map.set(number, "a number");
|
17729
|
+
equal(map.length, 2);
|
17772
17730
|
|
17773
|
-
|
17774
|
-
|
17775
|
-
|
17731
|
+
//Remove one that doesn't exist
|
17732
|
+
map["delete"]('does not exist');
|
17733
|
+
equal(map.length, 2);
|
17776
17734
|
|
17777
|
-
|
17778
|
-
|
17779
|
-
|
17735
|
+
//Check copy
|
17736
|
+
var copy = map.copy();
|
17737
|
+
equal(copy.length, 2);
|
17780
17738
|
|
17781
|
-
|
17782
|
-
|
17783
|
-
|
17784
|
-
|
17785
|
-
|
17739
|
+
//Remove a key twice
|
17740
|
+
map["delete"](number);
|
17741
|
+
equal(map.length, 1);
|
17742
|
+
map["delete"](number);
|
17743
|
+
equal(map.length, 1);
|
17786
17744
|
|
17787
|
-
|
17788
|
-
|
17789
|
-
|
17790
|
-
|
17791
|
-
|
17792
|
-
|
17745
|
+
//Remove the last key
|
17746
|
+
map["delete"](string);
|
17747
|
+
equal(map.length, 0);
|
17748
|
+
map["delete"](string);
|
17749
|
+
equal(map.length, 0);
|
17750
|
+
});
|
17751
|
+
}
|
17793
17752
|
|
17794
17753
|
test("size", function() {
|
17795
17754
|
//Add a key twice
|
@@ -18031,6 +17990,22 @@ define("ember-metal/tests/map_test",
|
|
18031
17990
|
equal(map.get(boxed), 'not-a-number');
|
18032
17991
|
});
|
18033
17992
|
|
17993
|
+
test("0 value", function() {
|
17994
|
+
var obj = {};
|
17995
|
+
equal(map.has(obj), false);
|
17996
|
+
|
17997
|
+
equal(map.size, 0);
|
17998
|
+
map.set(obj, 0);
|
17999
|
+
equal(map.size, 1);
|
18000
|
+
|
18001
|
+
equal(map.has(obj), true);
|
18002
|
+
equal(map.get(obj), 0);
|
18003
|
+
|
18004
|
+
map["delete"](obj);
|
18005
|
+
equal(map.has(obj), false);
|
18006
|
+
equal(map.get(obj), undefined);
|
18007
|
+
equal(map.size, 0);
|
18008
|
+
});
|
18034
18009
|
}
|
18035
18010
|
|
18036
18011
|
for (var i = 0; i < varieties.length; i++) {
|
data/dist/ember-tests.prod.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
6
6
|
* @license Licensed under MIT license
|
7
7
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
8
|
-
* @version 1.8.0-beta.
|
8
|
+
* @version 1.8.0-beta.5
|
9
9
|
*/
|
10
10
|
|
11
11
|
(function() {
|
@@ -14991,19 +14991,17 @@ define("ember-metal/tests/binding/oneWay_test.jshint",
|
|
14991
14991
|
});
|
14992
14992
|
});
|
14993
14993
|
define("ember-metal/tests/binding/sync_test",
|
14994
|
-
["ember-metal/tests/props_helper","ember-metal/run_loop","ember-metal/observer","ember-metal/
|
14995
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__
|
14994
|
+
["ember-metal/tests/props_helper","ember-metal/run_loop","ember-metal/observer","ember-metal/binding","ember-metal/computed","ember-metal/properties"],
|
14995
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__) {
|
14996
14996
|
"use strict";
|
14997
14997
|
var testBoth = __dependency1__["default"];
|
14998
14998
|
var run = __dependency2__["default"];
|
14999
14999
|
var addObserver = __dependency3__.addObserver;
|
15000
15000
|
var removeObserver = __dependency3__.removeObserver;
|
15001
15001
|
var _suspendObserver = __dependency3__._suspendObserver;
|
15002
|
-
var
|
15003
|
-
var
|
15004
|
-
var
|
15005
|
-
var computed = __dependency7__.computed;
|
15006
|
-
var defineProperty = __dependency8__.defineProperty;
|
15002
|
+
var bind = __dependency4__.bind;
|
15003
|
+
var computed = __dependency5__.computed;
|
15004
|
+
var defineProperty = __dependency6__.defineProperty;
|
15007
15005
|
|
15008
15006
|
QUnit.module("system/binding/sync_test.js");
|
15009
15007
|
|
@@ -15099,49 +15097,6 @@ define("ember-metal/tests/binding/sync_test",
|
|
15099
15097
|
equal(get(a, 'foo'), "what is going on");
|
15100
15098
|
});
|
15101
15099
|
|
15102
|
-
testBoth("bindings should do the right thing when binding is in prototype", function(get, set) {
|
15103
|
-
var obj, proto, a, b, selectionChanged;
|
15104
|
-
run(function() {
|
15105
|
-
obj = {
|
15106
|
-
selection: null
|
15107
|
-
};
|
15108
|
-
|
15109
|
-
selectionChanged = 0;
|
15110
|
-
|
15111
|
-
addObserver(obj, 'selection', function () {
|
15112
|
-
selectionChanged++;
|
15113
|
-
});
|
15114
|
-
|
15115
|
-
proto = {
|
15116
|
-
obj: obj,
|
15117
|
-
changeSelection: function (value) {
|
15118
|
-
set(this, 'selection', value);
|
15119
|
-
}
|
15120
|
-
};
|
15121
|
-
bind(proto, 'selection', 'obj.selection');
|
15122
|
-
|
15123
|
-
a = create(proto);
|
15124
|
-
b = create(proto);
|
15125
|
-
rewatch(a);
|
15126
|
-
rewatch(b);
|
15127
|
-
});
|
15128
|
-
|
15129
|
-
run(function () {
|
15130
|
-
set(a, 'selection', 'a');
|
15131
|
-
});
|
15132
|
-
|
15133
|
-
run(function () {
|
15134
|
-
set(b, 'selection', 'b');
|
15135
|
-
});
|
15136
|
-
|
15137
|
-
run(function () {
|
15138
|
-
set(a, 'selection', 'a');
|
15139
|
-
});
|
15140
|
-
|
15141
|
-
equal(selectionChanged, 3);
|
15142
|
-
equal(get(obj, 'selection'), 'a');
|
15143
|
-
});
|
15144
|
-
|
15145
15100
|
testBoth("bindings should not try to sync destroyed objects", function(get, set) {
|
15146
15101
|
var a, b;
|
15147
15102
|
|
@@ -17550,13 +17505,15 @@ define("ember-metal/tests/libraries_test.jshint",
|
|
17550
17505
|
});
|
17551
17506
|
});
|
17552
17507
|
define("ember-metal/tests/map_test",
|
17553
|
-
["ember-metal/map"],
|
17554
|
-
function(__dependency1__) {
|
17508
|
+
["ember-metal/map","ember-metal/platform"],
|
17509
|
+
function(__dependency1__, __dependency2__) {
|
17555
17510
|
"use strict";
|
17556
17511
|
var OrderedSet = __dependency1__.OrderedSet;
|
17557
17512
|
var Map = __dependency1__.Map;
|
17558
17513
|
var MapWithDefault = __dependency1__.MapWithDefault;
|
17559
17514
|
|
17515
|
+
var hasPropertyAccessors = __dependency2__.hasPropertyAccessors;
|
17516
|
+
|
17560
17517
|
var object, number, string, map, variety;
|
17561
17518
|
var varieties = [['Map', Map], ['MapWithDefault', MapWithDefault]];
|
17562
17519
|
|
@@ -17756,40 +17713,42 @@ define("ember-metal/tests/map_test",
|
|
17756
17713
|
mapHasEntries([ ], map2);
|
17757
17714
|
});
|
17758
17715
|
|
17759
|
-
|
17760
|
-
|
17716
|
+
if (hasPropertyAccessors) {
|
17717
|
+
test("length", function() {
|
17718
|
+
expectDeprecation('Usage of `length` is deprecated, use `size` instead.');
|
17761
17719
|
|
17762
|
-
|
17763
|
-
|
17764
|
-
|
17765
|
-
|
17766
|
-
|
17767
|
-
|
17720
|
+
//Add a key twice
|
17721
|
+
equal(map.length, 0);
|
17722
|
+
map.set(string, "a string");
|
17723
|
+
equal(map.length, 1);
|
17724
|
+
map.set(string, "the same string");
|
17725
|
+
equal(map.length, 1);
|
17768
17726
|
|
17769
|
-
|
17770
|
-
|
17771
|
-
|
17727
|
+
//Add another
|
17728
|
+
map.set(number, "a number");
|
17729
|
+
equal(map.length, 2);
|
17772
17730
|
|
17773
|
-
|
17774
|
-
|
17775
|
-
|
17731
|
+
//Remove one that doesn't exist
|
17732
|
+
map["delete"]('does not exist');
|
17733
|
+
equal(map.length, 2);
|
17776
17734
|
|
17777
|
-
|
17778
|
-
|
17779
|
-
|
17735
|
+
//Check copy
|
17736
|
+
var copy = map.copy();
|
17737
|
+
equal(copy.length, 2);
|
17780
17738
|
|
17781
|
-
|
17782
|
-
|
17783
|
-
|
17784
|
-
|
17785
|
-
|
17739
|
+
//Remove a key twice
|
17740
|
+
map["delete"](number);
|
17741
|
+
equal(map.length, 1);
|
17742
|
+
map["delete"](number);
|
17743
|
+
equal(map.length, 1);
|
17786
17744
|
|
17787
|
-
|
17788
|
-
|
17789
|
-
|
17790
|
-
|
17791
|
-
|
17792
|
-
|
17745
|
+
//Remove the last key
|
17746
|
+
map["delete"](string);
|
17747
|
+
equal(map.length, 0);
|
17748
|
+
map["delete"](string);
|
17749
|
+
equal(map.length, 0);
|
17750
|
+
});
|
17751
|
+
}
|
17793
17752
|
|
17794
17753
|
test("size", function() {
|
17795
17754
|
//Add a key twice
|
@@ -18031,6 +17990,22 @@ define("ember-metal/tests/map_test",
|
|
18031
17990
|
equal(map.get(boxed), 'not-a-number');
|
18032
17991
|
});
|
18033
17992
|
|
17993
|
+
test("0 value", function() {
|
17994
|
+
var obj = {};
|
17995
|
+
equal(map.has(obj), false);
|
17996
|
+
|
17997
|
+
equal(map.size, 0);
|
17998
|
+
map.set(obj, 0);
|
17999
|
+
equal(map.size, 1);
|
18000
|
+
|
18001
|
+
equal(map.has(obj), true);
|
18002
|
+
equal(map.get(obj), 0);
|
18003
|
+
|
18004
|
+
map["delete"](obj);
|
18005
|
+
equal(map.has(obj), false);
|
18006
|
+
equal(map.get(obj), undefined);
|
18007
|
+
equal(map.size, 0);
|
18008
|
+
});
|
18034
18009
|
}
|
18035
18010
|
|
18036
18011
|
for (var i = 0; i < varieties.length; i++) {
|