From 4a051efb89cf33e30d56f1227d1f6084ead4cd42 Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Fri, 3 Feb 2012 16:20:24 -0800 Subject: feat($compile): support compiling text nodes by wrapping them in --- test/jqLiteSpec.js | 20 ++++++++++++++++++++ test/service/compilerSpec.js | 9 +++++++++ 2 files changed, 29 insertions(+) (limited to 'test') diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index 358b8c4a..5b2e35b0 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -802,6 +802,26 @@ describe('jqLite', function() { }); }); + + describe('wrap', function() { + it('should wrap text node', function() { + var root = jqLite('
A<a>B</a>C
'); + var text = root.contents(); + expect(text.wrap("")[0]).toBe(text[0]); + expect(root.find('span').text()).toEqual('ABC'); + }); + it('should wrap free text node', function() { + var root = jqLite('
A<a>B</a>C
'); + var text = root.contents(); + text.remove(); + expect(root.text()).toBe(''); + + text.wrap(""); + expect(text.parent().text()).toEqual('ABC'); + }); + }); + + describe('prepend', function() { it('should prepend to empty', function() { var root = jqLite('
'); diff --git a/test/service/compilerSpec.js b/test/service/compilerSpec.js index 8d91ed5d..02cdcefe 100644 --- a/test/service/compilerSpec.js +++ b/test/service/compilerSpec.js @@ -96,6 +96,15 @@ describe('$compile', function() { describe('compile phase', function() { + it('should wrap root text nodes in spans', inject(function($compile, $rootScope) { + element = jqLite('
A<a>B</a>C
'); + var text = element.contents(); + expect(text[0].nodeName).toEqual('#text'); + text = $compile(text)($rootScope); + expect(lowercase(text[0].nodeName)).toEqual('span'); + expect(element.find('span').text()).toEqual('ABC'); + })); + describe('multiple directives per element', function() { it('should allow multiple directives per element', inject(function($compile, $rootScope, log){ element = $compile( -- cgit v1.2.3