ember-source 2.13.0.beta.2 → 2.13.0
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 +158 -73
- data/dist/ember-template-compiler.js +79 -30
- data/dist/ember-testing.js +6 -3
- data/dist/ember-tests.js +86 -10
- data/dist/ember-tests.prod.js +82 -10
- data/dist/ember.debug.js +199 -77
- data/dist/ember.js +199 -77
- data/dist/ember.min.js +95 -88
- data/dist/ember.prod.js +195 -73
- metadata +4 -4
@@ -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
|
9
|
+
* @version 2.13.0
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
@@ -7246,22 +7246,16 @@ enifed('ember-metal/chains', ['exports', 'ember-metal/property_get', 'ember-meta
|
|
7246
7246
|
}
|
7247
7247
|
}
|
7248
7248
|
|
7249
|
-
function finishChains(
|
7250
|
-
//
|
7251
|
-
var
|
7252
|
-
if (
|
7253
|
-
|
7254
|
-
|
7255
|
-
|
7256
|
-
|
7257
|
-
|
7258
|
-
|
7259
|
-
}
|
7260
|
-
// ensure that if we have inherited any chains they have been
|
7261
|
-
// copied onto our own meta.
|
7262
|
-
if (m.readableChains() !== undefined) {
|
7263
|
-
m.writableChains(_emberMetalWatch_path.makeChainNode);
|
7264
|
-
}
|
7249
|
+
function finishChains(meta) {
|
7250
|
+
// finish any current chains node watchers that reference obj
|
7251
|
+
var chainWatchers = meta.readableChainWatchers();
|
7252
|
+
if (chainWatchers !== undefined) {
|
7253
|
+
chainWatchers.revalidateAll();
|
7254
|
+
}
|
7255
|
+
// ensure that if we have inherited any chains they have been
|
7256
|
+
// copied onto our own meta.
|
7257
|
+
if (meta.readableChains() !== undefined) {
|
7258
|
+
meta.writableChains(_emberMetalWatch_path.makeChainNode);
|
7265
7259
|
}
|
7266
7260
|
}
|
7267
7261
|
|
@@ -8029,7 +8023,7 @@ enifed('ember-metal/error_handler', ['exports', 'ember-console', 'ember-debug'],
|
|
8029
8023
|
var stack = error.stack;
|
8030
8024
|
var message = error.message;
|
8031
8025
|
|
8032
|
-
if (stack &&
|
8026
|
+
if (stack && stack.indexOf(message) === -1) {
|
8033
8027
|
stack = message + '\n' + stack;
|
8034
8028
|
}
|
8035
8029
|
|
@@ -8622,6 +8616,7 @@ enifed('ember-metal/index', ['exports', 'ember-metal/core', 'ember-metal/compute
|
|
8622
8616
|
exports.PROPERTY_DID_CHANGE = _emberMetalProperty_events.PROPERTY_DID_CHANGE;
|
8623
8617
|
exports.defineProperty = _emberMetalProperties.defineProperty;
|
8624
8618
|
exports.Descriptor = _emberMetalProperties.Descriptor;
|
8619
|
+
exports._hasCachedComputedProperties = _emberMetalProperties._hasCachedComputedProperties;
|
8625
8620
|
exports.watchKey = _emberMetalWatch_key.watchKey;
|
8626
8621
|
exports.unwatchKey = _emberMetalWatch_key.unwatchKey;
|
8627
8622
|
exports.ChainNode = _emberMetalChains.ChainNode;
|
@@ -9882,6 +9877,7 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/meta_listener
|
|
9882
9877
|
this._chains = undefined;
|
9883
9878
|
this._tag = undefined;
|
9884
9879
|
this._tags = undefined;
|
9880
|
+
this._factory = undefined;
|
9885
9881
|
|
9886
9882
|
// initial value for all flags right now is false
|
9887
9883
|
// see FLAGS const for detailed list of flags used
|
@@ -10130,6 +10126,15 @@ enifed('ember-metal/meta', ['exports', 'ember-utils', 'ember-metal/meta_listener
|
|
10130
10126
|
}
|
10131
10127
|
};
|
10132
10128
|
|
10129
|
+
babelHelpers.createClass(Meta, [{
|
10130
|
+
key: 'factory',
|
10131
|
+
set: function (factory) {
|
10132
|
+
this._factory = factory;
|
10133
|
+
},
|
10134
|
+
get: function () {
|
10135
|
+
return this._factory;
|
10136
|
+
}
|
10137
|
+
}]);
|
10133
10138
|
return Meta;
|
10134
10139
|
})();
|
10135
10140
|
|
@@ -11797,6 +11802,7 @@ enifed('ember-metal/properties', ['exports', 'ember-debug', 'ember-metal/meta',
|
|
11797
11802
|
exports.DEFAULT_GETTER_FUNCTION = DEFAULT_GETTER_FUNCTION;
|
11798
11803
|
exports.INHERITING_GETTER_FUNCTION = INHERITING_GETTER_FUNCTION;
|
11799
11804
|
exports.defineProperty = defineProperty;
|
11805
|
+
exports._hasCachedComputedProperties = _hasCachedComputedProperties;
|
11800
11806
|
|
11801
11807
|
// ..........................................................
|
11802
11808
|
// DESCRIPTOR
|
@@ -11919,24 +11925,20 @@ enifed('ember-metal/properties', ['exports', 'ember-debug', 'ember-metal/meta',
|
|
11919
11925
|
*/
|
11920
11926
|
|
11921
11927
|
function defineProperty(obj, keyName, desc, data, meta) {
|
11922
|
-
var possibleDesc = undefined,
|
11923
|
-
existingDesc = undefined,
|
11924
|
-
watching = undefined,
|
11925
|
-
value = undefined;
|
11926
|
-
|
11927
11928
|
if (!meta) {
|
11928
11929
|
meta = _emberMetalMeta.meta(obj);
|
11929
11930
|
}
|
11930
11931
|
var watchEntry = meta.peekWatching(keyName);
|
11931
|
-
possibleDesc = obj[keyName];
|
11932
|
-
existingDesc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
|
11932
|
+
var possibleDesc = obj[keyName];
|
11933
|
+
var existingDesc = possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor ? possibleDesc : undefined;
|
11933
11934
|
|
11934
|
-
watching = watchEntry !== undefined && watchEntry > 0;
|
11935
|
+
var watching = watchEntry !== undefined && watchEntry > 0;
|
11935
11936
|
|
11936
11937
|
if (existingDesc) {
|
11937
11938
|
existingDesc.teardown(obj, keyName);
|
11938
11939
|
}
|
11939
11940
|
|
11941
|
+
var value = undefined;
|
11940
11942
|
if (desc instanceof Descriptor) {
|
11941
11943
|
value = desc;
|
11942
11944
|
if (true) {
|
@@ -11953,7 +11955,10 @@ enifed('ember-metal/properties', ['exports', 'ember-debug', 'ember-metal/meta',
|
|
11953
11955
|
} else {
|
11954
11956
|
obj[keyName] = value;
|
11955
11957
|
}
|
11956
|
-
|
11958
|
+
|
11959
|
+
didDefineComputedProperty(obj.constructor);
|
11960
|
+
|
11961
|
+
if (typeof desc.setup === 'function') {
|
11957
11962
|
desc.setup(obj, keyName);
|
11958
11963
|
}
|
11959
11964
|
} else {
|
@@ -11998,13 +12003,30 @@ enifed('ember-metal/properties', ['exports', 'ember-debug', 'ember-metal/meta',
|
|
11998
12003
|
|
11999
12004
|
// The `value` passed to the `didDefineProperty` hook is
|
12000
12005
|
// either the descriptor or data, whichever was passed.
|
12001
|
-
if (obj.didDefineProperty) {
|
12006
|
+
if (typeof obj.didDefineProperty === 'function') {
|
12002
12007
|
obj.didDefineProperty(obj, keyName, value);
|
12003
12008
|
}
|
12004
12009
|
|
12005
12010
|
return this;
|
12006
12011
|
}
|
12007
12012
|
|
12013
|
+
var hasCachedComputedProperties = false;
|
12014
|
+
|
12015
|
+
function _hasCachedComputedProperties() {
|
12016
|
+
hasCachedComputedProperties = true;
|
12017
|
+
}
|
12018
|
+
|
12019
|
+
function didDefineComputedProperty(constructor) {
|
12020
|
+
if (hasCachedComputedProperties === false) {
|
12021
|
+
return;
|
12022
|
+
}
|
12023
|
+
var cache = _emberMetalMeta.meta(constructor).readableCache();
|
12024
|
+
|
12025
|
+
if (cache && cache._computedProperties !== undefined) {
|
12026
|
+
cache._computedProperties = undefined;
|
12027
|
+
}
|
12028
|
+
}
|
12029
|
+
|
12008
12030
|
function handleBrokenPhantomDefineProperty(obj, keyName, desc) {
|
12009
12031
|
// https://github.com/ariya/phantomjs/issues/11856
|
12010
12032
|
Object.defineProperty(obj, keyName, { configurable: true, writable: true, value: 'iCry' });
|
@@ -16113,13 +16135,40 @@ enifed('ember-utils/to-string', ['exports'], function (exports) {
|
|
16113
16135
|
exports.default = toString;
|
16114
16136
|
var objectToString = Object.prototype.toString;
|
16115
16137
|
|
16138
|
+
function isNone(obj) {
|
16139
|
+
return obj === null || obj === undefined;
|
16140
|
+
}
|
16141
|
+
|
16116
16142
|
/*
|
16117
16143
|
A `toString` util function that supports objects without a `toString`
|
16118
16144
|
method, e.g. an object created with `Object.create(null)`.
|
16119
16145
|
*/
|
16120
16146
|
|
16121
16147
|
function toString(obj) {
|
16122
|
-
|
16148
|
+
var type = typeof obj;
|
16149
|
+
if (type === "string") {
|
16150
|
+
return obj;
|
16151
|
+
}
|
16152
|
+
|
16153
|
+
if (Array.isArray(obj)) {
|
16154
|
+
// Reimplement Array.prototype.join according to spec (22.1.3.13)
|
16155
|
+
// Changing ToString(element) with this safe version of ToString.
|
16156
|
+
var len = obj.length;
|
16157
|
+
var sep = ',';
|
16158
|
+
var r = '';
|
16159
|
+
|
16160
|
+
for (var k = 0; k < len; k++) {
|
16161
|
+
if (k > 0) {
|
16162
|
+
r += ',';
|
16163
|
+
}
|
16164
|
+
|
16165
|
+
if (!isNone(obj[k])) {
|
16166
|
+
r += toString(obj[k]);
|
16167
|
+
}
|
16168
|
+
}
|
16169
|
+
|
16170
|
+
return r;
|
16171
|
+
} else if (obj != null && typeof obj.toString === 'function') {
|
16123
16172
|
return obj.toString();
|
16124
16173
|
} else {
|
16125
16174
|
return objectToString.call(obj);
|
@@ -16151,7 +16200,7 @@ enifed("ember/features", ["exports"], function (exports) {
|
|
16151
16200
|
enifed("ember/version", ["exports"], function (exports) {
|
16152
16201
|
"use strict";
|
16153
16202
|
|
16154
|
-
exports.default = "2.13.0
|
16203
|
+
exports.default = "2.13.0";
|
16155
16204
|
});
|
16156
16205
|
enifed("handlebars", ["exports"], function (exports) {
|
16157
16206
|
/* istanbul ignore next */
|
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
|
9
|
+
* @version 2.13.0
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
@@ -1841,6 +1841,9 @@ enifed('ember-testing/test/waiters', ['exports', 'ember-debug'], function (expor
|
|
1841
1841
|
return array;
|
1842
1842
|
}
|
1843
1843
|
});
|
1844
|
-
requireModule(
|
1845
|
-
|
1844
|
+
var testing = requireModule('ember-testing');
|
1845
|
+
Ember.Test = testing.Test;
|
1846
|
+
Ember.Test.Adapter = testing.Adapter;
|
1847
|
+
Ember.Test.QUnitAdapter = testing.QUnitAdapter;
|
1848
|
+
Ember.setupForTesting = testing.setupForTesting;
|
1846
1849
|
}());
|
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
|
9
|
+
* @version 2.13.0
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
@@ -279,7 +279,7 @@ enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-envir
|
|
279
279
|
equal(PostFactory._debugContainerKey, 'controller:post', 'factory instance receives _debugContainerKey');
|
280
280
|
});
|
281
281
|
|
282
|
-
QUnit.test('
|
282
|
+
QUnit.test('uses create time injections if factory has no extend', function () {
|
283
283
|
var registry = new _containerIndex.Registry();
|
284
284
|
var container = registry.container();
|
285
285
|
var AppleController = _internalTestHelpers.factory();
|
@@ -293,7 +293,6 @@ enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-envir
|
|
293
293
|
|
294
294
|
var postController = container.lookup('controller:post');
|
295
295
|
|
296
|
-
equal(postController._debugContainerKey, 'controller:post', 'instance receives _debugContainerKey');
|
297
296
|
ok(postController.apple instanceof AppleController, 'instance receives an apple of instance AppleController');
|
298
297
|
});
|
299
298
|
|
@@ -365,9 +364,6 @@ enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-envir
|
|
365
364
|
var postController = container.lookup('controller:post');
|
366
365
|
var store = container.lookup('store:main');
|
367
366
|
|
368
|
-
equal(store._debugContainerKey, 'store:main');
|
369
|
-
|
370
|
-
equal(postController._debugContainerKey, 'controller:post');
|
371
367
|
equal(postController.store, store, 'has the correct store injected');
|
372
368
|
});
|
373
369
|
|
@@ -766,8 +762,9 @@ enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-envir
|
|
766
762
|
});
|
767
763
|
|
768
764
|
QUnit.test('A deprecated `container` property is appended to every object instantiated from an extendable factory', function () {
|
765
|
+
var owner = {};
|
769
766
|
var registry = new _containerIndex.Registry();
|
770
|
-
var container = registry.container();
|
767
|
+
var container = owner.__container__ = registry.container({ owner: owner });
|
771
768
|
var PostController = _internalTestHelpers.factory();
|
772
769
|
registry.register('controller:post', PostController);
|
773
770
|
var postController = container.lookup('controller:post');
|
@@ -1010,11 +1007,78 @@ enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-envir
|
|
1010
1007
|
registry.injection('component:foo-bar', 'ajax', 'util:ajax');
|
1011
1008
|
|
1012
1009
|
var componentFactory = container.factoryFor('component:foo-bar');
|
1013
|
-
|
1014
1010
|
var instrance = componentFactory.create({ ajax: 'fetch' });
|
1015
1011
|
|
1016
1012
|
assert.equal(instrance.ajax, 'fetch');
|
1017
1013
|
});
|
1014
|
+
|
1015
|
+
QUnit.test('#factoryFor does not add properties to the object being instantiated when _initFactory is present', function (assert) {
|
1016
|
+
var owner = {};
|
1017
|
+
var registry = new _containerIndex.Registry();
|
1018
|
+
var container = registry.container();
|
1019
|
+
|
1020
|
+
var factory = undefined;
|
1021
|
+
|
1022
|
+
var Component = (function () {
|
1023
|
+
function Component() {
|
1024
|
+
babelHelpers.classCallCheck(this, Component);
|
1025
|
+
}
|
1026
|
+
|
1027
|
+
Component._initFactory = function _initFactory(_factory) {
|
1028
|
+
factory = _factory;
|
1029
|
+
};
|
1030
|
+
|
1031
|
+
Component.create = function create(options) {
|
1032
|
+
var instance = new this();
|
1033
|
+
_emberUtils.assign(instance, options);
|
1034
|
+
return instance;
|
1035
|
+
};
|
1036
|
+
|
1037
|
+
return Component;
|
1038
|
+
})();
|
1039
|
+
|
1040
|
+
registry.register('component:foo-bar', Component);
|
1041
|
+
|
1042
|
+
var componentFactory = container.factoryFor('component:foo-bar');
|
1043
|
+
var instance = componentFactory.create();
|
1044
|
+
|
1045
|
+
// note: _guid and isDestroyed are being set in the `factory` constructor
|
1046
|
+
// not via registry/container shenanigans
|
1047
|
+
assert.deepEqual(Object.keys(instance), []);
|
1048
|
+
});
|
1049
|
+
|
1050
|
+
// this is skipped until templates and the glimmer environment do not require `OWNER` to be
|
1051
|
+
// passed in as constructor args
|
1052
|
+
QUnit.skip('#factoryFor does not add properties to the object being instantiated', function (assert) {
|
1053
|
+
var owner = {};
|
1054
|
+
var registry = new _containerIndex.Registry();
|
1055
|
+
var container = registry.container();
|
1056
|
+
|
1057
|
+
var factory = undefined;
|
1058
|
+
|
1059
|
+
var Component = (function () {
|
1060
|
+
function Component() {
|
1061
|
+
babelHelpers.classCallCheck(this, Component);
|
1062
|
+
}
|
1063
|
+
|
1064
|
+
Component.create = function create(options) {
|
1065
|
+
var instance = new this();
|
1066
|
+
_emberUtils.assign(instance, options);
|
1067
|
+
return instance;
|
1068
|
+
};
|
1069
|
+
|
1070
|
+
return Component;
|
1071
|
+
})();
|
1072
|
+
|
1073
|
+
registry.register('component:foo-bar', Component);
|
1074
|
+
|
1075
|
+
var componentFactory = container.factoryFor('component:foo-bar');
|
1076
|
+
var instance = componentFactory.create();
|
1077
|
+
|
1078
|
+
// note: _guid and isDestroyed are being set in the `factory` constructor
|
1079
|
+
// not via registry/container shenanigans
|
1080
|
+
assert.deepEqual(Object.keys(instance), []);
|
1081
|
+
});
|
1018
1082
|
}
|
1019
1083
|
});
|
1020
1084
|
enifed('container/tests/container_test.lint-test', ['exports'], function (exports) {
|
@@ -39627,8 +39691,13 @@ enifed('ember-metal/tests/chains_test', ['exports', 'ember-metal/observer', 'emb
|
|
39627
39691
|
_emberMetalObserver.addObserver(obj, 'foo.bar', null, didChange);
|
39628
39692
|
|
39629
39693
|
var childObj = Object.create(obj);
|
39630
|
-
|
39631
|
-
|
39694
|
+
|
39695
|
+
var parentMeta = _emberMetalMeta.meta(obj);
|
39696
|
+
var childMeta = _emberMetalMeta.meta(childObj);
|
39697
|
+
|
39698
|
+
_emberMetalChains.finishChains(childMeta);
|
39699
|
+
|
39700
|
+
ok(parentMeta.readableChains() !== childMeta.readableChains(), 'The chains object is copied');
|
39632
39701
|
});
|
39633
39702
|
|
39634
39703
|
QUnit.test('does not observe primative values', function (assert) {
|
@@ -67782,6 +67851,13 @@ enifed('ember-utils/tests/to-string-test', ['exports', 'ember-utils/index'], fun
|
|
67782
67851
|
|
67783
67852
|
strictEqual(_emberUtilsIndex.toString(obj), ({}).toString());
|
67784
67853
|
});
|
67854
|
+
|
67855
|
+
QUnit.test('toString does not fail when called on Arrays with objects without toString method', function () {
|
67856
|
+
var obj = Object.create(null);
|
67857
|
+
var arr = [obj, 2];
|
67858
|
+
|
67859
|
+
strictEqual(_emberUtilsIndex.toString(arr), ({}).toString() + ',2');
|
67860
|
+
});
|
67785
67861
|
});
|
67786
67862
|
enifed('ember-utils/tests/to-string-test.lint-test', ['exports'], function (exports) {
|
67787
67863
|
'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
|
9
|
+
* @version 2.13.0
|
10
10
|
*/
|
11
11
|
|
12
12
|
var enifed, requireModule, Ember;
|
@@ -268,7 +268,7 @@ enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-envir
|
|
268
268
|
equal(PostFactory._debugContainerKey, 'controller:post', 'factory instance receives _debugContainerKey');
|
269
269
|
});
|
270
270
|
|
271
|
-
QUnit.test('
|
271
|
+
QUnit.test('uses create time injections if factory has no extend', function () {
|
272
272
|
var registry = new _containerIndex.Registry();
|
273
273
|
var container = registry.container();
|
274
274
|
var AppleController = _internalTestHelpers.factory();
|
@@ -282,7 +282,6 @@ enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-envir
|
|
282
282
|
|
283
283
|
var postController = container.lookup('controller:post');
|
284
284
|
|
285
|
-
equal(postController._debugContainerKey, 'controller:post', 'instance receives _debugContainerKey');
|
286
285
|
ok(postController.apple instanceof AppleController, 'instance receives an apple of instance AppleController');
|
287
286
|
});
|
288
287
|
|
@@ -354,9 +353,6 @@ enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-envir
|
|
354
353
|
var postController = container.lookup('controller:post');
|
355
354
|
var store = container.lookup('store:main');
|
356
355
|
|
357
|
-
equal(store._debugContainerKey, 'store:main');
|
358
|
-
|
359
|
-
equal(postController._debugContainerKey, 'controller:post');
|
360
356
|
equal(postController.store, store, 'has the correct store injected');
|
361
357
|
});
|
362
358
|
|
@@ -755,8 +751,9 @@ enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-envir
|
|
755
751
|
});
|
756
752
|
|
757
753
|
QUnit.test('A deprecated `container` property is appended to every object instantiated from an extendable factory', function () {
|
754
|
+
var owner = {};
|
758
755
|
var registry = new _containerIndex.Registry();
|
759
|
-
var container = registry.container();
|
756
|
+
var container = owner.__container__ = registry.container({ owner: owner });
|
760
757
|
var PostController = _internalTestHelpers.factory();
|
761
758
|
registry.register('controller:post', PostController);
|
762
759
|
var postController = container.lookup('controller:post');
|
@@ -999,11 +996,74 @@ enifed('container/tests/container_test', ['exports', 'ember-utils', 'ember-envir
|
|
999
996
|
registry.injection('component:foo-bar', 'ajax', 'util:ajax');
|
1000
997
|
|
1001
998
|
var componentFactory = container.factoryFor('component:foo-bar');
|
1002
|
-
|
1003
999
|
var instrance = componentFactory.create({ ajax: 'fetch' });
|
1004
1000
|
|
1005
1001
|
assert.equal(instrance.ajax, 'fetch');
|
1006
1002
|
});
|
1003
|
+
|
1004
|
+
QUnit.test('#factoryFor does not add properties to the object being instantiated when _initFactory is present', function (assert) {
|
1005
|
+
var owner = {};
|
1006
|
+
var registry = new _containerIndex.Registry();
|
1007
|
+
var container = registry.container();
|
1008
|
+
|
1009
|
+
var factory = undefined;
|
1010
|
+
|
1011
|
+
var Component = (function () {
|
1012
|
+
function Component() {}
|
1013
|
+
|
1014
|
+
Component._initFactory = function _initFactory(_factory) {
|
1015
|
+
factory = _factory;
|
1016
|
+
};
|
1017
|
+
|
1018
|
+
Component.create = function create(options) {
|
1019
|
+
var instance = new this();
|
1020
|
+
_emberUtils.assign(instance, options);
|
1021
|
+
return instance;
|
1022
|
+
};
|
1023
|
+
|
1024
|
+
return Component;
|
1025
|
+
})();
|
1026
|
+
|
1027
|
+
registry.register('component:foo-bar', Component);
|
1028
|
+
|
1029
|
+
var componentFactory = container.factoryFor('component:foo-bar');
|
1030
|
+
var instance = componentFactory.create();
|
1031
|
+
|
1032
|
+
// note: _guid and isDestroyed are being set in the `factory` constructor
|
1033
|
+
// not via registry/container shenanigans
|
1034
|
+
assert.deepEqual(Object.keys(instance), []);
|
1035
|
+
});
|
1036
|
+
|
1037
|
+
// this is skipped until templates and the glimmer environment do not require `OWNER` to be
|
1038
|
+
// passed in as constructor args
|
1039
|
+
QUnit.skip('#factoryFor does not add properties to the object being instantiated', function (assert) {
|
1040
|
+
var owner = {};
|
1041
|
+
var registry = new _containerIndex.Registry();
|
1042
|
+
var container = registry.container();
|
1043
|
+
|
1044
|
+
var factory = undefined;
|
1045
|
+
|
1046
|
+
var Component = (function () {
|
1047
|
+
function Component() {}
|
1048
|
+
|
1049
|
+
Component.create = function create(options) {
|
1050
|
+
var instance = new this();
|
1051
|
+
_emberUtils.assign(instance, options);
|
1052
|
+
return instance;
|
1053
|
+
};
|
1054
|
+
|
1055
|
+
return Component;
|
1056
|
+
})();
|
1057
|
+
|
1058
|
+
registry.register('component:foo-bar', Component);
|
1059
|
+
|
1060
|
+
var componentFactory = container.factoryFor('component:foo-bar');
|
1061
|
+
var instance = componentFactory.create();
|
1062
|
+
|
1063
|
+
// note: _guid and isDestroyed are being set in the `factory` constructor
|
1064
|
+
// not via registry/container shenanigans
|
1065
|
+
assert.deepEqual(Object.keys(instance), []);
|
1066
|
+
});
|
1007
1067
|
}
|
1008
1068
|
});
|
1009
1069
|
enifed('container/tests/container_test.lint-test', ['exports'], function (exports) {
|
@@ -39261,8 +39321,13 @@ enifed('ember-metal/tests/chains_test', ['exports', 'ember-metal/observer', 'emb
|
|
39261
39321
|
_emberMetalObserver.addObserver(obj, 'foo.bar', null, didChange);
|
39262
39322
|
|
39263
39323
|
var childObj = Object.create(obj);
|
39264
|
-
|
39265
|
-
|
39324
|
+
|
39325
|
+
var parentMeta = _emberMetalMeta.meta(obj);
|
39326
|
+
var childMeta = _emberMetalMeta.meta(childObj);
|
39327
|
+
|
39328
|
+
_emberMetalChains.finishChains(childMeta);
|
39329
|
+
|
39330
|
+
ok(parentMeta.readableChains() !== childMeta.readableChains(), 'The chains object is copied');
|
39266
39331
|
});
|
39267
39332
|
|
39268
39333
|
QUnit.test('does not observe primative values', function (assert) {
|
@@ -67388,6 +67453,13 @@ enifed('ember-utils/tests/to-string-test', ['exports', 'ember-utils/index'], fun
|
|
67388
67453
|
|
67389
67454
|
strictEqual(_emberUtilsIndex.toString(obj), ({}).toString());
|
67390
67455
|
});
|
67456
|
+
|
67457
|
+
QUnit.test('toString does not fail when called on Arrays with objects without toString method', function () {
|
67458
|
+
var obj = Object.create(null);
|
67459
|
+
var arr = [obj, 2];
|
67460
|
+
|
67461
|
+
strictEqual(_emberUtilsIndex.toString(arr), ({}).toString() + ',2');
|
67462
|
+
});
|
67391
67463
|
});
|
67392
67464
|
enifed('ember-utils/tests/to-string-test.lint-test', ['exports'], function (exports) {
|
67393
67465
|
'use strict';
|