ember-source 2.13.0.beta.1 → 2.13.0.beta.2
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 +47 -31
- data/dist/ember-template-compiler.js +44 -31
- data/dist/ember-testing.js +8 -6
- data/dist/ember-tests.js +85 -4
- data/dist/ember-tests.prod.js +85 -4
- data/dist/ember.debug.js +66 -39
- data/dist/ember.js +66 -39
- data/dist/ember.min.js +35 -28
- data/dist/ember.prod.js +58 -33
- metadata +2 -2
data/dist/ember-testing.js
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
7
7
|
* @license Licensed under MIT license
|
8
8
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
9
|
-
* @version 2.13.0-beta.
|
9
|
+
* @version 2.13.0-beta.2
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
@@ -1225,13 +1225,15 @@ enifed('ember-testing/setup_for_testing', ['exports', 'ember-debug', 'ember-view
|
|
1225
1225
|
_emberTestingTestAdapter.setAdapter(typeof self.QUnit === 'undefined' ? new _emberTestingAdaptersAdapter.default() : new _emberTestingAdaptersQunit.default());
|
1226
1226
|
}
|
1227
1227
|
|
1228
|
-
_emberViews.jQuery
|
1229
|
-
|
1228
|
+
if (_emberViews.jQuery) {
|
1229
|
+
_emberViews.jQuery(document).off('ajaxSend', _emberTestingTestPending_requests.incrementPendingRequests);
|
1230
|
+
_emberViews.jQuery(document).off('ajaxComplete', _emberTestingTestPending_requests.decrementPendingRequests);
|
1230
1231
|
|
1231
|
-
|
1232
|
+
_emberTestingTestPending_requests.clearPendingRequests();
|
1232
1233
|
|
1233
|
-
|
1234
|
-
|
1234
|
+
_emberViews.jQuery(document).on('ajaxSend', _emberTestingTestPending_requests.incrementPendingRequests);
|
1235
|
+
_emberViews.jQuery(document).on('ajaxComplete', _emberTestingTestPending_requests.decrementPendingRequests);
|
1236
|
+
}
|
1235
1237
|
}
|
1236
1238
|
});
|
1237
1239
|
enifed('ember-testing/support', ['exports', 'ember-debug', 'ember-views', 'ember-environment'], function (exports, _emberDebug, _emberViews, _emberEnvironment) {
|
data/dist/ember-tests.js
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
7
7
|
* @license Licensed under MIT license
|
8
8
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
9
|
-
* @version 2.13.0-beta.
|
9
|
+
* @version 2.13.0-beta.2
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
@@ -6784,6 +6784,34 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
|
|
6784
6784
|
|
6785
6785
|
_emberDebugIndex.warn('foo', false, {});
|
6786
6786
|
});
|
6787
|
+
|
6788
|
+
QUnit.test('warn without options.id nor test triggers a deprecation', function (assert) {
|
6789
|
+
assert.expect(2);
|
6790
|
+
|
6791
|
+
_emberDebugDeprecate.registerHandler(function (message) {
|
6792
|
+
assert.equal(message, _emberDebugWarn.missingOptionsIdDeprecation, 'deprecation is triggered when options is missing');
|
6793
|
+
});
|
6794
|
+
|
6795
|
+
_emberDebugWarn.registerHandler(function (message) {
|
6796
|
+
assert.equal(message, 'foo', 'original warning is triggered');
|
6797
|
+
});
|
6798
|
+
|
6799
|
+
_emberDebugIndex.warn('foo', {});
|
6800
|
+
});
|
6801
|
+
|
6802
|
+
QUnit.test('warn without test but with options does not trigger a deprecation', function (assert) {
|
6803
|
+
assert.expect(1);
|
6804
|
+
|
6805
|
+
_emberDebugDeprecate.registerHandler(function (message) {
|
6806
|
+
assert.ok(false, 'there should be no deprecation ' + message);
|
6807
|
+
});
|
6808
|
+
|
6809
|
+
_emberDebugWarn.registerHandler(function (message) {
|
6810
|
+
assert.equal(message, 'foo', 'warning was triggered');
|
6811
|
+
});
|
6812
|
+
|
6813
|
+
_emberDebugIndex.warn('foo', { id: 'ember-debug.do-not-raise' });
|
6814
|
+
});
|
6787
6815
|
});
|
6788
6816
|
enifed('ember-debug/tests/main_test.lint-test', ['exports'], function (exports) {
|
6789
6817
|
'use strict';
|
@@ -27145,6 +27173,42 @@ babelHelpers.classCallCheck(this, _class2);
|
|
27145
27173
|
this.assertText('Click me');
|
27146
27174
|
};
|
27147
27175
|
|
27176
|
+
_class2.prototype['@test action handler that shifts element attributes doesn\'t trigger multiple invocations'] = function testActionHandlerThatShiftsElementAttributesDoesnTTriggerMultipleInvocations() {
|
27177
|
+
var _this34 = this;
|
27178
|
+
|
27179
|
+
var actionCount = 0;
|
27180
|
+
var ExampleComponent = _emberGlimmerTestsUtilsHelpers.Component.extend({
|
27181
|
+
selected: false,
|
27182
|
+
actions: {
|
27183
|
+
toggleSelected: function () {
|
27184
|
+
actionCount++;
|
27185
|
+
this.toggleProperty('selected');
|
27186
|
+
}
|
27187
|
+
}
|
27188
|
+
});
|
27189
|
+
|
27190
|
+
this.registerComponent('example-component', {
|
27191
|
+
ComponentClass: ExampleComponent,
|
27192
|
+
template: '<button class="{{if selected \'selected\'}}" {{action "toggleSelected"}}>Toggle Selected</button>'
|
27193
|
+
});
|
27194
|
+
|
27195
|
+
this.render('{{example-component}}');
|
27196
|
+
|
27197
|
+
this.runTask(function () {
|
27198
|
+
_this34.$('button').click();
|
27199
|
+
});
|
27200
|
+
|
27201
|
+
this.assert.equal(actionCount, 1, 'Click action only fired once.');
|
27202
|
+
this.assert.ok(this.$('button').hasClass('selected'), 'Element with action handler has properly updated it\'s conditional class');
|
27203
|
+
|
27204
|
+
this.runTask(function () {
|
27205
|
+
_this34.$('button').click();
|
27206
|
+
});
|
27207
|
+
|
27208
|
+
this.assert.equal(actionCount, 2, 'Second click action only fired once.');
|
27209
|
+
this.assert.ok(!this.$('button').hasClass('selected'), 'Element with action handler has properly updated it\'s conditional class');
|
27210
|
+
};
|
27211
|
+
|
27148
27212
|
return _class2;
|
27149
27213
|
})(_emberGlimmerTestsUtilsTestCase.RenderingTest));
|
27150
27214
|
});
|
@@ -41294,7 +41358,7 @@ enifed('ember-metal/tests/expand_properties_test', ['exports', 'ember-metal/expa
|
|
41294
41358
|
expect(1);
|
41295
41359
|
|
41296
41360
|
expectAssertion(function () {
|
41297
|
-
_emberMetalExpand_properties.default([], addProperty);
|
41361
|
+
_emberMetalExpand_properties.default([1, 2], addProperty);
|
41298
41362
|
}, /A computed property key must be a string/);
|
41299
41363
|
});
|
41300
41364
|
|
@@ -42480,7 +42544,7 @@ enifed('ember-metal/tests/meta_test', ['exports', 'ember-metal/meta'], function
|
|
42480
42544
|
assert.equal(matching[0], t);
|
42481
42545
|
m.removeFromListeners('hello', t, 'm');
|
42482
42546
|
matching = m.matchingListeners('hello');
|
42483
|
-
assert.equal(matching
|
42547
|
+
assert.equal(matching, undefined);
|
42484
42548
|
});
|
42485
42549
|
|
42486
42550
|
QUnit.test('meta.listeners inheritance', function (assert) {
|
@@ -42499,7 +42563,7 @@ enifed('ember-metal/tests/meta_test', ['exports', 'ember-metal/meta'], function
|
|
42499
42563
|
assert.equal(matching[2], 0);
|
42500
42564
|
m.removeFromListeners('hello', target, 'm');
|
42501
42565
|
matching = m.matchingListeners('hello');
|
42502
|
-
assert.equal(matching
|
42566
|
+
assert.equal(matching, undefined);
|
42503
42567
|
matching = parentMeta.matchingListeners('hello');
|
42504
42568
|
assert.equal(matching.length, 3);
|
42505
42569
|
});
|
@@ -47962,6 +48026,23 @@ enifed('ember-routing/tests/location/history_location_test', ['exports', 'ember-
|
|
47962
48026
|
|
47963
48027
|
equal(location.getURL(), '/foo/bar?time=morphin#pink-power-ranger');
|
47964
48028
|
});
|
48029
|
+
|
48030
|
+
QUnit.test('HistoryLocation.getURL() drops duplicate slashes', function () {
|
48031
|
+
expect(1);
|
48032
|
+
|
48033
|
+
HistoryTestLocation.reopen({
|
48034
|
+
init: function () {
|
48035
|
+
this._super.apply(this, arguments);
|
48036
|
+
var location = mockBrowserLocation('//');
|
48037
|
+
location.pathname = '//'; // mockBrowserLocation does not allow for `//`, so force it
|
48038
|
+
_emberMetal.set(this, 'location', location);
|
48039
|
+
}
|
48040
|
+
});
|
48041
|
+
|
48042
|
+
createLocation();
|
48043
|
+
|
48044
|
+
equal(location.getURL(), '/');
|
48045
|
+
});
|
47965
48046
|
});
|
47966
48047
|
enifed('ember-routing/tests/location/history_location_test.lint-test', ['exports'], function (exports) {
|
47967
48048
|
'use strict';
|
data/dist/ember-tests.prod.js
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
7
7
|
* @license Licensed under MIT license
|
8
8
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
9
|
-
* @version 2.13.0-beta.
|
9
|
+
* @version 2.13.0-beta.2
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
@@ -6773,6 +6773,34 @@ enifed('ember-debug/tests/main_test', ['exports', 'ember-environment', 'ember-ru
|
|
6773
6773
|
|
6774
6774
|
_emberDebugIndex.warn('foo', false, {});
|
6775
6775
|
});
|
6776
|
+
|
6777
|
+
QUnit.test('warn without options.id nor test triggers a deprecation', function (assert) {
|
6778
|
+
assert.expect(2);
|
6779
|
+
|
6780
|
+
_emberDebugDeprecate.registerHandler(function (message) {
|
6781
|
+
assert.equal(message, _emberDebugWarn.missingOptionsIdDeprecation, 'deprecation is triggered when options is missing');
|
6782
|
+
});
|
6783
|
+
|
6784
|
+
_emberDebugWarn.registerHandler(function (message) {
|
6785
|
+
assert.equal(message, 'foo', 'original warning is triggered');
|
6786
|
+
});
|
6787
|
+
|
6788
|
+
_emberDebugIndex.warn('foo', {});
|
6789
|
+
});
|
6790
|
+
|
6791
|
+
QUnit.test('warn without test but with options does not trigger a deprecation', function (assert) {
|
6792
|
+
assert.expect(1);
|
6793
|
+
|
6794
|
+
_emberDebugDeprecate.registerHandler(function (message) {
|
6795
|
+
assert.ok(false, 'there should be no deprecation ' + message);
|
6796
|
+
});
|
6797
|
+
|
6798
|
+
_emberDebugWarn.registerHandler(function (message) {
|
6799
|
+
assert.equal(message, 'foo', 'warning was triggered');
|
6800
|
+
});
|
6801
|
+
|
6802
|
+
_emberDebugIndex.warn('foo', { id: 'ember-debug.do-not-raise' });
|
6803
|
+
});
|
6776
6804
|
});
|
6777
6805
|
enifed('ember-debug/tests/main_test.lint-test', ['exports'], function (exports) {
|
6778
6806
|
'use strict';
|
@@ -26997,6 +27025,42 @@ babelHelpers.inherits(_class2, _RenderingTest2);
|
|
26997
27025
|
this.assertText('Click me');
|
26998
27026
|
};
|
26999
27027
|
|
27028
|
+
_class2.prototype['@test action handler that shifts element attributes doesn\'t trigger multiple invocations'] = function testActionHandlerThatShiftsElementAttributesDoesnTTriggerMultipleInvocations() {
|
27029
|
+
var _this34 = this;
|
27030
|
+
|
27031
|
+
var actionCount = 0;
|
27032
|
+
var ExampleComponent = _emberGlimmerTestsUtilsHelpers.Component.extend({
|
27033
|
+
selected: false,
|
27034
|
+
actions: {
|
27035
|
+
toggleSelected: function () {
|
27036
|
+
actionCount++;
|
27037
|
+
this.toggleProperty('selected');
|
27038
|
+
}
|
27039
|
+
}
|
27040
|
+
});
|
27041
|
+
|
27042
|
+
this.registerComponent('example-component', {
|
27043
|
+
ComponentClass: ExampleComponent,
|
27044
|
+
template: '<button class="{{if selected \'selected\'}}" {{action "toggleSelected"}}>Toggle Selected</button>'
|
27045
|
+
});
|
27046
|
+
|
27047
|
+
this.render('{{example-component}}');
|
27048
|
+
|
27049
|
+
this.runTask(function () {
|
27050
|
+
_this34.$('button').click();
|
27051
|
+
});
|
27052
|
+
|
27053
|
+
this.assert.equal(actionCount, 1, 'Click action only fired once.');
|
27054
|
+
this.assert.ok(this.$('button').hasClass('selected'), 'Element with action handler has properly updated it\'s conditional class');
|
27055
|
+
|
27056
|
+
this.runTask(function () {
|
27057
|
+
_this34.$('button').click();
|
27058
|
+
});
|
27059
|
+
|
27060
|
+
this.assert.equal(actionCount, 2, 'Second click action only fired once.');
|
27061
|
+
this.assert.ok(!this.$('button').hasClass('selected'), 'Element with action handler has properly updated it\'s conditional class');
|
27062
|
+
};
|
27063
|
+
|
27000
27064
|
return _class2;
|
27001
27065
|
})(_emberGlimmerTestsUtilsTestCase.RenderingTest));
|
27002
27066
|
});
|
@@ -40916,7 +40980,7 @@ enifed('ember-metal/tests/expand_properties_test', ['exports', 'ember-metal/expa
|
|
40916
40980
|
expect(1);
|
40917
40981
|
|
40918
40982
|
expectAssertion(function () {
|
40919
|
-
_emberMetalExpand_properties.default([], addProperty);
|
40983
|
+
_emberMetalExpand_properties.default([1, 2], addProperty);
|
40920
40984
|
}, /A computed property key must be a string/);
|
40921
40985
|
});
|
40922
40986
|
|
@@ -42102,7 +42166,7 @@ enifed('ember-metal/tests/meta_test', ['exports', 'ember-metal/meta'], function
|
|
42102
42166
|
assert.equal(matching[0], t);
|
42103
42167
|
m.removeFromListeners('hello', t, 'm');
|
42104
42168
|
matching = m.matchingListeners('hello');
|
42105
|
-
assert.equal(matching
|
42169
|
+
assert.equal(matching, undefined);
|
42106
42170
|
});
|
42107
42171
|
|
42108
42172
|
QUnit.test('meta.listeners inheritance', function (assert) {
|
@@ -42121,7 +42185,7 @@ enifed('ember-metal/tests/meta_test', ['exports', 'ember-metal/meta'], function
|
|
42121
42185
|
assert.equal(matching[2], 0);
|
42122
42186
|
m.removeFromListeners('hello', target, 'm');
|
42123
42187
|
matching = m.matchingListeners('hello');
|
42124
|
-
assert.equal(matching
|
42188
|
+
assert.equal(matching, undefined);
|
42125
42189
|
matching = parentMeta.matchingListeners('hello');
|
42126
42190
|
assert.equal(matching.length, 3);
|
42127
42191
|
});
|
@@ -47584,6 +47648,23 @@ enifed('ember-routing/tests/location/history_location_test', ['exports', 'ember-
|
|
47584
47648
|
|
47585
47649
|
equal(location.getURL(), '/foo/bar?time=morphin#pink-power-ranger');
|
47586
47650
|
});
|
47651
|
+
|
47652
|
+
QUnit.test('HistoryLocation.getURL() drops duplicate slashes', function () {
|
47653
|
+
expect(1);
|
47654
|
+
|
47655
|
+
HistoryTestLocation.reopen({
|
47656
|
+
init: function () {
|
47657
|
+
this._super.apply(this, arguments);
|
47658
|
+
var location = mockBrowserLocation('//');
|
47659
|
+
location.pathname = '//'; // mockBrowserLocation does not allow for `//`, so force it
|
47660
|
+
_emberMetal.set(this, 'location', location);
|
47661
|
+
}
|
47662
|
+
});
|
47663
|
+
|
47664
|
+
createLocation();
|
47665
|
+
|
47666
|
+
equal(location.getURL(), '/');
|
47667
|
+
});
|
47587
47668
|
});
|
47588
47669
|
enifed('ember-routing/tests/location/history_location_test.lint-test', ['exports'], function (exports) {
|
47589
47670
|
'use strict';
|
data/dist/ember.debug.js
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
7
7
|
* @license Licensed under MIT license
|
8
8
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
9
|
-
* @version 2.13.0-beta.
|
9
|
+
* @version 2.13.0-beta.2
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
@@ -3697,6 +3697,7 @@ enifed('container/container', ['exports', 'ember-debug', 'ember-utils', 'ember-e
|
|
3697
3697
|
this.fullName = fullName;
|
3698
3698
|
this.normalizedName = normalizedName;
|
3699
3699
|
this.madeToString = undefined;
|
3700
|
+
this.injections = undefined;
|
3700
3701
|
}
|
3701
3702
|
|
3702
3703
|
FactoryManager.prototype.create = function create() {
|
@@ -3704,7 +3705,13 @@ enifed('container/container', ['exports', 'ember-debug', 'ember-utils', 'ember-e
|
|
3704
3705
|
|
3705
3706
|
var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
|
3706
3707
|
|
3707
|
-
var injections =
|
3708
|
+
var injections = this.injections;
|
3709
|
+
if (injections === undefined) {
|
3710
|
+
injections = injectionsFor(this.container, this.normalizedName);
|
3711
|
+
if (areInjectionsDynamic(injections) === false) {
|
3712
|
+
this.injections = injections;
|
3713
|
+
}
|
3714
|
+
}
|
3708
3715
|
var props = _emberUtils.assign({}, injections, options);
|
3709
3716
|
|
3710
3717
|
props[_emberUtils.NAME_KEY] = this.madeToString || (this.madeToString = this.container.registry.makeToString(this.class, this.fullName));
|
@@ -8347,6 +8354,10 @@ enifed('ember-debug/warn', ['exports', 'ember-console', 'ember-debug/deprecate',
|
|
8347
8354
|
*/
|
8348
8355
|
|
8349
8356
|
function warn(message, test, options) {
|
8357
|
+
if (arguments.length === 2 && typeof test === 'object') {
|
8358
|
+
options = test;
|
8359
|
+
test = false;
|
8360
|
+
}
|
8350
8361
|
if (!options) {
|
8351
8362
|
_emberDebugDeprecate.default(missingOptionsDeprecation, false, {
|
8352
8363
|
id: 'ember-debug.warn-options-missing',
|
@@ -8363,7 +8374,7 @@ enifed('ember-debug/warn', ['exports', 'ember-console', 'ember-debug/deprecate',
|
|
8363
8374
|
});
|
8364
8375
|
}
|
8365
8376
|
|
8366
|
-
_emberDebugHandlers.invoke
|
8377
|
+
_emberDebugHandlers.invoke('warn', message, test, options);
|
8367
8378
|
}
|
8368
8379
|
});
|
8369
8380
|
enifed('ember-environment/global', ['exports'], function (exports) {
|
@@ -18759,18 +18770,18 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18759
18770
|
// It is false for the root of a chain (because we have no parent)
|
18760
18771
|
// and for global paths (because the parent node is the object with
|
18761
18772
|
// the observer on it)
|
18762
|
-
this._watching = value === undefined;
|
18773
|
+
var isWatching = this._watching = value === undefined;
|
18763
18774
|
|
18764
18775
|
this._chains = undefined;
|
18765
18776
|
this._object = undefined;
|
18766
18777
|
this.count = 0;
|
18767
18778
|
|
18768
18779
|
this._value = value;
|
18769
|
-
this._paths =
|
18770
|
-
if (
|
18780
|
+
this._paths = undefined;
|
18781
|
+
if (isWatching === true) {
|
18771
18782
|
var obj = parent.value();
|
18772
18783
|
|
18773
|
-
if (!isObject(obj)) {
|
18784
|
+
if (!isObject(obj) === true) {
|
18774
18785
|
return;
|
18775
18786
|
}
|
18776
18787
|
|
@@ -18781,7 +18792,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18781
18792
|
}
|
18782
18793
|
|
18783
18794
|
ChainNode.prototype.value = function value() {
|
18784
|
-
if (this._value === undefined && this._watching) {
|
18795
|
+
if (this._value === undefined && this._watching === true) {
|
18785
18796
|
var obj = this._parent.value();
|
18786
18797
|
this._value = lazyGet(obj, this._key);
|
18787
18798
|
}
|
@@ -18789,7 +18800,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18789
18800
|
};
|
18790
18801
|
|
18791
18802
|
ChainNode.prototype.destroy = function destroy() {
|
18792
|
-
if (this._watching) {
|
18803
|
+
if (this._watching === true) {
|
18793
18804
|
var obj = this._object;
|
18794
18805
|
if (obj) {
|
18795
18806
|
removeChainWatcher(obj, this._key, this);
|
@@ -18804,13 +18815,14 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18804
18815
|
var ret = new ChainNode(null, null, obj);
|
18805
18816
|
var paths = this._paths;
|
18806
18817
|
var path = undefined;
|
18807
|
-
|
18808
|
-
|
18809
|
-
|
18810
|
-
|
18811
|
-
|
18818
|
+
if (paths !== undefined) {
|
18819
|
+
for (path in paths) {
|
18820
|
+
// this check will also catch non-number vals.
|
18821
|
+
if (paths[path] <= 0) {
|
18822
|
+
continue;
|
18823
|
+
}
|
18824
|
+
ret.add(path);
|
18812
18825
|
}
|
18813
|
-
ret.add(path);
|
18814
18826
|
}
|
18815
18827
|
return ret;
|
18816
18828
|
};
|
@@ -18819,7 +18831,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18819
18831
|
// path.
|
18820
18832
|
|
18821
18833
|
ChainNode.prototype.add = function add(path) {
|
18822
|
-
var paths = this._paths;
|
18834
|
+
var paths = this._paths || (this._paths = {});
|
18823
18835
|
paths[path] = (paths[path] || 0) + 1;
|
18824
18836
|
|
18825
18837
|
var key = firstKey(path);
|
@@ -18833,6 +18845,9 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18833
18845
|
|
18834
18846
|
ChainNode.prototype.remove = function remove(path) {
|
18835
18847
|
var paths = this._paths;
|
18848
|
+
if (paths === undefined) {
|
18849
|
+
return;
|
18850
|
+
}
|
18836
18851
|
if (paths[path] > 0) {
|
18837
18852
|
paths[path]--;
|
18838
18853
|
}
|
@@ -18886,11 +18901,11 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18886
18901
|
};
|
18887
18902
|
|
18888
18903
|
ChainNode.prototype.notify = function notify(revalidate, affected) {
|
18889
|
-
if (revalidate && this._watching) {
|
18904
|
+
if (revalidate && this._watching === true) {
|
18890
18905
|
var parentValue = this._parent.value();
|
18891
18906
|
|
18892
18907
|
if (parentValue !== this._object) {
|
18893
|
-
if (this._object) {
|
18908
|
+
if (this._object !== undefined) {
|
18894
18909
|
removeChainWatcher(this._object, this._key, this);
|
18895
18910
|
}
|
18896
18911
|
|
@@ -18907,7 +18922,7 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18907
18922
|
// then notify chains...
|
18908
18923
|
var chains = this._chains;
|
18909
18924
|
var node = undefined;
|
18910
|
-
if (chains) {
|
18925
|
+
if (chains !== undefined) {
|
18911
18926
|
for (var key in chains) {
|
18912
18927
|
node = chains[key];
|
18913
18928
|
if (node !== undefined) {
|
@@ -18946,12 +18961,12 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18946
18961
|
var meta = _emberMetalMeta.peekMeta(obj);
|
18947
18962
|
|
18948
18963
|
// check if object meant only to be a prototype
|
18949
|
-
if (meta && meta.proto === obj) {
|
18964
|
+
if (meta !== undefined && meta.proto === obj) {
|
18950
18965
|
return;
|
18951
18966
|
}
|
18952
18967
|
|
18953
18968
|
// Use `get` if the return value is an EachProxy or an uncacheable value.
|
18954
|
-
if (isVolatile(obj[key])) {
|
18969
|
+
if (isVolatile(obj[key]) === true) {
|
18955
18970
|
return _emberMetalProperty_get.get(obj, key);
|
18956
18971
|
// Otherwise attempt to get the cached value of the computed property
|
18957
18972
|
} else {
|
@@ -18965,17 +18980,17 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
18965
18980
|
function finishChains(obj) {
|
18966
18981
|
// We only create meta if we really have to
|
18967
18982
|
var m = _emberMetalMeta.peekMeta(obj);
|
18968
|
-
if (m) {
|
18983
|
+
if (m !== undefined) {
|
18969
18984
|
m = _emberMetalMeta.meta(obj);
|
18970
18985
|
|
18971
18986
|
// finish any current chains node watchers that reference obj
|
18972
18987
|
var chainWatchers = m.readableChainWatchers();
|
18973
|
-
if (chainWatchers) {
|
18988
|
+
if (chainWatchers !== undefined) {
|
18974
18989
|
chainWatchers.revalidateAll();
|
18975
18990
|
}
|
18976
18991
|
// ensure that if we have inherited any chains they have been
|
18977
18992
|
// copied onto our own meta.
|
18978
|
-
if (m.readableChains()) {
|
18993
|
+
if (m.readableChains() !== undefined) {
|
18979
18994
|
m.writableChains(_emberMetalWatch_path.makeChainNode);
|
18980
18995
|
}
|
18981
18996
|
}
|
@@ -19853,6 +19868,9 @@ enifed('ember-metal/events', ['exports', 'ember-utils', 'ember-metal/meta', 'emb
|
|
19853
19868
|
return;
|
19854
19869
|
}
|
19855
19870
|
var actions = meta.matchingListeners(eventName);
|
19871
|
+
if (actions === undefined) {
|
19872
|
+
return;
|
19873
|
+
}
|
19856
19874
|
var newActions = [];
|
19857
19875
|
|
19858
19876
|
for (var i = actions.length - 3; i >= 0; i -= 3) {
|
@@ -20070,7 +20088,8 @@ enifed('ember-metal/events', ['exports', 'ember-utils', 'ember-metal/meta', 'emb
|
|
20070
20088
|
if (!meta) {
|
20071
20089
|
return false;
|
20072
20090
|
}
|
20073
|
-
|
20091
|
+
var matched = meta.matchingListeners(eventName);
|
20092
|
+
return matched !== undefined && matched.length > 0;
|
20074
20093
|
}
|
20075
20094
|
|
20076
20095
|
/**
|
@@ -20176,7 +20195,7 @@ enifed('ember-metal/expand_properties', ['exports', 'ember-debug'], function (ex
|
|
20176
20195
|
*/
|
20177
20196
|
|
20178
20197
|
function expandProperties(pattern, callback) {
|
20179
|
-
_emberDebug.assert('A computed property key must be a string', typeof pattern === 'string');
|
20198
|
+
_emberDebug.assert('A computed property key must be a string, you passed ' + typeof pattern + ' ' + pattern, typeof pattern === 'string');
|
20180
20199
|
_emberDebug.assert('Brace expanded properties cannot contain spaces, e.g. "user.{firstName, lastName}" should be "user.{firstName,lastName}"', pattern.indexOf(' ') === -1);
|
20181
20200
|
|
20182
20201
|
var unbalancedNestedError = 'Brace expanded properties have to be balanced and cannot be nested, pattern: ' + pattern;
|
@@ -22227,23 +22246,24 @@ enifed('ember-metal/meta_listeners', ['exports'], function (exports) {
|
|
22227
22246
|
|
22228
22247
|
matchingListeners: function (eventName) {
|
22229
22248
|
var pointer = this;
|
22230
|
-
var result =
|
22231
|
-
while (pointer) {
|
22249
|
+
var result = undefined;
|
22250
|
+
while (pointer !== undefined) {
|
22232
22251
|
var listeners = pointer._listeners;
|
22233
|
-
if (listeners) {
|
22252
|
+
if (listeners !== undefined) {
|
22234
22253
|
for (var index = 0; index < listeners.length - 3; index += 4) {
|
22235
22254
|
if (listeners[index] === eventName) {
|
22255
|
+
result = result || [];
|
22236
22256
|
pushUniqueListener(result, listeners, index);
|
22237
22257
|
}
|
22238
22258
|
}
|
22239
22259
|
}
|
22240
|
-
if (pointer._listenersFinalized) {
|
22260
|
+
if (pointer._listenersFinalized === true) {
|
22241
22261
|
break;
|
22242
22262
|
}
|
22243
22263
|
pointer = pointer.parent;
|
22244
22264
|
}
|
22245
22265
|
var sus = this._suspendedListeners;
|
22246
|
-
if (sus) {
|
22266
|
+
if (sus !== undefined && result !== undefined) {
|
22247
22267
|
for (var susIndex = 0; susIndex < sus.length - 2; susIndex += 3) {
|
22248
22268
|
if (eventName === sus[susIndex]) {
|
22249
22269
|
for (var resultIndex = 0; resultIndex < result.length - 2; resultIndex += 3) {
|
@@ -26561,7 +26581,7 @@ enifed('ember-routing/location/history_location', ['exports', 'ember-metal', 'em
|
|
26561
26581
|
baseURL = baseURL.replace(/\/$/, '');
|
26562
26582
|
|
26563
26583
|
// remove baseURL and rootURL from start of path
|
26564
|
-
var url = path.replace(new RegExp('^' + baseURL + '(?=/|$)'), '').replace(new RegExp('^' + rootURL + '(?=/|$)'), '');
|
26584
|
+
var url = path.replace(new RegExp('^' + baseURL + '(?=/|$)'), '').replace(new RegExp('^' + rootURL + '(?=/|$)'), '').replace(/\/\/$/g, '/'); // remove extra slashes
|
26565
26585
|
|
26566
26586
|
var search = location.search || '';
|
26567
26587
|
url += search + this.getHash();
|
@@ -41401,13 +41421,15 @@ enifed('ember-testing/setup_for_testing', ['exports', 'ember-debug', 'ember-view
|
|
41401
41421
|
_emberTestingTestAdapter.setAdapter(typeof self.QUnit === 'undefined' ? new _emberTestingAdaptersAdapter.default() : new _emberTestingAdaptersQunit.default());
|
41402
41422
|
}
|
41403
41423
|
|
41404
|
-
_emberViews.jQuery
|
41405
|
-
|
41424
|
+
if (_emberViews.jQuery) {
|
41425
|
+
_emberViews.jQuery(document).off('ajaxSend', _emberTestingTestPending_requests.incrementPendingRequests);
|
41426
|
+
_emberViews.jQuery(document).off('ajaxComplete', _emberTestingTestPending_requests.decrementPendingRequests);
|
41406
41427
|
|
41407
|
-
|
41428
|
+
_emberTestingTestPending_requests.clearPendingRequests();
|
41408
41429
|
|
41409
|
-
|
41410
|
-
|
41430
|
+
_emberViews.jQuery(document).on('ajaxSend', _emberTestingTestPending_requests.incrementPendingRequests);
|
41431
|
+
_emberViews.jQuery(document).on('ajaxComplete', _emberTestingTestPending_requests.decrementPendingRequests);
|
41432
|
+
}
|
41411
41433
|
}
|
41412
41434
|
});
|
41413
41435
|
enifed('ember-testing/support', ['exports', 'ember-debug', 'ember-views', 'ember-environment'], function (exports, _emberDebug, _emberViews, _emberEnvironment) {
|
@@ -44207,6 +44229,7 @@ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-
|
|
44207
44229
|
|
44208
44230
|
rootElement.on(event + '.ember', '[data-ember-action]', function (evt) {
|
44209
44231
|
var attributes = evt.currentTarget.attributes;
|
44232
|
+
var handledActions = [];
|
44210
44233
|
|
44211
44234
|
for (var i = 0; i < attributes.length; i++) {
|
44212
44235
|
var attr = attributes.item(i);
|
@@ -44218,8 +44241,12 @@ enifed('ember-views/system/event_dispatcher', ['exports', 'ember-utils', 'ember-
|
|
44218
44241
|
// We have to check for action here since in some cases, jQuery will trigger
|
44219
44242
|
// an event on `removeChild` (i.e. focusout) after we've already torn down the
|
44220
44243
|
// action handlers for the view.
|
44221
|
-
if (action && action.eventName === eventName) {
|
44244
|
+
if (action && action.eventName === eventName && handledActions.indexOf(action) === -1) {
|
44222
44245
|
action.handler(evt);
|
44246
|
+
// Action handlers can mutate state which in turn creates new attributes on the element.
|
44247
|
+
// This effect could cause the `data-ember-action` attribute to shift down and be invoked twice.
|
44248
|
+
// To avoid this, we keep track of which actions have been handled.
|
44249
|
+
handledActions.push(action);
|
44223
44250
|
}
|
44224
44251
|
}
|
44225
44252
|
}
|
@@ -45426,7 +45453,7 @@ enifed('ember/index', ['exports', 'require', 'ember-environment', 'ember-utils',
|
|
45426
45453
|
enifed("ember/version", ["exports"], function (exports) {
|
45427
45454
|
"use strict";
|
45428
45455
|
|
45429
|
-
exports.default = "2.13.0-beta.
|
45456
|
+
exports.default = "2.13.0-beta.2";
|
45430
45457
|
});
|
45431
45458
|
enifed('internal-test-helpers/apply-mixins', ['exports', 'ember-utils'], function (exports, _emberUtils) {
|
45432
45459
|
'use strict';
|