@@ -12,13 +12,17 @@ import DomConverter from '../../../src/view/domconverter';
1212describe ( 'DOMConverter UIElement integration' , ( ) => {
1313 let converter ;
1414
15- class MyUIElement extends ViewUIElement {
16- render ( domDocument ) {
17- const root = super . render ( domDocument ) ;
15+ function createUIElement ( name ) {
16+ const element = new ViewUIElement ( name ) ;
17+
18+ element . render = function ( domDocument ) {
19+ const root = this . toDomElement ( domDocument ) ;
1820 root . innerHTML = '<p><span>foo</span> bar</p>' ;
1921
2022 return root ;
21- }
23+ } ;
24+
25+ return element ;
2226 }
2327
2428 beforeEach ( ( ) => {
@@ -34,15 +38,15 @@ describe( 'DOMConverter UIElement integration', () => {
3438 } ) ;
3539
3640 it ( 'should create DOM structure from UIElement' , ( ) => {
37- const myElement = new MyUIElement ( 'div' ) ;
41+ const myElement = createUIElement ( 'div' ) ;
3842 const domElement = converter . viewToDom ( myElement , document ) ;
3943
4044 expect ( domElement ) . to . be . instanceOf ( HTMLElement ) ;
4145 expect ( domElement . innerHTML ) . to . equal ( '<p><span>foo</span> bar</p>' ) ;
4246 } ) ;
4347
4448 it ( 'should create DOM structure that all is mapped to single UIElement' , ( ) => {
45- const myElement = new MyUIElement ( 'div' ) ;
49+ const myElement = createUIElement ( 'div' ) ;
4650 const domElement = converter . viewToDom ( myElement , document , { bind : true } ) ;
4751 const domParagraph = domElement . childNodes [ 0 ] ;
4852
@@ -54,14 +58,14 @@ describe( 'DOMConverter UIElement integration', () => {
5458
5559 describe ( 'domToView()' , ( ) => {
5660 it ( 'should return UIElement itself' , ( ) => {
57- const uiElement = new MyUIElement ( 'div' ) ;
61+ const uiElement = createUIElement ( 'div' ) ;
5862 const domElement = converter . viewToDom ( uiElement , document , { bind : true } ) ;
5963
6064 expect ( converter . domToView ( domElement ) ) . to . equal ( uiElement ) ;
6165 } ) ;
6266
6367 it ( 'should return UIElement for nodes inside' , ( ) => {
64- const uiElement = new MyUIElement ( 'div' ) ;
68+ const uiElement = createUIElement ( 'div' ) ;
6569 const domElement = converter . viewToDom ( uiElement , document , { bind : true } ) ;
6670
6771 const domParagraph = domElement . childNodes [ 0 ] ;
@@ -76,7 +80,7 @@ describe( 'DOMConverter UIElement integration', () => {
7680
7781 describe ( 'domPositionToView()' , ( ) => {
7882 it ( 'should convert position inside UIElement to position before it' , ( ) => {
79- const uiElement = new MyUIElement ( 'h1' ) ;
83+ const uiElement = createUIElement ( 'h1' ) ;
8084 const container = new ViewContainer ( 'div' , null , [ new ViewContainer ( 'div' ) , uiElement ] ) ;
8185 const domContainer = converter . viewToDom ( container , document , { bind : true } ) ;
8286
@@ -87,7 +91,7 @@ describe( 'DOMConverter UIElement integration', () => {
8791 } ) ;
8892
8993 it ( 'should convert position inside UIElement children to position before UIElement' , ( ) => {
90- const uiElement = new MyUIElement ( 'h1' ) ;
94+ const uiElement = createUIElement ( 'h1' ) ;
9195 const container = new ViewContainer ( 'div' , null , [ new ViewContainer ( 'div' ) , uiElement ] ) ;
9296 const domContainer = converter . viewToDom ( container , document , { bind : true } ) ;
9397
@@ -100,7 +104,7 @@ describe( 'DOMConverter UIElement integration', () => {
100104
101105 describe ( 'mapDomToView()' , ( ) => {
102106 it ( 'should return UIElement for DOM elements inside' , ( ) => {
103- const myElement = new MyUIElement ( 'div' ) ;
107+ const myElement = createUIElement ( 'div' ) ;
104108 const domElement = converter . viewToDom ( myElement , document , { bind : true } ) ;
105109
106110 expect ( converter . mapDomToView ( domElement ) ) . to . equal ( myElement ) ;
@@ -115,7 +119,7 @@ describe( 'DOMConverter UIElement integration', () => {
115119
116120 describe ( 'findCorrespondingViewText()' , ( ) => {
117121 it ( 'should return UIElement for DOM text inside' , ( ) => {
118- const myElement = new MyUIElement ( 'div' ) ;
122+ const myElement = createUIElement ( 'div' ) ;
119123 const domElement = converter . viewToDom ( myElement , document , { bind : true } ) ;
120124
121125 const domText = domElement . querySelector ( 'span' ) . childNodes [ 0 ] ;
@@ -125,7 +129,7 @@ describe( 'DOMConverter UIElement integration', () => {
125129
126130 describe ( 'getParentUIElement()' , ( ) => {
127131 it ( 'should return UIElement for DOM children' , ( ) => {
128- const uiElement = new MyUIElement ( 'div' ) ;
132+ const uiElement = createUIElement ( 'div' ) ;
129133 const domElement = converter . viewToDom ( uiElement , document , { bind : true } ) ;
130134
131135 const domParagraph = domElement . childNodes [ 0 ] ;
@@ -136,7 +140,7 @@ describe( 'DOMConverter UIElement integration', () => {
136140 } ) ;
137141
138142 it ( 'should return null for element itself' , ( ) => {
139- const uiElement = new MyUIElement ( 'div' ) ;
143+ const uiElement = createUIElement ( 'div' ) ;
140144 const domElement = converter . viewToDom ( uiElement , document , { bind : true } ) ;
141145
142146 expect ( converter . getParentUIElement ( domElement ) ) . to . be . null ;
0 commit comments