From 5a8ad8fe329fc09898ff43a060710265d38393be Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Wed, 1 Dec 2010 20:29:54 -0800 Subject: Closes #170. Corrected the behavior of select when options are ng:repeated - Delete $postEval method, as it was a hack --- test/markupSpec.js | 176 ++++++++++++++++++++++++++--------------------------- 1 file changed, 87 insertions(+), 89 deletions(-) (limited to 'test/markupSpec.js') 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(''); expect(sortedHtml(element)).toEqual(''); }); -}); + 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}}"))); -}; -- cgit v1.2.3