ember-source 1.8.0.beta.1 → 1.8.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 +413 -284
- data/dist/ember-tests.js +216 -79
- data/dist/ember-tests.prod.js +59094 -0
- data/dist/ember.js +454 -322
- data/dist/ember.min.js +12 -12
- data/dist/ember.prod.js +367 -321
- metadata +3 -2
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.2
|
9
9
|
*/
|
10
10
|
|
11
11
|
(function() {
|
@@ -5221,6 +5221,29 @@ define("ember-handlebars/tests/controls/text_field_test",
|
|
5221
5221
|
equal(textField.$('input').attr('tabindex'), "5", "renders text field with the tabindex");
|
5222
5222
|
});
|
5223
5223
|
|
5224
|
+
QUnit.module("{{input type='text'}} - dynamic type", {
|
5225
|
+
setup: function() {
|
5226
|
+
controller = {
|
5227
|
+
someProperty: 'password'
|
5228
|
+
};
|
5229
|
+
|
5230
|
+
textField = View.extend({
|
5231
|
+
controller: controller,
|
5232
|
+
template: compile('{{input type=someProperty}}')
|
5233
|
+
}).create();
|
5234
|
+
|
5235
|
+
append();
|
5236
|
+
},
|
5237
|
+
|
5238
|
+
teardown: function() {
|
5239
|
+
destroy(textField);
|
5240
|
+
}
|
5241
|
+
});
|
5242
|
+
|
5243
|
+
test("should insert a text field into DOM", function() {
|
5244
|
+
equal(textField.$('input').attr('type'), 'password', "a bound property can be used to determine type.");
|
5245
|
+
});
|
5246
|
+
|
5224
5247
|
QUnit.module("{{input}} - default type", {
|
5225
5248
|
setup: function() {
|
5226
5249
|
controller = {};
|
@@ -13681,6 +13704,15 @@ define("ember-metal/dependent_keys.jshint",
|
|
13681
13704
|
ok(true, 'ember-metal/dependent_keys.js should pass jshint.');
|
13682
13705
|
});
|
13683
13706
|
});
|
13707
|
+
define("ember-metal/deprecate_property.jshint",
|
13708
|
+
[],
|
13709
|
+
function() {
|
13710
|
+
"use strict";
|
13711
|
+
module('JSHint - ember-metal');
|
13712
|
+
test('ember-metal/deprecate_property.js should pass jshint', function() {
|
13713
|
+
ok(true, 'ember-metal/deprecate_property.js should pass jshint.');
|
13714
|
+
});
|
13715
|
+
});
|
13684
13716
|
define("ember-metal/dictionary.jshint",
|
13685
13717
|
[],
|
13686
13718
|
function() {
|
@@ -16269,11 +16301,13 @@ define("ember-metal/tests/computed_test.jshint",
|
|
16269
16301
|
});
|
16270
16302
|
});
|
16271
16303
|
define("ember-metal/tests/core/inspect_test",
|
16272
|
-
["ember-metal/utils","ember-metal/core"],
|
16273
|
-
function(__dependency1__, __dependency2__) {
|
16304
|
+
["ember-metal/utils","ember-metal/platform","ember-metal/core"],
|
16305
|
+
function(__dependency1__, __dependency2__, __dependency3__) {
|
16274
16306
|
"use strict";
|
16275
16307
|
var inspect = __dependency1__.inspect;
|
16276
|
-
var
|
16308
|
+
var create = __dependency2__.create;
|
16309
|
+
|
16310
|
+
var Ember = __dependency3__["default"];
|
16277
16311
|
|
16278
16312
|
QUnit.module("Ember.inspect");
|
16279
16313
|
|
@@ -16307,6 +16341,11 @@ define("ember-metal/tests/core/inspect_test",
|
|
16307
16341
|
equal(inspect({ foo: Ember.K }), "{foo: function() { ... }}");
|
16308
16342
|
});
|
16309
16343
|
|
16344
|
+
test("objects without a prototype", function() {
|
16345
|
+
var prototypelessObj = create(null);
|
16346
|
+
equal(inspect({ foo: prototypelessObj }), "{foo: [object Object]}");
|
16347
|
+
});
|
16348
|
+
|
16310
16349
|
test("array", function() {
|
16311
16350
|
equal(inspect([1,2,3]), "[1,2,3]");
|
16312
16351
|
});
|
@@ -16878,6 +16917,13 @@ define("ember-metal/tests/instrumentation_test",
|
|
16878
16917
|
}
|
16879
16918
|
});
|
16880
16919
|
|
16920
|
+
test("execute block even if no listeners", function() {
|
16921
|
+
var result = instrument("render", {}, function() {
|
16922
|
+
return "hello";
|
16923
|
+
});
|
16924
|
+
equal(result, "hello", 'called block');
|
16925
|
+
});
|
16926
|
+
|
16881
16927
|
test("subscribing to a simple path receives the listener", function() {
|
16882
16928
|
expect(12);
|
16883
16929
|
|
@@ -17168,13 +17214,15 @@ define("ember-metal/tests/is_present_test.jshint",
|
|
17168
17214
|
});
|
17169
17215
|
});
|
17170
17216
|
define("ember-metal/tests/keys_test",
|
17171
|
-
["ember-metal/property_set","ember-metal/keys","ember-metal/observer"],
|
17172
|
-
function(__dependency1__, __dependency2__, __dependency3__) {
|
17217
|
+
["ember-metal/core","ember-metal/property_set","ember-metal/keys","ember-metal/observer"],
|
17218
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__) {
|
17173
17219
|
"use strict";
|
17174
|
-
var
|
17175
|
-
|
17176
|
-
var
|
17177
|
-
var
|
17220
|
+
var Ember = __dependency1__["default"];
|
17221
|
+
// Ember.K
|
17222
|
+
var set = __dependency2__.set;
|
17223
|
+
var keys = __dependency3__["default"];
|
17224
|
+
var addObserver = __dependency4__.addObserver;
|
17225
|
+
var removeObserver = __dependency4__.removeObserver;
|
17178
17226
|
|
17179
17227
|
QUnit.module("Fetch Keys ");
|
17180
17228
|
|
@@ -17200,6 +17248,93 @@ define("ember-metal/tests/keys_test",
|
|
17200
17248
|
|
17201
17249
|
deepEqual(object2, ['toString']);
|
17202
17250
|
});
|
17251
|
+
|
17252
|
+
test('should not contain properties declared in the prototype', function () {
|
17253
|
+
function Beer() { }
|
17254
|
+
Beer.prototype.type = 'ipa';
|
17255
|
+
|
17256
|
+
var beer = new Beer();
|
17257
|
+
|
17258
|
+
deepEqual(keys(beer), []);
|
17259
|
+
});
|
17260
|
+
|
17261
|
+
test('should return properties that were set after object creation', function () {
|
17262
|
+
function Beer() { }
|
17263
|
+
Beer.prototype.type = 'ipa';
|
17264
|
+
|
17265
|
+
var beer = new Beer();
|
17266
|
+
|
17267
|
+
set(beer, 'brand', 'big daddy');
|
17268
|
+
|
17269
|
+
deepEqual(keys(beer), ['brand']);
|
17270
|
+
});
|
17271
|
+
|
17272
|
+
QUnit.module('Keys behavior with observers');
|
17273
|
+
|
17274
|
+
test('should not leak properties on the prototype', function () {
|
17275
|
+
function Beer() { }
|
17276
|
+
Beer.prototype.type = 'ipa';
|
17277
|
+
|
17278
|
+
var beer = new Beer();
|
17279
|
+
|
17280
|
+
addObserver(beer, 'type', Ember.K);
|
17281
|
+
deepEqual(keys(beer), []);
|
17282
|
+
removeObserver(beer, 'type', Ember.K);
|
17283
|
+
});
|
17284
|
+
|
17285
|
+
test('observing a non existent property', function () {
|
17286
|
+
function Beer() { }
|
17287
|
+
Beer.prototype.type = 'ipa';
|
17288
|
+
|
17289
|
+
var beer = new Beer();
|
17290
|
+
|
17291
|
+
addObserver(beer, 'brand', Ember.K);
|
17292
|
+
|
17293
|
+
deepEqual(keys(beer), []);
|
17294
|
+
|
17295
|
+
set(beer, 'brand', 'Corona');
|
17296
|
+
deepEqual(keys(beer), ['brand']);
|
17297
|
+
|
17298
|
+
removeObserver(beer, 'brand', Ember.K);
|
17299
|
+
});
|
17300
|
+
|
17301
|
+
test('with observers switched on and off', function () {
|
17302
|
+
function Beer() { }
|
17303
|
+
Beer.prototype.type = 'ipa';
|
17304
|
+
|
17305
|
+
var beer = new Beer();
|
17306
|
+
|
17307
|
+
addObserver(beer, 'type', Ember.K);
|
17308
|
+
removeObserver(beer, 'type', Ember.K);
|
17309
|
+
|
17310
|
+
deepEqual(keys(beer), []);
|
17311
|
+
});
|
17312
|
+
|
17313
|
+
test('observers switched on and off with setter in between', function () {
|
17314
|
+
function Beer() { }
|
17315
|
+
Beer.prototype.type = 'ipa';
|
17316
|
+
|
17317
|
+
var beer = new Beer();
|
17318
|
+
|
17319
|
+
addObserver(beer, 'type', Ember.K);
|
17320
|
+
set(beer, 'type', 'ale');
|
17321
|
+
removeObserver(beer, 'type', Ember.K);
|
17322
|
+
|
17323
|
+
deepEqual(keys(beer), ['type']);
|
17324
|
+
});
|
17325
|
+
|
17326
|
+
test('observer switched on and off and then setter', function () {
|
17327
|
+
function Beer() { }
|
17328
|
+
Beer.prototype.type = 'ipa';
|
17329
|
+
|
17330
|
+
var beer = new Beer();
|
17331
|
+
|
17332
|
+
addObserver(beer, 'type', Ember.K);
|
17333
|
+
removeObserver(beer, 'type', Ember.K);
|
17334
|
+
set(beer, 'type', 'ale');
|
17335
|
+
|
17336
|
+
deepEqual(keys(beer), ['type']);
|
17337
|
+
});
|
17203
17338
|
});
|
17204
17339
|
define("ember-metal/tests/keys_test.jshint",
|
17205
17340
|
[],
|
@@ -20126,7 +20261,9 @@ define("ember-metal/tests/platform/defineProperty_test",
|
|
20126
20261
|
["ember-metal/platform","ember-metal/enumerable_utils"],
|
20127
20262
|
function(__dependency1__, __dependency2__) {
|
20128
20263
|
"use strict";
|
20129
|
-
var
|
20264
|
+
var defineProperty = __dependency1__.defineProperty;
|
20265
|
+
var hasPropertyAccessors = __dependency1__.hasPropertyAccessors;
|
20266
|
+
var canDefineNonEnumerableProperties = __dependency1__.canDefineNonEnumerableProperties;
|
20130
20267
|
var EnumerableUtils = __dependency2__["default"];
|
20131
20268
|
|
20132
20269
|
function isEnumerable(obj, keyName) {
|
@@ -20137,11 +20274,11 @@ define("ember-metal/tests/platform/defineProperty_test",
|
|
20137
20274
|
return EnumerableUtils.indexOf(keys, keyName)>=0;
|
20138
20275
|
}
|
20139
20276
|
|
20140
|
-
QUnit.module("
|
20277
|
+
QUnit.module("defineProperty()");
|
20141
20278
|
|
20142
20279
|
test("defining a simple property", function() {
|
20143
20280
|
var obj = {};
|
20144
|
-
|
20281
|
+
defineProperty(obj, 'foo', {
|
20145
20282
|
enumerable: true,
|
20146
20283
|
writable: true,
|
20147
20284
|
value: 'FOO'
|
@@ -20156,7 +20293,7 @@ define("ember-metal/tests/platform/defineProperty_test",
|
|
20156
20293
|
|
20157
20294
|
test('defining a read only property', function() {
|
20158
20295
|
var obj = {};
|
20159
|
-
|
20296
|
+
defineProperty(obj, 'foo', {
|
20160
20297
|
enumerable: true,
|
20161
20298
|
writable: false,
|
20162
20299
|
value: 'FOO'
|
@@ -20164,10 +20301,7 @@ define("ember-metal/tests/platform/defineProperty_test",
|
|
20164
20301
|
|
20165
20302
|
equal(obj.foo, 'FOO', 'should have added property');
|
20166
20303
|
|
20167
|
-
if (
|
20168
|
-
obj.foo = "BAR";
|
20169
|
-
equal(obj.foo, 'BAR', 'simulated defineProperty should silently work');
|
20170
|
-
} else {
|
20304
|
+
if (hasPropertyAccessors) {
|
20171
20305
|
// cannot set read-only property in strict-mode
|
20172
20306
|
try {
|
20173
20307
|
obj.foo = "BAR";
|
@@ -20176,28 +20310,30 @@ define("ember-metal/tests/platform/defineProperty_test",
|
|
20176
20310
|
}finally {
|
20177
20311
|
equal(obj.foo, 'FOO', 'real defined property should not be writable');
|
20178
20312
|
}
|
20313
|
+
} else {
|
20314
|
+
obj.foo = "BAR";
|
20315
|
+
equal(obj.foo, 'BAR', 'simulated defineProperty should silently work');
|
20179
20316
|
}
|
20180
|
-
|
20181
20317
|
});
|
20182
20318
|
|
20183
20319
|
test('defining a non enumerable property', function() {
|
20184
20320
|
var obj = {};
|
20185
|
-
|
20321
|
+
defineProperty(obj, 'foo', {
|
20186
20322
|
enumerable: false,
|
20187
20323
|
writable: true,
|
20188
20324
|
value: 'FOO'
|
20189
20325
|
});
|
20190
20326
|
|
20191
|
-
if (
|
20192
|
-
equal(isEnumerable(obj, 'foo'), true, 'simulated defineProperty will leave properties enumerable');
|
20193
|
-
} else {
|
20327
|
+
if (canDefineNonEnumerableProperties) {
|
20194
20328
|
equal(isEnumerable(obj, 'foo'), false, 'real defineProperty will make property not-enumerable');
|
20329
|
+
} else {
|
20330
|
+
equal(isEnumerable(obj, 'foo'), true, 'simulated defineProperty will leave properties enumerable');
|
20195
20331
|
}
|
20196
20332
|
});
|
20197
20333
|
|
20198
20334
|
// If accessors don't exist, behavior that relies on getters
|
20199
20335
|
// and setters don't do anything
|
20200
|
-
if (
|
20336
|
+
if (hasPropertyAccessors) {
|
20201
20337
|
test('defining a getter/setter', function() {
|
20202
20338
|
var obj = {};
|
20203
20339
|
var getCnt = 0;
|
@@ -20210,23 +20346,19 @@ define("ember-metal/tests/platform/defineProperty_test",
|
|
20210
20346
|
set: function(val) { setCnt++; v = val; }
|
20211
20347
|
};
|
20212
20348
|
|
20213
|
-
|
20214
|
-
|
20215
|
-
|
20216
|
-
equal(getCnt, 1, 'should have invoked getter');
|
20217
|
-
|
20218
|
-
obj.foo = 'BAR';
|
20219
|
-
equal(obj.foo, 'BAR', 'setter should have worked');
|
20220
|
-
equal(setCnt, 1, 'should have invoked setter');
|
20221
|
-
|
20222
|
-
}
|
20349
|
+
defineProperty(obj, 'foo', desc);
|
20350
|
+
equal(obj.foo, 'FOO', 'should return getter');
|
20351
|
+
equal(getCnt, 1, 'should have invoked getter');
|
20223
20352
|
|
20353
|
+
obj.foo = 'BAR';
|
20354
|
+
equal(obj.foo, 'BAR', 'setter should have worked');
|
20355
|
+
equal(setCnt, 1, 'should have invoked setter');
|
20224
20356
|
});
|
20225
20357
|
|
20226
20358
|
test('defining getter/setter along with writable', function() {
|
20227
20359
|
var obj ={};
|
20228
20360
|
raises(function() {
|
20229
|
-
|
20361
|
+
defineProperty(obj, 'foo', {
|
20230
20362
|
enumerable: true,
|
20231
20363
|
get: function() {},
|
20232
20364
|
set: function() {},
|
@@ -20238,7 +20370,7 @@ define("ember-metal/tests/platform/defineProperty_test",
|
|
20238
20370
|
test('defining getter/setter along with value', function() {
|
20239
20371
|
var obj ={};
|
20240
20372
|
raises(function() {
|
20241
|
-
|
20373
|
+
defineProperty(obj, 'foo', {
|
20242
20374
|
enumerable: true,
|
20243
20375
|
get: function() {},
|
20244
20376
|
set: function() {},
|
@@ -20258,16 +20390,14 @@ define("ember-metal/tests/platform/defineProperty_test.jshint",
|
|
20258
20390
|
});
|
20259
20391
|
});
|
20260
20392
|
define("ember-metal/tests/properties_test",
|
20261
|
-
["ember-metal/core","ember-metal/platform","ember-metal/
|
20262
|
-
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__
|
20393
|
+
["ember-metal/core","ember-metal/platform","ember-metal/computed","ember-metal/properties","ember-metal/deprecate_property"],
|
20394
|
+
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__) {
|
20263
20395
|
"use strict";
|
20264
20396
|
var Ember = __dependency1__["default"];
|
20265
|
-
var
|
20266
|
-
var
|
20267
|
-
var
|
20268
|
-
var
|
20269
|
-
var defineProperty = __dependency6__.defineProperty;
|
20270
|
-
var deprecateProperty = __dependency6__.deprecateProperty;
|
20397
|
+
var hasPropertyAccessors = __dependency2__.hasPropertyAccessors;
|
20398
|
+
var computed = __dependency3__.computed;
|
20399
|
+
var defineProperty = __dependency4__.defineProperty;
|
20400
|
+
var deprecateProperty = __dependency5__.deprecateProperty;
|
20271
20401
|
|
20272
20402
|
QUnit.module('Ember.defineProperty');
|
20273
20403
|
|
@@ -20306,7 +20436,7 @@ define("ember-metal/tests/properties_test",
|
|
20306
20436
|
defineProperty(obj, 'foo', computedProperty);
|
20307
20437
|
});
|
20308
20438
|
|
20309
|
-
if (
|
20439
|
+
if (hasPropertyAccessors) {
|
20310
20440
|
|
20311
20441
|
QUnit.module('Ember.deprecateProperty');
|
20312
20442
|
|
@@ -21453,7 +21583,7 @@ define("ember-metal/tests/utils/meta_test",
|
|
21453
21583
|
/*global jQuery*/
|
21454
21584
|
var Ember = __dependency1__["default"];
|
21455
21585
|
var create = __dependency2__.create;
|
21456
|
-
var
|
21586
|
+
var canDefineNonEnumerableProperties = __dependency2__.canDefineNonEnumerableProperties;
|
21457
21587
|
var getMeta = __dependency3__.getMeta;
|
21458
21588
|
var setMeta = __dependency3__.setMeta;
|
21459
21589
|
var meta = __dependency3__.meta;
|
@@ -21503,7 +21633,7 @@ define("ember-metal/tests/utils/meta_test",
|
|
21503
21633
|
QUnit.module("Ember.meta enumerable");
|
21504
21634
|
// Tests fix for https://github.com/emberjs/ember.js/issues/344
|
21505
21635
|
// This is primarily for older browsers such as IE8
|
21506
|
-
if (
|
21636
|
+
if (canDefineNonEnumerableProperties) {
|
21507
21637
|
if (Ember.imports.jQuery) {
|
21508
21638
|
test("meta is not jQuery.isPlainObject", function () {
|
21509
21639
|
var proto, obj;
|
@@ -23977,7 +24107,7 @@ define("ember-routing-handlebars/tests/helpers/render_test",
|
|
23977
24107
|
var get = __dependency2__.get;
|
23978
24108
|
var emberSet = __dependency3__.set;
|
23979
24109
|
var run = __dependency4__["default"];
|
23980
|
-
var
|
24110
|
+
var canDefineNonEnumerableProperties = __dependency5__.canDefineNonEnumerableProperties;
|
23981
24111
|
var observer = __dependency6__.observer;
|
23982
24112
|
|
23983
24113
|
var Container = __dependency7__["default"];
|
@@ -24190,10 +24320,10 @@ define("ember-routing-handlebars/tests/helpers/render_test",
|
|
24190
24320
|
set(controller, 'post', { title: "Rails is unagi" });
|
24191
24321
|
|
24192
24322
|
equal(view.$().text(), 'HIRails is unagi');
|
24193
|
-
if (
|
24194
|
-
equal(postController.get('model').title, "Rails is unagi");
|
24195
|
-
} else {
|
24323
|
+
if (canDefineNonEnumerableProperties) {
|
24196
24324
|
deepEqual(postController.get('model'), { title: "Rails is unagi" });
|
24325
|
+
} else {
|
24326
|
+
equal(postController.get('model').title, "Rails is unagi");
|
24197
24327
|
}
|
24198
24328
|
});
|
24199
24329
|
|
@@ -24314,10 +24444,10 @@ define("ember-routing-handlebars/tests/helpers/render_test",
|
|
24314
24444
|
set(controller, 'post1', { title: "I am new" });
|
24315
24445
|
|
24316
24446
|
ok(view.$().text().match(/^HI ?I am new ?Then me$/));
|
24317
|
-
if (
|
24318
|
-
equal(postController1.get('model').title, "I am new");
|
24319
|
-
} else {
|
24447
|
+
if (canDefineNonEnumerableProperties) {
|
24320
24448
|
deepEqual(postController1.get('model'), { title: "I am new" });
|
24449
|
+
} else {
|
24450
|
+
equal(postController1.get('model').title, "I am new");
|
24321
24451
|
}
|
24322
24452
|
});
|
24323
24453
|
|
@@ -24414,10 +24544,10 @@ define("ember-routing-handlebars/tests/helpers/render_test",
|
|
24414
24544
|
set(controller, 'post', { title: "Rails is unagi" });
|
24415
24545
|
|
24416
24546
|
ok(view.$().text().match(/^HI ?Title: ?Title:Rails is unagi$/));
|
24417
|
-
if (
|
24418
|
-
equal(postController2.get('model').title, "Rails is unagi");
|
24419
|
-
} else {
|
24547
|
+
if (canDefineNonEnumerableProperties) {
|
24420
24548
|
deepEqual(postController2.get('model'), { title: "Rails is unagi" });
|
24549
|
+
} else {
|
24550
|
+
equal(postController2.get('model').title, "Rails is unagi");
|
24421
24551
|
}
|
24422
24552
|
});
|
24423
24553
|
|
@@ -40235,7 +40365,7 @@ define("ember-runtime/tests/system/object/create_test",
|
|
40235
40365
|
equal(o.get('foo'), 'bar');
|
40236
40366
|
});
|
40237
40367
|
|
40238
|
-
|
40368
|
+
|
40239
40369
|
test("sets up mandatory setters for watched simple properties", function() {
|
40240
40370
|
|
40241
40371
|
var MyClass = EmberObject.extend({
|
@@ -40260,7 +40390,7 @@ define("ember-runtime/tests/system/object/create_test",
|
|
40260
40390
|
descriptor = Object.getOwnPropertyDescriptor(o, 'bar');
|
40261
40391
|
ok(!descriptor.set, 'Mandatory setter was not setup');
|
40262
40392
|
});
|
40263
|
-
|
40393
|
+
|
40264
40394
|
|
40265
40395
|
test("allows bindings to be defined", function() {
|
40266
40396
|
var obj = EmberObject.create({
|
@@ -40548,7 +40678,7 @@ define("ember-runtime/tests/system/object/destroy_test",
|
|
40548
40678
|
"use strict";
|
40549
40679
|
var Ember = __dependency1__["default"];
|
40550
40680
|
var run = __dependency2__["default"];
|
40551
|
-
var
|
40681
|
+
var hasPropertyAccessors = __dependency3__.hasPropertyAccessors;
|
40552
40682
|
var observer = __dependency4__.observer;
|
40553
40683
|
var set = __dependency5__.set;
|
40554
40684
|
var bind = __dependency6__.bind;
|
@@ -40577,8 +40707,11 @@ define("ember-runtime/tests/system/object/destroy_test",
|
|
40577
40707
|
ok(get(obj, 'isDestroyed'), "object is destroyed after run loop finishes");
|
40578
40708
|
});
|
40579
40709
|
|
40580
|
-
|
40581
|
-
|
40710
|
+
if (hasPropertyAccessors) {
|
40711
|
+
// MANDATORY_SETTER moves value to meta.values
|
40712
|
+
// a destroyed object removes meta but leaves the accessor
|
40713
|
+
// that looks it up
|
40714
|
+
test("should raise an exception when modifying watched properties on a destroyed object", function() {
|
40582
40715
|
var obj = EmberObject.createWithMixins({
|
40583
40716
|
foo: "bar",
|
40584
40717
|
fooDidChange: observer('foo', function() { })
|
@@ -40591,10 +40724,8 @@ define("ember-runtime/tests/system/object/destroy_test",
|
|
40591
40724
|
raises(function() {
|
40592
40725
|
set(obj, 'foo', 'baz');
|
40593
40726
|
}, Error, "raises an exception");
|
40594
|
-
}
|
40595
|
-
|
40596
|
-
}
|
40597
|
-
});
|
40727
|
+
});
|
40728
|
+
}
|
40598
40729
|
|
40599
40730
|
test("observers should not fire after an object has been destroyed", function() {
|
40600
40731
|
var count = 0;
|
@@ -45385,7 +45516,16 @@ define("ember-views/tests/system/render_buffer_test",
|
|
45385
45516
|
buffer.generateElement();
|
45386
45517
|
|
45387
45518
|
var el = buffer.element();
|
45388
|
-
|
45519
|
+
var div = document.createElement('div');
|
45520
|
+
|
45521
|
+
// some browsers have different escaping strageties
|
45522
|
+
// we should ensure the outcome is consistent. Ultimately we now use
|
45523
|
+
// setAttribute under the hood, so we should always do the right thing. But
|
45524
|
+
// this test should be kept to ensure we do. Also, I believe/hope it is
|
45525
|
+
// alright to assume the browser escapes setAttribute correctly...
|
45526
|
+
div.setAttribute('style', 'color:blue;" xss="true" style="color:red;');
|
45527
|
+
|
45528
|
+
equal(el.getAttribute('style'), div.getAttribute('style'));
|
45389
45529
|
});
|
45390
45530
|
|
45391
45531
|
test("prevents XSS injection via `tagName`", function() {
|
@@ -50169,7 +50309,7 @@ define("ember-views/tests/views/view/state_deprecation_test",
|
|
50169
50309
|
["ember-metal/platform","ember-metal/run_loop","ember-views/views/view"],
|
50170
50310
|
function(__dependency1__, __dependency2__, __dependency3__) {
|
50171
50311
|
"use strict";
|
50172
|
-
var
|
50312
|
+
var hasPropertyAccessors = __dependency1__.hasPropertyAccessors;
|
50173
50313
|
var run = __dependency2__["default"];
|
50174
50314
|
var EmberView = __dependency3__["default"];
|
50175
50315
|
|
@@ -50183,7 +50323,7 @@ define("ember-views/tests/views/view/state_deprecation_test",
|
|
50183
50323
|
}
|
50184
50324
|
});
|
50185
50325
|
|
50186
|
-
if (
|
50326
|
+
if (hasPropertyAccessors) {
|
50187
50327
|
test("view.state should be an alias of view._state with a deprecation", function() {
|
50188
50328
|
expect(2);
|
50189
50329
|
view = EmberView.create();
|
@@ -55308,7 +55448,7 @@ define("ember/tests/routing/basic_test",
|
|
55308
55448
|
handleURL("/posts/3/shares/3");
|
55309
55449
|
});
|
55310
55450
|
|
55311
|
-
test("Resource
|
55451
|
+
test("Resource inherits model from parent resource", function() {
|
55312
55452
|
expect(6);
|
55313
55453
|
|
55314
55454
|
Router.map(function() {
|
@@ -55336,7 +55476,7 @@ define("ember/tests/routing/basic_test",
|
|
55336
55476
|
afterModel: function(post, transition) {
|
55337
55477
|
var parent_model = this.modelFor('thePost');
|
55338
55478
|
|
55339
|
-
|
55479
|
+
equal(post, parent_model);
|
55340
55480
|
}
|
55341
55481
|
});
|
55342
55482
|
|
@@ -56927,7 +57067,7 @@ define("ember/tests/routing/query_params_test",
|
|
56927
57067
|
var forEach = __dependency2__.forEach;
|
56928
57068
|
var map = __dependency2__.map;
|
56929
57069
|
var computed = __dependency3__.computed;
|
56930
|
-
var
|
57070
|
+
var canDefineNonEnumerableProperties = __dependency4__.canDefineNonEnumerableProperties;
|
56931
57071
|
var capitalize = __dependency5__.capitalize;
|
56932
57072
|
|
56933
57073
|
var Router, App, AppView, templates, router, container;
|
@@ -56936,15 +57076,12 @@ define("ember/tests/routing/query_params_test",
|
|
56936
57076
|
var compile = Ember.Handlebars.compile;
|
56937
57077
|
|
56938
57078
|
function withoutMeta(object) {
|
56939
|
-
if (
|
56940
|
-
var newObject = Ember.$.extend(true, {}, object);
|
56941
|
-
|
56942
|
-
delete newObject['__ember_meta__'];
|
56943
|
-
|
56944
|
-
return newObject;
|
56945
|
-
} else {
|
57079
|
+
if (canDefineNonEnumerableProperties) {
|
56946
57080
|
return object;
|
56947
57081
|
}
|
57082
|
+
var newObject = Ember.$.extend(true, {}, object);
|
57083
|
+
delete newObject['__ember_meta__'];
|
57084
|
+
return newObject;
|
56948
57085
|
}
|
56949
57086
|
|
56950
57087
|
function bootApplication() {
|