aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMisko Hevery2010-04-12 14:28:15 -0700
committerMisko Hevery2010-04-12 14:28:15 -0700
commit2637d4e90c8a43436d21a4b9e790b00ae461c438 (patch)
treea952ccff0f34595a6624a01e840df823665c09a9 /test
parent843bd355d25ebf2369aec79f98cb6704d38497e9 (diff)
downloadangular.js-2637d4e90c8a43436d21a4b9e790b00ae461c438.tar.bz2
removed Meta and allowed binding of HTML
Diffstat (limited to 'test')
-rw-r--r--test/FiltersTest.js42
-rw-r--r--test/directivesSpec.js7
-rw-r--r--test/testabilityPatch.js16
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>) ' +
'&lt;<a href="http://a">http://a</a>&gt; \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;
}