diff options
| author | Misko Hevery | 2010-04-19 17:02:46 -0700 | 
|---|---|---|
| committer | Misko Hevery | 2010-04-19 17:02:46 -0700 | 
| commit | 259c2bba4bf1fc4f0d4cf5bcda4ffef0fb5a615a (patch) | |
| tree | 6bff2acb37421eb70539001d5477fbbac77231e5 | |
| parent | 47ec2187776658ad9ee2a9c71a28ddb860bec43a (diff) | |
| download | angular.js-259c2bba4bf1fc4f0d4cf5bcda4ffef0fb5a615a.tar.bz2 | |
last failing ie test remaining
| -rw-r--r-- | src/Compiler.js | 9 | ||||
| -rw-r--r-- | src/jqLite.js | 5 | ||||
| -rw-r--r-- | src/markups.js | 6 | ||||
| -rw-r--r-- | test/BinderTest.js | 12 | ||||
| -rw-r--r-- | test/testabilityPatch.js | 6 | 
5 files changed, 24 insertions, 14 deletions
| diff --git a/src/Compiler.js b/src/Compiler.js index a762b5fd..96df88fb 100644 --- a/src/Compiler.js +++ b/src/Compiler.js @@ -182,10 +182,15 @@ function eachNode(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++) {      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);  } diff --git a/src/jqLite.js b/src/jqLite.js index 53f52215..2d41a25c 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -29,7 +29,10 @@ function jqClearData(element) {        removeEventListener(element, type, fn);      });      delete jqCache[cacheId]; -    delete element[jqName]; +    if (msie) +      element[jqName] = ''; // ie does not allow deletion of attributes on elements. +    else +      delete element[jqName];    }  } diff --git a/src/markups.js b/src/markups.js index 4207d83f..e9c03217 100644 --- a/src/markups.js +++ b/src/markups.js @@ -43,6 +43,12 @@ angularTextMarkup('{{}}', function(text, textNode, parentElement) {          } else {            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 = newElement;        }); diff --git a/test/BinderTest.js b/test/BinderTest.js index ec0c1cb4..50e1683a 100644 --- a/test/BinderTest.js +++ b/test/BinderTest.js @@ -16,7 +16,9 @@ BinderTest.prototype.setUp = 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>',        this.compileToHtml("<b>{{a}} {{b}}</b>"));    assertEquals( -      '<span ng-bind="A"></span><span>'+nbsp+'x </span><span ng-bind="B"></span><span>'+nbsp+'(</span><span ng-bind="C"></span>', -      this.compileToHtml("{{A}} x {{B}} ({{C}})")); +      '<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("<b>{{A}} x {{B}} ({{C}})</b>"));  };  BinderTest.prototype.testBindingOfAttributes = function() { @@ -586,13 +588,13 @@ BinderTest.prototype.testItShouldSelectTheCorrectRadioBox = function() {    var female = jqLite(c.node[0].childNodes[0]);    var male = jqLite(c.node[0].childNodes[1]); -  trigger(female, 'click'); +  female.trigger('click');    assertEquals("female", c.scope.sex);    assertEquals(true, female[0].checked);    assertEquals(false, male[0].checked);    assertEquals("female", female.val()); -  trigger(male, 'click'); +  male.trigger('click');    assertEquals("male", c.scope.sex);    assertEquals(false, female[0].checked);    assertEquals(true, male[0].checked); diff --git a/test/testabilityPatch.js b/test/testabilityPatch.js index 21443fa5..17341575 100644 --- a/test/testabilityPatch.js +++ b/test/testabilityPatch.js @@ -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) {    var html = "";    foreach(element, function toString(node) { | 
