From 2637d4e90c8a43436d21a4b9e790b00ae461c438 Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Mon, 12 Apr 2010 14:28:15 -0700 Subject: removed Meta and allowed binding of HTML --- test/FiltersTest.js | 42 ++++++++++++++++++------------------------ test/directivesSpec.js | 7 +++++++ test/testabilityPatch.js | 16 ++++++++++++++-- 3 files changed, 39 insertions(+), 26 deletions(-) (limited to 'test') 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('' + val.text + '', 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('' + text + '', val.html); + assertEquals('' + text + '', 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('', angular.filter.image({url:"abc"}).html); + assertEquals('', sortedHtml(angular.filter.image({url:"abc"}))); assertEquals( - '', - angular.filter.image({url:"abc"}, 10).html); + '', + sortedHtml(angular.filter.image({url:"abc"}, 10))); assertEquals( - '', - angular.filter.image({url:"abc"}, 10, 20).html); + '', + sortedHtml(angular.filter.image({url:"abc"}, 10, 20))); }; FiltersTest.prototype.testQRcode = function() { assertEquals( - '', - angular.filter.qrcode('Hello world').html); + '', + sortedHtml(angular.filter.qrcode('Hello world'))); assertEquals( - '', - angular.filter.qrcode('http://server?a&b=c', 100).html); + '', + 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( - '', - angular.filter.googleChartApi.encode({cht:"qr", chl:"Hello world"}).html); + '', + sortedHtml(angular.filter.googleChartApi.encode({cht:"qr", chl:"Hello world"}))); }; FiltersTest.prototype.testHtml = function() { - assertEquals( - "acd", - angular.filter.html("acd").html); - assertTrue(angular.filter.html("acd") instanceof angular.filter.Meta); + var div = jqLite('
'); + div.append(angular.filter.html("acd")); + assertEquals("acd", div.html()); }; FiltersTest.prototype.testLinky = function() { @@ -150,8 +145,7 @@ FiltersTest.prototype.testLinky = function() { '(http://a) ' + '<http://a> \n ' + 'http://1.2/v:~-123. c', - linky("http://ab (http://a) \n http://1.2/v:~-123. c").html); - assertTrue(linky("a") instanceof angular.filter.Meta); + sortedHtml(linky("http://ab (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('
'); + scope.html = '
hello
'; + scope.$eval(); + expect(element.html()).toEqual('
hello
'); + }); + it('should ng-bind-template', function() { var scope = compile('
'); 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'; } - })(element[0]); + }); return html; } -- cgit v1.2.3