ember-source 1.8.0.beta.3 → 1.8.0.beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/dist/ember-runtime.js +215 -89
- data/dist/ember-tests.js +353 -15
- data/dist/ember-tests.prod.js +353 -15
- data/dist/ember.js +318 -182
- data/dist/ember.min.js +12 -12
- data/dist/ember.prod.js +316 -182
- metadata +2 -2
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.4
|
9
9
|
*/
|
10
10
|
|
11
11
|
(function() {
|
@@ -5843,6 +5843,32 @@ define("ember-handlebars/tests/handlebars_test",
|
|
5843
5843
|
ok(view.$('#twas-called').length, "the named template was called");
|
5844
5844
|
});
|
5845
5845
|
|
5846
|
+
test("{{view}} should not override class bindings defined on a child view", function() {
|
5847
|
+
var LabelView = EmberView.extend({
|
5848
|
+
container: container,
|
5849
|
+
templateName: 'nested',
|
5850
|
+
classNameBindings: ['something'],
|
5851
|
+
something: 'visible'
|
5852
|
+
});
|
5853
|
+
|
5854
|
+
container.register('controller:label', ObjectController, { instantiate: true });
|
5855
|
+
container.register('view:label', LabelView);
|
5856
|
+
container.register('template:label', EmberHandlebars.compile('<div id="child-view"></div>'));
|
5857
|
+
container.register('template:nester', EmberHandlebars.compile('{{render "label"}}'));
|
5858
|
+
|
5859
|
+
view = EmberView.create({
|
5860
|
+
container: container,
|
5861
|
+
templateName: 'nester',
|
5862
|
+
controller: ObjectController.create({
|
5863
|
+
container: container
|
5864
|
+
})
|
5865
|
+
});
|
5866
|
+
|
5867
|
+
appendView();
|
5868
|
+
|
5869
|
+
ok(view.$('.visible').length > 0, 'class bindings are not overriden');
|
5870
|
+
});
|
5871
|
+
|
5846
5872
|
test("template view should call the function of the associated template with itself as the context", function() {
|
5847
5873
|
container.register('template:testTemplate', EmberHandlebars.compile("<h1 id='twas-called'>template was called for {{view.personName}}. Yea {{view.personName}}</h1>"));
|
5848
5874
|
|
@@ -13540,7 +13566,7 @@ define("ember-metal-views/tests/test_helpers",
|
|
13540
13566
|
if (view.element) {
|
13541
13567
|
el = view.element;
|
13542
13568
|
} else {
|
13543
|
-
el = view.element = this._dom.createElement(view.tagName || 'div');
|
13569
|
+
el = view.element = this._dom.createElement(view.tagName || 'div', contextualElement);
|
13544
13570
|
}
|
13545
13571
|
var classNames = view.classNames;
|
13546
13572
|
if (typeof classNames === 'string') {
|
@@ -13565,6 +13591,7 @@ define("ember-metal-views/tests/test_helpers",
|
|
13565
13591
|
} else if (view.textContent) {
|
13566
13592
|
setElementText(el, view.textContent);
|
13567
13593
|
} else if (view.innerHTML) {
|
13594
|
+
this._dom.detectNamespace(el);
|
13568
13595
|
var nodes = this._dom.parseHTML(view.innerHTML, el);
|
13569
13596
|
while (nodes[0]) {
|
13570
13597
|
el.appendChild(nodes[0]);
|
@@ -15162,6 +15189,72 @@ define("ember-metal/tests/binding/sync_test.jshint",
|
|
15162
15189
|
ok(true, 'ember-metal/tests/binding/sync_test.js should pass jshint.');
|
15163
15190
|
});
|
15164
15191
|
});
|
15192
|
+
define("ember-metal/tests/cache_test",
|
15193
|
+
["ember-metal/cache"],
|
15194
|
+
function(__dependency1__) {
|
15195
|
+
"use strict";
|
15196
|
+
var Cache = __dependency1__["default"];
|
15197
|
+
|
15198
|
+
QUnit.module("Cache");
|
15199
|
+
|
15200
|
+
test("basic", function() {
|
15201
|
+
var cache = new Cache(100, function(key) {
|
15202
|
+
return key.toUpperCase();
|
15203
|
+
});
|
15204
|
+
|
15205
|
+
equal(cache.get("foo"), "FOO");
|
15206
|
+
equal(cache.get("bar"), "BAR");
|
15207
|
+
equal(cache.get("foo"), "FOO");
|
15208
|
+
});
|
15209
|
+
|
15210
|
+
test("caches computation correctly", function() {
|
15211
|
+
var count = 0;
|
15212
|
+
var cache = new Cache(100, function(key) {
|
15213
|
+
count++;
|
15214
|
+
return key.toUpperCase();
|
15215
|
+
});
|
15216
|
+
|
15217
|
+
equal(count, 0);
|
15218
|
+
cache.get("foo");
|
15219
|
+
equal(count, 1);
|
15220
|
+
cache.get("bar");
|
15221
|
+
equal(count, 2);
|
15222
|
+
cache.get("bar");
|
15223
|
+
equal(count, 2);
|
15224
|
+
cache.get("foo");
|
15225
|
+
equal(count, 2);
|
15226
|
+
});
|
15227
|
+
|
15228
|
+
test("handles undefined value correctly", function() {
|
15229
|
+
var cache = new Cache(100, function(key) {});
|
15230
|
+
|
15231
|
+
equal(cache.get("foo"), undefined);
|
15232
|
+
});
|
15233
|
+
|
15234
|
+
test("continues working after reaching cache limit", function() {
|
15235
|
+
var cache = new Cache(3, function(key) {
|
15236
|
+
return key.toUpperCase();
|
15237
|
+
});
|
15238
|
+
|
15239
|
+
cache.get("a");
|
15240
|
+
cache.get("b");
|
15241
|
+
cache.get("c");
|
15242
|
+
|
15243
|
+
equal(cache.get("d"), "D");
|
15244
|
+
equal(cache.get("a"), "A");
|
15245
|
+
equal(cache.get("b"), "B");
|
15246
|
+
equal(cache.get("c"), "C");
|
15247
|
+
});
|
15248
|
+
});
|
15249
|
+
define("ember-metal/tests/cache_test.jshint",
|
15250
|
+
[],
|
15251
|
+
function() {
|
15252
|
+
"use strict";
|
15253
|
+
module('JSHint - ember-metal/tests');
|
15254
|
+
test('ember-metal/tests/cache_test.js should pass jshint', function() {
|
15255
|
+
ok(true, 'ember-metal/tests/cache_test.js should pass jshint.');
|
15256
|
+
});
|
15257
|
+
});
|
15165
15258
|
define("ember-metal/tests/chains_test",
|
15166
15259
|
["ember-metal/observer","ember-metal/chains","ember-metal/platform"],
|
15167
15260
|
function(__dependency1__, __dependency2__, __dependency3__) {
|
@@ -17571,17 +17664,50 @@ define("ember-metal/tests/map_test",
|
|
17571
17664
|
equal(map.size, 1);
|
17572
17665
|
});
|
17573
17666
|
|
17667
|
+
test("arity of forEach is 1 – es6 23.1.3.5", function() {
|
17668
|
+
equal(map.forEach.length, 1, 'expected arity for map.forEach is 1');
|
17669
|
+
});
|
17670
|
+
|
17671
|
+
test("forEach throws without a callback as the first argument", function() {
|
17672
|
+
|
17673
|
+
equal(map.forEach.length, 1, 'expected arity for map.forEach is 1');
|
17674
|
+
});
|
17675
|
+
|
17574
17676
|
test("remove", function() {
|
17575
17677
|
map.set(object, "winning");
|
17576
17678
|
map.set(number, "winning");
|
17577
17679
|
map.set(string, "winning");
|
17578
17680
|
|
17579
|
-
|
17580
|
-
|
17581
|
-
|
17681
|
+
expectDeprecation(function() {
|
17682
|
+
map.remove(object);
|
17683
|
+
map.remove(number);
|
17684
|
+
map.remove(string);
|
17685
|
+
|
17686
|
+
// doesn't explode
|
17687
|
+
map.remove({});
|
17688
|
+
}, 'Calling `Map.prototype.remove` has been deprecated, please use `Map.prototype.delete` instead.');
|
17689
|
+
|
17690
|
+
mapHasEntries([]);
|
17691
|
+
});
|
17692
|
+
|
17693
|
+
test("has empty collection", function() {
|
17694
|
+
equal(map.has('foo'), false);
|
17695
|
+
equal(map.has(), false);
|
17696
|
+
});
|
17697
|
+
|
17698
|
+
test("delete", function() {
|
17699
|
+
expectNoDeprecation();
|
17700
|
+
|
17701
|
+
map.set(object, "winning");
|
17702
|
+
map.set(number, "winning");
|
17703
|
+
map.set(string, "winning");
|
17704
|
+
|
17705
|
+
map["delete"](object);
|
17706
|
+
map["delete"](number);
|
17707
|
+
map["delete"](string);
|
17582
17708
|
|
17583
17709
|
// doesn't explode
|
17584
|
-
map
|
17710
|
+
map["delete"]({});
|
17585
17711
|
|
17586
17712
|
mapHasEntries([]);
|
17587
17713
|
});
|
@@ -17610,16 +17736,16 @@ define("ember-metal/tests/map_test",
|
|
17610
17736
|
], map2);
|
17611
17737
|
});
|
17612
17738
|
|
17613
|
-
test("copy and then
|
17739
|
+
test("copy and then delete", function() {
|
17614
17740
|
map.set(object, "winning");
|
17615
17741
|
map.set(number, "winning");
|
17616
17742
|
map.set(string, "winning");
|
17617
17743
|
|
17618
17744
|
var map2 = map.copy();
|
17619
17745
|
|
17620
|
-
map2
|
17621
|
-
map2
|
17622
|
-
map2
|
17746
|
+
map2["delete"](object);
|
17747
|
+
map2["delete"](number);
|
17748
|
+
map2["delete"](string);
|
17623
17749
|
|
17624
17750
|
mapHasEntries([
|
17625
17751
|
[ object, "winning" ],
|
@@ -17630,6 +17756,41 @@ define("ember-metal/tests/map_test",
|
|
17630
17756
|
mapHasEntries([ ], map2);
|
17631
17757
|
});
|
17632
17758
|
|
17759
|
+
test("length", function() {
|
17760
|
+
expectDeprecation('Usage of `length` is deprecated, use `size` instead.');
|
17761
|
+
|
17762
|
+
//Add a key twice
|
17763
|
+
equal(map.length, 0);
|
17764
|
+
map.set(string, "a string");
|
17765
|
+
equal(map.length, 1);
|
17766
|
+
map.set(string, "the same string");
|
17767
|
+
equal(map.length, 1);
|
17768
|
+
|
17769
|
+
//Add another
|
17770
|
+
map.set(number, "a number");
|
17771
|
+
equal(map.length, 2);
|
17772
|
+
|
17773
|
+
//Remove one that doesn't exist
|
17774
|
+
map["delete"]('does not exist');
|
17775
|
+
equal(map.length, 2);
|
17776
|
+
|
17777
|
+
//Check copy
|
17778
|
+
var copy = map.copy();
|
17779
|
+
equal(copy.length, 2);
|
17780
|
+
|
17781
|
+
//Remove a key twice
|
17782
|
+
map["delete"](number);
|
17783
|
+
equal(map.length, 1);
|
17784
|
+
map["delete"](number);
|
17785
|
+
equal(map.length, 1);
|
17786
|
+
|
17787
|
+
//Remove the last key
|
17788
|
+
map["delete"](string);
|
17789
|
+
equal(map.length, 0);
|
17790
|
+
map["delete"](string);
|
17791
|
+
equal(map.length, 0);
|
17792
|
+
});
|
17793
|
+
|
17633
17794
|
test("size", function() {
|
17634
17795
|
//Add a key twice
|
17635
17796
|
equal(map.size, 0);
|
@@ -17643,7 +17804,7 @@ define("ember-metal/tests/map_test",
|
|
17643
17804
|
equal(map.size, 2);
|
17644
17805
|
|
17645
17806
|
//Remove one that doesn't exist
|
17646
|
-
map
|
17807
|
+
map["delete"]('does not exist');
|
17647
17808
|
equal(map.size, 2);
|
17648
17809
|
|
17649
17810
|
//Check copy
|
@@ -17651,15 +17812,15 @@ define("ember-metal/tests/map_test",
|
|
17651
17812
|
equal(copy.size, 2);
|
17652
17813
|
|
17653
17814
|
//Remove a key twice
|
17654
|
-
map
|
17815
|
+
map["delete"](number);
|
17655
17816
|
equal(map.size, 1);
|
17656
|
-
map
|
17817
|
+
map["delete"](number);
|
17657
17818
|
equal(map.size, 1);
|
17658
17819
|
|
17659
17820
|
//Remove the last key
|
17660
|
-
map
|
17821
|
+
map["delete"](string);
|
17661
17822
|
equal(map.size, 0);
|
17662
|
-
map
|
17823
|
+
map["delete"](string);
|
17663
17824
|
equal(map.size, 0);
|
17664
17825
|
});
|
17665
17826
|
|
@@ -17679,6 +17840,15 @@ define("ember-metal/tests/map_test",
|
|
17679
17840
|
QUnit["throws"](function() {
|
17680
17841
|
map.forEach({});
|
17681
17842
|
}, '[object Object] is not a function');
|
17843
|
+
|
17844
|
+
map.forEach(function(value, key) {
|
17845
|
+
map["delete"](key);
|
17846
|
+
});
|
17847
|
+
// ensure the error happens even if no data is present
|
17848
|
+
equal(map.size, 0);
|
17849
|
+
QUnit["throws"](function() {
|
17850
|
+
map.forEach({});
|
17851
|
+
}, '[object Object] is not a function');
|
17682
17852
|
});
|
17683
17853
|
|
17684
17854
|
test("forEach basic", function() {
|
@@ -17794,6 +17964,73 @@ define("ember-metal/tests/map_test",
|
|
17794
17964
|
|
17795
17965
|
equal(iteration, 4, 'expected 3 iterations');
|
17796
17966
|
});
|
17967
|
+
|
17968
|
+
test("clear", function() {
|
17969
|
+
var iterations = 0;
|
17970
|
+
|
17971
|
+
map.set("a", 1);
|
17972
|
+
map.set("b", 2);
|
17973
|
+
map.set("c", 3);
|
17974
|
+
map.set("d", 4);
|
17975
|
+
|
17976
|
+
equal(map.size, 4);
|
17977
|
+
|
17978
|
+
map.forEach(function() {
|
17979
|
+
iterations++;
|
17980
|
+
});
|
17981
|
+
equal(iterations, 4);
|
17982
|
+
|
17983
|
+
map.clear();
|
17984
|
+
equal(map.size, 0);
|
17985
|
+
iterations = 0;
|
17986
|
+
map.forEach(function() {
|
17987
|
+
iterations++;
|
17988
|
+
});
|
17989
|
+
equal(iterations, 0);
|
17990
|
+
});
|
17991
|
+
|
17992
|
+
test("-0", function() {
|
17993
|
+
equal(map.has(-0), false);
|
17994
|
+
equal(map.has(0), false);
|
17995
|
+
|
17996
|
+
map.set(-0, 'zero');
|
17997
|
+
|
17998
|
+
equal(map.has(-0), true);
|
17999
|
+
equal(map.has(0), true);
|
18000
|
+
|
18001
|
+
equal(map.get(0), 'zero');
|
18002
|
+
equal(map.get(-0), 'zero');
|
18003
|
+
|
18004
|
+
map.forEach(function(value, key) {
|
18005
|
+
equal(1/key, Infinity, 'spec says key should be positive zero');
|
18006
|
+
});
|
18007
|
+
});
|
18008
|
+
|
18009
|
+
test("NaN", function() {
|
18010
|
+
equal(map.has(NaN), false);
|
18011
|
+
|
18012
|
+
map.set(NaN, 'not-a-number');
|
18013
|
+
|
18014
|
+
equal(map.has(NaN), true);
|
18015
|
+
|
18016
|
+
equal(map.get(NaN), 'not-a-number');
|
18017
|
+
|
18018
|
+
});
|
18019
|
+
|
18020
|
+
test("NaN Boxed", function() {
|
18021
|
+
//jshint -W053
|
18022
|
+
var boxed = new Number(NaN);
|
18023
|
+
equal(map.has(boxed), false);
|
18024
|
+
|
18025
|
+
map.set(boxed, 'not-a-number');
|
18026
|
+
|
18027
|
+
equal(map.has(boxed), true);
|
18028
|
+
equal(map.has(NaN), false);
|
18029
|
+
|
18030
|
+
equal(map.get(NaN), undefined);
|
18031
|
+
equal(map.get(boxed), 'not-a-number');
|
18032
|
+
});
|
18033
|
+
|
17797
18034
|
}
|
17798
18035
|
|
17799
18036
|
for (var i = 0; i < varieties.length; i++) {
|
@@ -17815,6 +18052,18 @@ define("ember-metal/tests/map_test",
|
|
17815
18052
|
strictEqual(value, map.get('ohai'));
|
17816
18053
|
});
|
17817
18054
|
|
18055
|
+
test("Map.prototype.constructor", function() {
|
18056
|
+
var map = new Map();
|
18057
|
+
equal(map.constructor, Map);
|
18058
|
+
});
|
18059
|
+
|
18060
|
+
test("MapWithDefault.prototype.constructor", function() {
|
18061
|
+
var map = new MapWithDefault({
|
18062
|
+
defaultValue: function(key) { return key; }
|
18063
|
+
});
|
18064
|
+
equal(map.constructor, MapWithDefault);
|
18065
|
+
});
|
18066
|
+
|
17818
18067
|
test("Copying a MapWithDefault copies the default value", function() {
|
17819
18068
|
var map = MapWithDefault.create({
|
17820
18069
|
defaultValue: function(key) {
|
@@ -45675,6 +45924,8 @@ define("ember-views/tests/system/render_buffer_test",
|
|
45675
45924
|
var jQuery = __dependency3__["default"];
|
45676
45925
|
var RenderBuffer = __dependency4__["default"];
|
45677
45926
|
|
45927
|
+
var svgNamespace = "http://www.w3.org/2000/svg";
|
45928
|
+
var xhtmlNamespace = "http://www.w3.org/1999/xhtml";
|
45678
45929
|
var trim = jQuery.trim;
|
45679
45930
|
|
45680
45931
|
// .......................................................
|
@@ -45722,6 +45973,16 @@ define("ember-views/tests/system/render_buffer_test",
|
|
45722
45973
|
strictEqual(el.value, '0', "generated element has value of '0'");
|
45723
45974
|
});
|
45724
45975
|
|
45976
|
+
test("sets attributes with camelCase", function() {
|
45977
|
+
var buffer = new RenderBuffer('div', document.body);
|
45978
|
+
var content = "javascript:someCode()"; //jshint ignore:line
|
45979
|
+
|
45980
|
+
buffer.attr('onClick', content);
|
45981
|
+
buffer.generateElement();
|
45982
|
+
var el = buffer.element();
|
45983
|
+
strictEqual(el.getAttribute('onClick'), content, "attribute with camelCase was set");
|
45984
|
+
});
|
45985
|
+
|
45725
45986
|
test("prevents XSS injection via `id`", function() {
|
45726
45987
|
var buffer = new RenderBuffer('div', document.body);
|
45727
45988
|
|
@@ -45898,6 +46159,64 @@ define("ember-views/tests/system/render_buffer_test",
|
|
45898
46159
|
ok(jQuery(element).html().match(/script/i), "should have script tag");
|
45899
46160
|
ok(!jQuery(element).html().match(/­/), "should not have ­");
|
45900
46161
|
});
|
46162
|
+
|
46163
|
+
if ('namespaceURI' in document.createElement('div')) {
|
46164
|
+
|
46165
|
+
QUnit.module("RenderBuffer namespaces");
|
46166
|
+
|
46167
|
+
test("properly makes a content string SVG namespace inside an SVG tag", function() {
|
46168
|
+
var buffer = new RenderBuffer('svg', document.body);
|
46169
|
+
buffer.generateElement();
|
46170
|
+
buffer.push('<path></path>foo');
|
46171
|
+
|
46172
|
+
var element = buffer.element();
|
46173
|
+
ok(element.tagName, 'SVG', 'element is svg');
|
46174
|
+
equal(element.namespaceURI, svgNamespace, 'element is svg namespace');
|
46175
|
+
|
46176
|
+
ok(element.childNodes[0].tagName, 'PATH', 'element is path');
|
46177
|
+
equal(element.childNodes[0].namespaceURI, svgNamespace, 'element is svg namespace');
|
46178
|
+
});
|
46179
|
+
|
46180
|
+
test("properly makes a path element svg namespace inside SVG context", function() {
|
46181
|
+
var buffer = new RenderBuffer('path', document.createElementNS(svgNamespace, 'svg'));
|
46182
|
+
buffer.generateElement();
|
46183
|
+
buffer.push('<g></g>');
|
46184
|
+
|
46185
|
+
var element = buffer.element();
|
46186
|
+
ok(element.tagName, 'PATH', 'element is PATH');
|
46187
|
+
equal(element.namespaceURI, svgNamespace, 'element is svg namespace');
|
46188
|
+
|
46189
|
+
ok(element.childNodes[0].tagName, 'G', 'element is g');
|
46190
|
+
equal(element.childNodes[0].namespaceURI, svgNamespace, 'element is svg namespace');
|
46191
|
+
});
|
46192
|
+
|
46193
|
+
test("properly makes a foreignObject svg namespace inside SVG context", function() {
|
46194
|
+
var buffer = new RenderBuffer('foreignObject', document.createElementNS(svgNamespace, 'svg'));
|
46195
|
+
buffer.generateElement();
|
46196
|
+
buffer.push('<div></div>');
|
46197
|
+
|
46198
|
+
var element = buffer.element();
|
46199
|
+
ok(element.tagName, 'FOREIGNOBJECT', 'element is foreignObject');
|
46200
|
+
equal(element.namespaceURI, svgNamespace, 'element is svg namespace');
|
46201
|
+
|
46202
|
+
ok(element.childNodes[0].tagName, 'DIV', 'element is div');
|
46203
|
+
equal(element.childNodes[0].namespaceURI, xhtmlNamespace, 'element is xhtml namespace');
|
46204
|
+
});
|
46205
|
+
|
46206
|
+
test("properly makes a div xhtml namespace inside foreignObject context", function() {
|
46207
|
+
var buffer = new RenderBuffer('div', document.createElementNS(svgNamespace, 'foreignObject'));
|
46208
|
+
buffer.generateElement();
|
46209
|
+
buffer.push('<div></div>');
|
46210
|
+
|
46211
|
+
var element = buffer.element();
|
46212
|
+
ok(element.tagName, 'DIV', 'element is div');
|
46213
|
+
equal(element.namespaceURI, xhtmlNamespace, 'element is xhtml namespace');
|
46214
|
+
|
46215
|
+
ok(element.childNodes[0].tagName, 'DIV', 'element is div');
|
46216
|
+
equal(element.childNodes[0].namespaceURI, xhtmlNamespace, 'element is xhtml namespace');
|
46217
|
+
});
|
46218
|
+
|
46219
|
+
}
|
45901
46220
|
});
|
45902
46221
|
define("ember-views/tests/system/render_buffer_test.jshint",
|
45903
46222
|
[],
|
@@ -48266,6 +48585,25 @@ define("ember-views/tests/views/view/attribute_bindings_test",
|
|
48266
48585
|
ok(!view.$().attr('notNumber'), "removes notNumber attribute when NaN");
|
48267
48586
|
});
|
48268
48587
|
|
48588
|
+
test("should update attribute bindings on svg", function() {
|
48589
|
+
view = EmberView.create({
|
48590
|
+
attributeBindings: ['viewBox'],
|
48591
|
+
viewBox: null
|
48592
|
+
});
|
48593
|
+
|
48594
|
+
run(function() {
|
48595
|
+
view.createElement();
|
48596
|
+
});
|
48597
|
+
|
48598
|
+
equal(view.$().attr('viewBox'), null, "viewBox can be null");
|
48599
|
+
|
48600
|
+
run(function() {
|
48601
|
+
view.set('viewBox', '0 0 100 100');
|
48602
|
+
});
|
48603
|
+
|
48604
|
+
equal(view.$().attr('viewBox'), '0 0 100 100', "viewBox can be updated");
|
48605
|
+
});
|
48606
|
+
|
48269
48607
|
// This comes into play when using the {{#each}} helper. If the
|
48270
48608
|
// passed array item is a String, it will be converted into a
|
48271
48609
|
// String object instead of a normal string.
|