diff options
Diffstat (limited to 'test/markupSpec.js')
| -rw-r--r-- | test/markupSpec.js | 176 |
1 files changed, 87 insertions, 89 deletions
diff --git a/test/markupSpec.js b/test/markupSpec.js index cb8ee23f..3234bf2f 100644 --- a/test/markupSpec.js +++ b/test/markupSpec.js @@ -14,8 +14,7 @@ describe("markups", function(){ }); afterEach(function(){ - if (element) element.remove(); - expect(size(jqCache)).toEqual(0); + dealoc(element); }); it('should translate {{}} in text', function(){ @@ -63,92 +62,91 @@ describe("markups", function(){ compile('<a ng:href="{{url}}" rel="{{rel}}"></a>'); expect(sortedHtml(element)).toEqual('<a ng:bind-attr="{"href":"{{url}}","rel":"{{rel}}"}"></a>'); }); -}); + it('should Parse Text With No Bindings', function(){ + var parts = parseBindings("a"); + assertEquals(parts.length, 1); + assertEquals(parts[0], "a"); + assertTrue(!binding(parts[0])); + }); + + it('should Parse Empty Text', function(){ + var parts = parseBindings(""); + assertEquals(parts.length, 1); + assertEquals(parts[0], ""); + assertTrue(!binding(parts[0])); + }); + + it('should Parse Inner Binding', function(){ + var parts = parseBindings("a{{b}}C"); + assertEquals(parts.length, 3); + assertEquals(parts[0], "a"); + assertTrue(!binding(parts[0])); + assertEquals(parts[1], "{{b}}"); + assertEquals(binding(parts[1]), "b"); + assertEquals(parts[2], "C"); + assertTrue(!binding(parts[2])); + }); + + it('should Parse Ending Binding', function(){ + var parts = parseBindings("a{{b}}"); + assertEquals(parts.length, 2); + assertEquals(parts[0], "a"); + assertTrue(!binding(parts[0])); + assertEquals(parts[1], "{{b}}"); + assertEquals(binding(parts[1]), "b"); + }); + + it('should Parse Begging Binding', function(){ + var parts = parseBindings("{{b}}c"); + assertEquals(parts.length, 2); + assertEquals(parts[0], "{{b}}"); + assertEquals(binding(parts[0]), "b"); + assertEquals(parts[1], "c"); + assertTrue(!binding(parts[1])); + }); + + it('should Parse Loan Binding', function(){ + var parts = parseBindings("{{b}}"); + assertEquals(parts.length, 1); + assertEquals(parts[0], "{{b}}"); + assertEquals(binding(parts[0]), "b"); + }); + + it('should Parse Two Bindings', function(){ + var parts = parseBindings("{{b}}{{c}}"); + assertEquals(parts.length, 2); + assertEquals(parts[0], "{{b}}"); + assertEquals(binding(parts[0]), "b"); + assertEquals(parts[1], "{{c}}"); + assertEquals(binding(parts[1]), "c"); + }); + + it('should Parse Two Bindings With Text In Middle', function(){ + var parts = parseBindings("{{b}}x{{c}}"); + assertEquals(parts.length, 3); + assertEquals(parts[0], "{{b}}"); + assertEquals(binding(parts[0]), "b"); + assertEquals(parts[1], "x"); + assertTrue(!binding(parts[1])); + assertEquals(parts[2], "{{c}}"); + assertEquals(binding(parts[2]), "c"); + }); + + it('should Parse Multiline', function(){ + var parts = parseBindings('"X\nY{{A\nB}}C\nD"'); + assertTrue(!!binding('{{A\nB}}')); + assertEquals(parts.length, 3); + assertEquals(parts[0], '"X\nY'); + assertEquals(parts[1], '{{A\nB}}'); + assertEquals(parts[2], 'C\nD"'); + }); + + it('should Has Binding', function(){ + assertTrue(hasBindings(parseBindings("{{a}}"))); + assertTrue(!hasBindings(parseBindings("a"))); + assertTrue(hasBindings(parseBindings("{{b}}x{{c}}"))); + }); + +}); -var BindingMarkupTest = TestCase("BindingMarkupTest"); - -BindingMarkupTest.prototype.testParseTextWithNoBindings = function(){ - var parts = parseBindings("a"); - assertEquals(parts.length, 1); - assertEquals(parts[0], "a"); - assertTrue(!binding(parts[0])); -}; - -BindingMarkupTest.prototype.testParseEmptyText = function(){ - var parts = parseBindings(""); - assertEquals(parts.length, 1); - assertEquals(parts[0], ""); - assertTrue(!binding(parts[0])); -}; - -BindingMarkupTest.prototype.testParseInnerBinding = function(){ - var parts = parseBindings("a{{b}}c"); - assertEquals(parts.length, 3); - assertEquals(parts[0], "a"); - assertTrue(!binding(parts[0])); - assertEquals(parts[1], "{{b}}"); - assertEquals(binding(parts[1]), "b"); - assertEquals(parts[2], "c"); - assertTrue(!binding(parts[2])); -}; - -BindingMarkupTest.prototype.testParseEndingBinding = function(){ - var parts = parseBindings("a{{b}}"); - assertEquals(parts.length, 2); - assertEquals(parts[0], "a"); - assertTrue(!binding(parts[0])); - assertEquals(parts[1], "{{b}}"); - assertEquals(binding(parts[1]), "b"); -}; - -BindingMarkupTest.prototype.testParseBeggingBinding = function(){ - var parts = parseBindings("{{b}}c"); - assertEquals(parts.length, 2); - assertEquals(parts[0], "{{b}}"); - assertEquals(binding(parts[0]), "b"); - assertEquals(parts[1], "c"); - assertTrue(!binding(parts[1])); -}; - -BindingMarkupTest.prototype.testParseLoanBinding = function(){ - var parts = parseBindings("{{b}}"); - assertEquals(parts.length, 1); - assertEquals(parts[0], "{{b}}"); - assertEquals(binding(parts[0]), "b"); -}; - -BindingMarkupTest.prototype.testParseTwoBindings = function(){ - var parts = parseBindings("{{b}}{{c}}"); - assertEquals(parts.length, 2); - assertEquals(parts[0], "{{b}}"); - assertEquals(binding(parts[0]), "b"); - assertEquals(parts[1], "{{c}}"); - assertEquals(binding(parts[1]), "c"); -}; - -BindingMarkupTest.prototype.testParseTwoBindingsWithTextInMiddle = function(){ - var parts = parseBindings("{{b}}x{{c}}"); - assertEquals(parts.length, 3); - assertEquals(parts[0], "{{b}}"); - assertEquals(binding(parts[0]), "b"); - assertEquals(parts[1], "x"); - assertTrue(!binding(parts[1])); - assertEquals(parts[2], "{{c}}"); - assertEquals(binding(parts[2]), "c"); -}; - -BindingMarkupTest.prototype.testParseMultiline = function(){ - var parts = parseBindings('"X\nY{{A\nB}}C\nD"'); - assertTrue(!!binding('{{A\nB}}')); - assertEquals(parts.length, 3); - assertEquals(parts[0], '"X\nY'); - assertEquals(parts[1], '{{A\nB}}'); - assertEquals(parts[2], 'C\nD"'); -}; - -BindingMarkupTest.prototype.testHasBinding = function(){ - assertTrue(hasBindings(parseBindings("{{a}}"))); - assertTrue(!hasBindings(parseBindings("a"))); - assertTrue(hasBindings(parseBindings("{{b}}x{{c}}"))); -}; |
