diff options
| author | Misko Hevery | 2010-04-12 14:28:15 -0700 |
|---|---|---|
| committer | Misko Hevery | 2010-04-12 14:28:15 -0700 |
| commit | 2637d4e90c8a43436d21a4b9e790b00ae461c438 (patch) | |
| tree | a952ccff0f34595a6624a01e840df823665c09a9 /test | |
| parent | 843bd355d25ebf2369aec79f98cb6704d38497e9 (diff) | |
| download | angular.js-2637d4e90c8a43436d21a4b9e790b00ae461c438.tar.bz2 | |
removed Meta and allowed binding of HTML
Diffstat (limited to 'test')
| -rw-r--r-- | test/FiltersTest.js | 42 | ||||
| -rw-r--r-- | test/directivesSpec.js | 7 | ||||
| -rw-r--r-- | test/testabilityPatch.js | 16 |
3 files changed, 39 insertions, 26 deletions
diff --git a/test/FiltersTest.js b/test/FiltersTest.js index 504dad02..ad38b94d 100644 --- a/test/FiltersTest.js +++ b/test/FiltersTest.js @@ -45,11 +45,8 @@ FiltersTest.prototype.testPackageTracking = function () { var assert = function(title, trackingNo) { var val = angular.filter.trackPackage(trackingNo, title); assertNotNull("Did Not Match: " + trackingNo, val); - assertEquals(angular.filter.Meta.TAG, val.TAG); - assertEquals(title + ": " + trim(trackingNo), val.text); - assertNotNull(val.url); - assertEquals(trim(trackingNo), val.trackingNo); - assertEquals('<a href="' + val.url + '">' + val.text + '</a>', val.html); + assertEquals(title + ": " + trim(trackingNo), val.text()); + assertNotNull(val.attr('href')); }; assert('UPS', ' 1Z 999 999 99 9999 999 9 '); assert('UPS', '1ZW5w5220379084747'); @@ -72,8 +69,7 @@ FiltersTest.prototype.testPackageTracking = function () { FiltersTest.prototype.testLink = function() { var assert = function(text, url, obj){ var val = angular.filter.link(obj); - assertEquals(angular.filter.Meta.TAG, val.TAG); - assertEquals('<a href="' + url + '">' + text + '</a>', val.html); + assertEquals('<a href="' + url + '">' + text + '</a>', sortedHtml(val)); }; assert("url", "url", "url"); assert("hello", "url", {text:"hello", url:"url"}); @@ -84,22 +80,22 @@ FiltersTest.prototype.testImage = function(){ assertEquals(null, angular.filter.image()); assertEquals(null, angular.filter.image({})); assertEquals(null, angular.filter.image("")); - assertEquals('<img src="abc"/>', angular.filter.image({url:"abc"}).html); + assertEquals('<img src="abc"></img>', sortedHtml(angular.filter.image({url:"abc"}))); assertEquals( - '<img src="abc" style="max-width: 10px; max-height: 10px;"/>', - angular.filter.image({url:"abc"}, 10).html); + '<img src="abc" style="max-height: 10px; max-width: 10px;"></img>', + sortedHtml(angular.filter.image({url:"abc"}, 10))); assertEquals( - '<img src="abc" style="max-width: 10px; max-height: 20px;"/>', - angular.filter.image({url:"abc"}, 10, 20).html); + '<img src="abc" style="max-height: 20px; max-width: 10px;"></img>', + sortedHtml(angular.filter.image({url:"abc"}, 10, 20))); }; FiltersTest.prototype.testQRcode = function() { assertEquals( - '<img width="200" height="200" src="http://chart.apis.google.com/chart?chl=Hello%20world&chs=200x200&cht=qr"/>', - angular.filter.qrcode('Hello world').html); + '<img src="http://chart.apis.google.com/chart?chl=Hello%20world&chs=200x200&cht=qr" style="height: 200px; width: 200px;"></img>', + sortedHtml(angular.filter.qrcode('Hello world'))); assertEquals( - '<img width="100" height="100" src="http://chart.apis.google.com/chart?chl=http%3A%2F%2Fserver%3Fa%26b%3Dc&chs=100x100&cht=qr"/>', - angular.filter.qrcode('http://server?a&b=c', 100).html); + '<img src="http://chart.apis.google.com/chart?chl=http%3A%2F%2Fserver%3Fa%26b%3Dc&chs=100x100&cht=qr" style="height: 100px; width: 100px;"></img>', + sortedHtml(angular.filter.qrcode('http://server?a&b=c', 100))); }; FiltersTest.prototype.testLowercase = function() { @@ -132,15 +128,14 @@ FiltersTest.prototype.testUnless = function() { FiltersTest.prototype.testGoogleChartApiEncode = function() { assertEquals( - '<img width="200" height="200" src="http://chart.apis.google.com/chart?chl=Hello world&chs=200x200&cht=qr"/>', - angular.filter.googleChartApi.encode({cht:"qr", chl:"Hello world"}).html); + '<img src="http://chart.apis.google.com/chart?chl=Hello world&chs=200x200&cht=qr" style="height: 200px; width: 200px;"></img>', + sortedHtml(angular.filter.googleChartApi.encode({cht:"qr", chl:"Hello world"}))); }; FiltersTest.prototype.testHtml = function() { - assertEquals( - "a<b>c</b>d", - angular.filter.html("a<b>c</b>d").html); - assertTrue(angular.filter.html("a<b>c</b>d") instanceof angular.filter.Meta); + var div = jqLite('<div></div>'); + div.append(angular.filter.html("a<b>c</b>d")); + assertEquals("a<b>c</b>d", div.html()); }; FiltersTest.prototype.testLinky = function() { @@ -150,8 +145,7 @@ FiltersTest.prototype.testLinky = function() { '(<a href="http://a">http://a</a>) ' + '<<a href="http://a">http://a</a>> \n ' + '<a href="http://1.2/v:~-123">http://1.2/v:~-123</a>. c', - linky("http://ab (http://a) <http://a> \n http://1.2/v:~-123. c").html); - assertTrue(linky("a") instanceof angular.filter.Meta); + sortedHtml(linky("http://ab (http://a) <http://a> \n http://1.2/v:~-123. c"))); assertEquals(undefined, linky(undefined)); }; diff --git a/test/directivesSpec.js b/test/directivesSpec.js index 1def9584..300602fe 100644 --- a/test/directivesSpec.js +++ b/test/directivesSpec.js @@ -37,6 +37,13 @@ describe("directives", function(){ expect(element.text()).toEqual('misko'); }); + it('should ng-bind html', function() { + var scope = compile('<div ng-bind="html|html"></div>'); + scope.html = '<div>hello</div>'; + scope.$eval(); + expect(element.html()).toEqual('<div>hello</div>'); + }); + it('should ng-bind-template', function() { var scope = compile('<div ng-bind-template="Hello {{name}}!"></div>'); scope.$set('name', 'Misko'); diff --git a/test/testabilityPatch.js b/test/testabilityPatch.js index 5955e9a6..dfa14b97 100644 --- a/test/testabilityPatch.js +++ b/test/testabilityPatch.js @@ -35,7 +35,7 @@ function trigger(element, type) { function sortedHtml(element) { var html = ""; - (function toString(node) { + foreach(element, function toString(node) { if (node.nodeName == "#text") { html += escapeHtml(node.nodeValue); } else { @@ -56,6 +56,7 @@ function sortedHtml(element) { attr.name !='size' && attr.name !='start' && attr.name !='tabIndex' && + attr.name !='style' && attr.name.substr(0, 6) != 'jQuery') { // in IE we need to check for all of these. attrs.push(' ' + attr.name + '="' + attr.value + '"'); @@ -63,6 +64,17 @@ function sortedHtml(element) { } attrs.sort(); html += attrs.join(''); + var style = []; + for(var name in node.style) { + var value = node.style[name]; + if (value && isString(value) && (name != 1*name) && (name != 'cssText')) { + style.push(name + ': ' + value + ';'); + } + } + style.sort(); + if (style.length) { + html += ' style="' + style.join(' ') + '"'; + } html += '>'; var children = node.childNodes; for(var j=0; j<children.length; j++) { @@ -70,7 +82,7 @@ function sortedHtml(element) { } html += '</' + node.nodeName.toLowerCase() + '>'; } - })(element[0]); + }); return html; } |
