diff options
| author | Misko Hevery | 2011-02-03 16:35:51 -0800 | 
|---|---|---|
| committer | Misko Hevery | 2011-02-04 13:44:22 -0800 | 
| commit | 46d690ff0188836688811dda9af1b99c44750c48 (patch) | |
| tree | f2253031ba3c8574ec93f03a18bb9fb2667aef51 /test | |
| parent | 882f412d578e4f01394847fa5fde21b6b4096de2 (diff) | |
| download | angular.js-46d690ff0188836688811dda9af1b99c44750c48.tar.bz2 | |
smarter normalization of value on option, and htmlParser fixes
Diffstat (limited to 'test')
| -rw-r--r-- | test/markupSpec.js | 14 | ||||
| -rw-r--r-- | test/sanitizerSpec.js | 15 | ||||
| -rw-r--r-- | test/testabilityPatch.js | 4 | ||||
| -rw-r--r-- | test/widgetsSpec.js | 2 | 
4 files changed, 28 insertions, 7 deletions
| diff --git a/test/markupSpec.js b/test/markupSpec.js index f629378d..16efba55 100644 --- a/test/markupSpec.js +++ b/test/markupSpec.js @@ -46,10 +46,18 @@ describe("markups", function(){        this.addMatchers({          toHaveValue: function(expected){            this.message = function(){ -            return 'Expected "' + sortedHtml(this.actual) + '" to have value="' + expected + '".'; +            return 'Expected "' + this.actual.html() + '" to have value="' + expected + '".';            }; -          return this.actual.html().indexOf('value="' + expected + '"') != -1; +          var value; +          htmlParser(this.actual.html(), { +            start:function(tag, attrs){ +              value = attrs.value; +            }, +            end:noop, +            chars:noop +          }); +          return trim(value) == trim(expected);          }        });      }); @@ -70,6 +78,8 @@ describe("markups", function(){      });      it('should set value even if self closing HTML', function(){ +      // IE removes the \n from option, which makes this test pointless +      if (msie) return;        compile('<select name="x"><option>\n</option></select>');        expect(element).toHaveValue('\n');      }); diff --git a/test/sanitizerSpec.js b/test/sanitizerSpec.js index 7158fbee..787ce84c 100644 --- a/test/sanitizerSpec.js +++ b/test/sanitizerSpec.js @@ -14,6 +14,11 @@ describe('HTML', function(){                  attrs: attrs,                  unary: unary              }; +            // Since different browsers handle newlines differenttly we trim +            // so that it is easier to write tests. +            forEach(attrs, function(value, key){ +              attrs[key] = trim(value); +            });            },            chars: function(text_){              text = text_; @@ -38,16 +43,22 @@ describe('HTML', function(){      it('should parse newlines in attributes', function(){        htmlParser('<tag attr="\nvalue\n">text</tag>', handler); -      expect(start).toEqual({tag:'tag', attrs:{attr:'\nvalue\n'}, unary:false}); +      expect(start).toEqual({tag:'tag', attrs:{attr:'value'}, unary:false});        expect(text).toEqual('text');      });      it('should parse namespace', function(){        htmlParser('<ns:t-a-g ns:a-t-t-r="\nvalue\n">text</ns:t-a-g>', handler); -      expect(start).toEqual({tag:'ns:t-a-g', attrs:{'ns:a-t-t-r':'\nvalue\n'}, unary:false}); +      expect(start).toEqual({tag:'ns:t-a-g', attrs:{'ns:a-t-t-r':'value'}, unary:false});        expect(text).toEqual('text');      }); +    it('should parse empty value attribute of node', function(){ +      htmlParser('<OPTION selected value="">abc</OPTION>', handler); +      expect(start).toEqual({tag:'option', attrs:{selected:'', value:''}, unary:false}); +      expect(text).toEqual('abc'); +    }); +    });    it('should echo html', function(){ diff --git a/test/testabilityPatch.js b/test/testabilityPatch.js index 76033ab2..e0086b8a 100644 --- a/test/testabilityPatch.js +++ b/test/testabilityPatch.js @@ -70,7 +70,7 @@ beforeEach(function(){            expected = toJson(this.actual);          }          return "Expected " + expected + " to be an Error with message " + toJson(message); -      } +      };        return this.actual.name == 'Error' && this.actual.message == message;      }, @@ -83,7 +83,7 @@ beforeEach(function(){            expected = toJson(this.actual);          }          return "Expected " + expected + " to match an Error with message " + toJson(messageRegexp); -      } +      };        return this.actual.name == 'Error' && messageRegexp.test(this.actual.message);      }    }); diff --git a/test/widgetsSpec.js b/test/widgetsSpec.js index ee339e89..6bff5a36 100644 --- a/test/widgetsSpec.js +++ b/test/widgetsSpec.js @@ -475,7 +475,7 @@ describe("widget", function(){          scope.$eval();          expect(scope.$element.text()).toBe('foobarC'); -      }) +      });      }); | 
