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.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) {
|
@@ -45701,6 +45950,8 @@ define("ember-views/tests/system/render_buffer_test",
|
|
45701
45950
|
var jQuery = __dependency3__["default"];
|
45702
45951
|
var RenderBuffer = __dependency4__["default"];
|
45703
45952
|
|
45953
|
+
var svgNamespace = "http://www.w3.org/2000/svg";
|
45954
|
+
var xhtmlNamespace = "http://www.w3.org/1999/xhtml";
|
45704
45955
|
var trim = jQuery.trim;
|
45705
45956
|
|
45706
45957
|
// .......................................................
|
@@ -45748,6 +45999,16 @@ define("ember-views/tests/system/render_buffer_test",
|
|
45748
45999
|
strictEqual(el.value, '0', "generated element has value of '0'");
|
45749
46000
|
});
|
45750
46001
|
|
46002
|
+
test("sets attributes with camelCase", function() {
|
46003
|
+
var buffer = new RenderBuffer('div', document.body);
|
46004
|
+
var content = "javascript:someCode()"; //jshint ignore:line
|
46005
|
+
|
46006
|
+
buffer.attr('onClick', content);
|
46007
|
+
buffer.generateElement();
|
46008
|
+
var el = buffer.element();
|
46009
|
+
strictEqual(el.getAttribute('onClick'), content, "attribute with camelCase was set");
|
46010
|
+
});
|
46011
|
+
|
45751
46012
|
test("prevents XSS injection via `id`", function() {
|
45752
46013
|
var buffer = new RenderBuffer('div', document.body);
|
45753
46014
|
|
@@ -45924,6 +46185,64 @@ define("ember-views/tests/system/render_buffer_test",
|
|
45924
46185
|
ok(jQuery(element).html().match(/script/i), "should have script tag");
|
45925
46186
|
ok(!jQuery(element).html().match(/­/), "should not have ­");
|
45926
46187
|
});
|
46188
|
+
|
46189
|
+
if ('namespaceURI' in document.createElement('div')) {
|
46190
|
+
|
46191
|
+
QUnit.module("RenderBuffer namespaces");
|
46192
|
+
|
46193
|
+
test("properly makes a content string SVG namespace inside an SVG tag", function() {
|
46194
|
+
var buffer = new RenderBuffer('svg', document.body);
|
46195
|
+
buffer.generateElement();
|
46196
|
+
buffer.push('<path></path>foo');
|
46197
|
+
|
46198
|
+
var element = buffer.element();
|
46199
|
+
ok(element.tagName, 'SVG', 'element is svg');
|
46200
|
+
equal(element.namespaceURI, svgNamespace, 'element is svg namespace');
|
46201
|
+
|
46202
|
+
ok(element.childNodes[0].tagName, 'PATH', 'element is path');
|
46203
|
+
equal(element.childNodes[0].namespaceURI, svgNamespace, 'element is svg namespace');
|
46204
|
+
});
|
46205
|
+
|
46206
|
+
test("properly makes a path element svg namespace inside SVG context", function() {
|
46207
|
+
var buffer = new RenderBuffer('path', document.createElementNS(svgNamespace, 'svg'));
|
46208
|
+
buffer.generateElement();
|
46209
|
+
buffer.push('<g></g>');
|
46210
|
+
|
46211
|
+
var element = buffer.element();
|
46212
|
+
ok(element.tagName, 'PATH', 'element is PATH');
|
46213
|
+
equal(element.namespaceURI, svgNamespace, 'element is svg namespace');
|
46214
|
+
|
46215
|
+
ok(element.childNodes[0].tagName, 'G', 'element is g');
|
46216
|
+
equal(element.childNodes[0].namespaceURI, svgNamespace, 'element is svg namespace');
|
46217
|
+
});
|
46218
|
+
|
46219
|
+
test("properly makes a foreignObject svg namespace inside SVG context", function() {
|
46220
|
+
var buffer = new RenderBuffer('foreignObject', document.createElementNS(svgNamespace, 'svg'));
|
46221
|
+
buffer.generateElement();
|
46222
|
+
buffer.push('<div></div>');
|
46223
|
+
|
46224
|
+
var element = buffer.element();
|
46225
|
+
ok(element.tagName, 'FOREIGNOBJECT', 'element is foreignObject');
|
46226
|
+
equal(element.namespaceURI, svgNamespace, 'element is svg namespace');
|
46227
|
+
|
46228
|
+
ok(element.childNodes[0].tagName, 'DIV', 'element is div');
|
46229
|
+
equal(element.childNodes[0].namespaceURI, xhtmlNamespace, 'element is xhtml namespace');
|
46230
|
+
});
|
46231
|
+
|
46232
|
+
test("properly makes a div xhtml namespace inside foreignObject context", function() {
|
46233
|
+
var buffer = new RenderBuffer('div', document.createElementNS(svgNamespace, 'foreignObject'));
|
46234
|
+
buffer.generateElement();
|
46235
|
+
buffer.push('<div></div>');
|
46236
|
+
|
46237
|
+
var element = buffer.element();
|
46238
|
+
ok(element.tagName, 'DIV', 'element is div');
|
46239
|
+
equal(element.namespaceURI, xhtmlNamespace, 'element is xhtml namespace');
|
46240
|
+
|
46241
|
+
ok(element.childNodes[0].tagName, 'DIV', 'element is div');
|
46242
|
+
equal(element.childNodes[0].namespaceURI, xhtmlNamespace, 'element is xhtml namespace');
|
46243
|
+
});
|
46244
|
+
|
46245
|
+
}
|
45927
46246
|
});
|
45928
46247
|
define("ember-views/tests/system/render_buffer_test.jshint",
|
45929
46248
|
[],
|
@@ -48292,6 +48611,25 @@ define("ember-views/tests/views/view/attribute_bindings_test",
|
|
48292
48611
|
ok(!view.$().attr('notNumber'), "removes notNumber attribute when NaN");
|
48293
48612
|
});
|
48294
48613
|
|
48614
|
+
test("should update attribute bindings on svg", function() {
|
48615
|
+
view = EmberView.create({
|
48616
|
+
attributeBindings: ['viewBox'],
|
48617
|
+
viewBox: null
|
48618
|
+
});
|
48619
|
+
|
48620
|
+
run(function() {
|
48621
|
+
view.createElement();
|
48622
|
+
});
|
48623
|
+
|
48624
|
+
equal(view.$().attr('viewBox'), null, "viewBox can be null");
|
48625
|
+
|
48626
|
+
run(function() {
|
48627
|
+
view.set('viewBox', '0 0 100 100');
|
48628
|
+
});
|
48629
|
+
|
48630
|
+
equal(view.$().attr('viewBox'), '0 0 100 100', "viewBox can be updated");
|
48631
|
+
});
|
48632
|
+
|
48295
48633
|
// This comes into play when using the {{#each}} helper. If the
|
48296
48634
|
// passed array item is a String, it will be converted into a
|
48297
48635
|
// String object instead of a normal string.
|