mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-04-20 14:50:59 +00:00
last failing ie test remaining
This commit is contained in:
parent
47ec218777
commit
259c2bba4b
5 changed files with 24 additions and 14 deletions
|
|
@ -182,10 +182,15 @@ function eachNode(element, fn){
|
||||||
}
|
}
|
||||||
|
|
||||||
function eachAttribute(element, fn){
|
function eachAttribute(element, fn){
|
||||||
var i, attrs = element[0].attributes || [], chld, attr, attrValue = {};
|
var i, attrs = element[0].attributes || [], chld, attr, name, value, attrValue = {};
|
||||||
for (i = 0; i < attrs.length; i++) {
|
for (i = 0; i < attrs.length; i++) {
|
||||||
attr = attrs[i];
|
attr = attrs[i];
|
||||||
attrValue[attr.name] = attr.value;
|
name = attr.name;
|
||||||
|
value = attr.value;
|
||||||
|
if (msie && name == 'href') {
|
||||||
|
value = decodeURIComponent(element[0].getAttribute(name, 2));
|
||||||
|
}
|
||||||
|
attrValue[name] = value;
|
||||||
}
|
}
|
||||||
foreachSorted(attrValue, fn);
|
foreachSorted(attrValue, fn);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,10 @@ function jqClearData(element) {
|
||||||
removeEventListener(element, type, fn);
|
removeEventListener(element, type, fn);
|
||||||
});
|
});
|
||||||
delete jqCache[cacheId];
|
delete jqCache[cacheId];
|
||||||
delete element[jqName];
|
if (msie)
|
||||||
|
element[jqName] = ''; // ie does not allow deletion of attributes on elements.
|
||||||
|
else
|
||||||
|
delete element[jqName];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,12 @@ angularTextMarkup('{{}}', function(text, textNode, parentElement) {
|
||||||
} else {
|
} else {
|
||||||
newElement = self.text(text);
|
newElement = self.text(text);
|
||||||
}
|
}
|
||||||
|
if (msie && text.charAt(0) == ' ') {
|
||||||
|
newElement = jqLite('<span> </span>');
|
||||||
|
var nbsp = newElement.html();
|
||||||
|
newElement.text(text.substr(1));
|
||||||
|
newElement.html(nbsp + newElement.html());
|
||||||
|
}
|
||||||
cursor.after(newElement);
|
cursor.after(newElement);
|
||||||
cursor = newElement;
|
cursor = newElement;
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,9 @@ BinderTest.prototype.setUp = function(){
|
||||||
};
|
};
|
||||||
|
|
||||||
BinderTest.prototype.tearDown = function(){
|
BinderTest.prototype.tearDown = function(){
|
||||||
if (this.element && this.element.dealoc) this.element.dealoc();
|
if (this.element && this.element.dealoc) {
|
||||||
|
this.element.dealoc();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -100,8 +102,8 @@ BinderTest.prototype.testBindingSpaceConfusesIE = function() {
|
||||||
'<b><span ng-bind="a"></span><span>'+nbsp+'</span><span ng-bind="b"></span></b>',
|
'<b><span ng-bind="a"></span><span>'+nbsp+'</span><span ng-bind="b"></span></b>',
|
||||||
this.compileToHtml("<b>{{a}} {{b}}</b>"));
|
this.compileToHtml("<b>{{a}} {{b}}</b>"));
|
||||||
assertEquals(
|
assertEquals(
|
||||||
'<span ng-bind="A"></span><span>'+nbsp+'x </span><span ng-bind="B"></span><span>'+nbsp+'(</span><span ng-bind="C"></span>',
|
'<b><span ng-bind="A"></span><span>'+nbsp+'x </span><span ng-bind="B"></span><span>'+nbsp+'(</span><span ng-bind="C"></span>)</b>',
|
||||||
this.compileToHtml("{{A}} x {{B}} ({{C}})"));
|
this.compileToHtml("<b>{{A}} x {{B}} ({{C}})</b>"));
|
||||||
};
|
};
|
||||||
|
|
||||||
BinderTest.prototype.testBindingOfAttributes = function() {
|
BinderTest.prototype.testBindingOfAttributes = function() {
|
||||||
|
|
@ -586,13 +588,13 @@ BinderTest.prototype.testItShouldSelectTheCorrectRadioBox = function() {
|
||||||
var female = jqLite(c.node[0].childNodes[0]);
|
var female = jqLite(c.node[0].childNodes[0]);
|
||||||
var male = jqLite(c.node[0].childNodes[1]);
|
var male = jqLite(c.node[0].childNodes[1]);
|
||||||
|
|
||||||
trigger(female, 'click');
|
female.trigger('click');
|
||||||
assertEquals("female", c.scope.sex);
|
assertEquals("female", c.scope.sex);
|
||||||
assertEquals(true, female[0].checked);
|
assertEquals(true, female[0].checked);
|
||||||
assertEquals(false, male[0].checked);
|
assertEquals(false, male[0].checked);
|
||||||
assertEquals("female", female.val());
|
assertEquals("female", female.val());
|
||||||
|
|
||||||
trigger(male, 'click');
|
male.trigger('click');
|
||||||
assertEquals("male", c.scope.sex);
|
assertEquals("male", c.scope.sex);
|
||||||
assertEquals(false, female[0].checked);
|
assertEquals(false, female[0].checked);
|
||||||
assertEquals(true, male[0].checked);
|
assertEquals(true, male[0].checked);
|
||||||
|
|
|
||||||
|
|
@ -27,12 +27,6 @@ extend(angular, {
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
function trigger(element, type) {
|
|
||||||
var evnt = document.createEvent('MouseEvent');
|
|
||||||
evnt.initMouseEvent(type, true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
|
|
||||||
(element[0] || element).dispatchEvent(evnt);
|
|
||||||
}
|
|
||||||
|
|
||||||
function sortedHtml(element) {
|
function sortedHtml(element) {
|
||||||
var html = "";
|
var html = "";
|
||||||
foreach(element, function toString(node) {
|
foreach(element, function toString(node) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue