|
|
@@ -241,13 +241,13 @@ describe( 'DomConverter', () => {
|
|
|
);
|
|
|
} );
|
|
|
|
|
|
- it( 'spaces in a text node', () => {
|
|
|
- function test( inputTexts, output ) {
|
|
|
- const viewElement = new ViewContainerElement( 'p' );
|
|
|
+ function test( inputTexts, output ) {
|
|
|
+ if ( typeof inputTexts == 'string' ) {
|
|
|
+ inputTexts = [ inputTexts ];
|
|
|
+ }
|
|
|
|
|
|
- if ( typeof inputTexts == 'string' ) {
|
|
|
- inputTexts = [ inputTexts ];
|
|
|
- }
|
|
|
+ it( 'spaces in a text node: ' + inputTexts.join( '|' ) + ' -> ' + output, () => {
|
|
|
+ const viewElement = new ViewContainerElement( 'p' );
|
|
|
|
|
|
for ( let text of inputTexts ) {
|
|
|
viewElement.appendChildren( new ViewText( text.replace( /_/g, '\u00A0' ) ) );
|
|
|
@@ -257,93 +257,93 @@ describe( 'DomConverter', () => {
|
|
|
const data = domElement.innerHTML.replace( / /g, '_' );
|
|
|
|
|
|
expect( data ).to.equal( output );
|
|
|
- }
|
|
|
-
|
|
|
- // At the beginning.
|
|
|
- test( ' x', '_x' );
|
|
|
- test( ' x', '_ x' );
|
|
|
- test( ' x', '_ _x' );
|
|
|
- test( ' x', '_ _ x' );
|
|
|
-
|
|
|
- // At the end.
|
|
|
- test( 'x ', 'x_' );
|
|
|
- test( 'x ', 'x _' );
|
|
|
- test( 'x ', 'x_ _' );
|
|
|
- test( 'x ', 'x _ _' );
|
|
|
-
|
|
|
- // In the middle.
|
|
|
- test( 'x x', 'x x' );
|
|
|
- test( 'x x', 'x _x' );
|
|
|
- test( 'x x', 'x _ x' );
|
|
|
- test( 'x x', 'x _ _x' );
|
|
|
-
|
|
|
- // Complex.
|
|
|
- test( ' x ', '_x_' );
|
|
|
- test( ' x x ', '_ x _x _' );
|
|
|
- test( ' x x ', '_ _x x _' );
|
|
|
- test( ' x x ', '_ _x x_ _' );
|
|
|
- test( ' x x ', '_ _x _ _x_' );
|
|
|
- test( ' ', '_' );
|
|
|
-
|
|
|
- // With hard
|
|
|
- test( '_x', '_x' );
|
|
|
- test( ' _x', '__x' );
|
|
|
- test( ' _x', '_ _x' );
|
|
|
- test( ' __x', '___x' );
|
|
|
- test( '___x', '___x' );
|
|
|
- test( '_ _x', '_ _x' );
|
|
|
- test( ' _ x', '__ x' );
|
|
|
- test( ' _x', '_ _x' );
|
|
|
-
|
|
|
- test( 'x_', 'x_' );
|
|
|
- test( 'x_ ', 'x__' );
|
|
|
- test( 'x_ ', 'x_ _' );
|
|
|
- test( 'x__ ', 'x___' );
|
|
|
- test( 'x___', 'x___' );
|
|
|
- test( 'x_ _', 'x_ _' );
|
|
|
- test( 'x _ ', 'x __' );
|
|
|
- test( 'x _', 'x __' );
|
|
|
-
|
|
|
- test( 'x_x', 'x_x' );
|
|
|
- test( 'x___x', 'x___x' );
|
|
|
- test( 'x__ x', 'x__ x' );
|
|
|
- test( 'x_ x', 'x_ _x' );
|
|
|
- test( 'x _x', 'x __x' );
|
|
|
- test( 'x __x', 'x __x' );
|
|
|
- test( 'x _ x', 'x _ x' );
|
|
|
- test( 'x _ x', 'x __ _x' );
|
|
|
-
|
|
|
- // Two text nodes.
|
|
|
- test( [ 'x', 'y' ], 'xy' );
|
|
|
- test( [ 'x ', 'y' ], 'x y' );
|
|
|
- test( [ 'x ', 'y' ], 'x _y' );
|
|
|
- test( [ 'x ', 'y' ], 'x _ y' );
|
|
|
- test( [ 'x ', 'y' ], 'x _ _y' );
|
|
|
-
|
|
|
- test( [ 'x', ' y' ], 'x y' );
|
|
|
- test( [ 'x ', ' y' ], 'x _y' );
|
|
|
- test( [ 'x ', ' y' ], 'x_ _y' );
|
|
|
- test( [ 'x ', ' y' ], 'x _ _y' );
|
|
|
- test( [ 'x ', ' y' ], 'x_ _ _y' );
|
|
|
-
|
|
|
- test( [ 'x', '_y' ], 'x_y' );
|
|
|
- test( [ 'x ', '_y' ], 'x _y' );
|
|
|
- test( [ 'x ', '_y' ], 'x_ _y' );
|
|
|
- test( [ 'x ', '_y' ], 'x _ _y' );
|
|
|
- test( [ 'x ', '_y' ], 'x_ _ _y' );
|
|
|
-
|
|
|
- test( [ 'x', ' y' ], 'x _y' );
|
|
|
- test( [ 'x ', ' y' ], 'x _ y' );
|
|
|
- test( [ 'x ', ' y' ], 'x_ _ y' );
|
|
|
- test( [ 'x ', ' y' ], 'x _ _ y' );
|
|
|
- test( [ 'x ', ' y' ], 'x_ _ _ y' );
|
|
|
-
|
|
|
- test( [ 'x', ' y' ], 'x _ y' );
|
|
|
- test( [ 'x ', ' y' ], 'x _ _y' );
|
|
|
- test( [ 'x ', ' y' ], 'x_ _ _y' );
|
|
|
- test( [ 'x ', ' y' ], 'x _ _ _y' );
|
|
|
- test( [ 'x ', ' y' ], 'x_ _ _ _y' );
|
|
|
- } );
|
|
|
+ } );
|
|
|
+ }
|
|
|
+
|
|
|
+ // At the beginning.
|
|
|
+ test( ' x', '_x' );
|
|
|
+ test( ' x', '_ x' );
|
|
|
+ test( ' x', '_ _x' );
|
|
|
+ test( ' x', '_ _ x' );
|
|
|
+
|
|
|
+ // At the end.
|
|
|
+ test( 'x ', 'x_' );
|
|
|
+ test( 'x ', 'x _' );
|
|
|
+ test( 'x ', 'x_ _' );
|
|
|
+ test( 'x ', 'x _ _' );
|
|
|
+
|
|
|
+ // In the middle.
|
|
|
+ test( 'x x', 'x x' );
|
|
|
+ test( 'x x', 'x _x' );
|
|
|
+ test( 'x x', 'x _ x' );
|
|
|
+ test( 'x x', 'x _ _x' );
|
|
|
+
|
|
|
+ // Complex.
|
|
|
+ test( ' x ', '_x_' );
|
|
|
+ test( ' x x ', '_ x _x _' );
|
|
|
+ test( ' x x ', '_ _x x _' );
|
|
|
+ test( ' x x ', '_ _x x_ _' );
|
|
|
+ test( ' x x ', '_ _x _ _x_' );
|
|
|
+ test( ' ', '_' );
|
|
|
+
|
|
|
+ // With hard
|
|
|
+ test( '_x', '_x' );
|
|
|
+ test( ' _x', '__x' );
|
|
|
+ test( ' _x', '_ _x' );
|
|
|
+ test( ' __x', '___x' );
|
|
|
+ test( '___x', '___x' );
|
|
|
+ test( '_ _x', '_ _x' );
|
|
|
+ test( ' _ x', '__ x' );
|
|
|
+ test( ' _x', '_ _x' );
|
|
|
+
|
|
|
+ test( 'x_', 'x_' );
|
|
|
+ test( 'x_ ', 'x__' );
|
|
|
+ test( 'x_ ', 'x_ _' );
|
|
|
+ test( 'x__ ', 'x___' );
|
|
|
+ test( 'x___', 'x___' );
|
|
|
+ test( 'x_ _', 'x_ _' );
|
|
|
+ test( 'x _ ', 'x __' );
|
|
|
+ test( 'x _', 'x __' );
|
|
|
+
|
|
|
+ test( 'x_x', 'x_x' );
|
|
|
+ test( 'x___x', 'x___x' );
|
|
|
+ test( 'x__ x', 'x__ x' );
|
|
|
+ test( 'x_ x', 'x_ _x' );
|
|
|
+ test( 'x _x', 'x __x' );
|
|
|
+ test( 'x __x', 'x __x' );
|
|
|
+ test( 'x _ x', 'x _ x' );
|
|
|
+ test( 'x _ x', 'x __ _x' );
|
|
|
+
|
|
|
+ // Two text nodes.
|
|
|
+ test( [ 'x', 'y' ], 'xy' );
|
|
|
+ test( [ 'x ', 'y' ], 'x y' );
|
|
|
+ test( [ 'x ', 'y' ], 'x _y' );
|
|
|
+ test( [ 'x ', 'y' ], 'x _ y' );
|
|
|
+ test( [ 'x ', 'y' ], 'x _ _y' );
|
|
|
+
|
|
|
+ test( [ 'x', ' y' ], 'x y' );
|
|
|
+ test( [ 'x ', ' y' ], 'x _y' );
|
|
|
+ test( [ 'x ', ' y' ], 'x_ _y' );
|
|
|
+ test( [ 'x ', ' y' ], 'x _ _y' );
|
|
|
+ test( [ 'x ', ' y' ], 'x_ _ _y' );
|
|
|
+
|
|
|
+ test( [ 'x', '_y' ], 'x_y' );
|
|
|
+ test( [ 'x ', '_y' ], 'x _y' );
|
|
|
+ test( [ 'x ', '_y' ], 'x_ _y' );
|
|
|
+ test( [ 'x ', '_y' ], 'x _ _y' );
|
|
|
+ test( [ 'x ', '_y' ], 'x_ _ _y' );
|
|
|
+
|
|
|
+ test( [ 'x', ' y' ], 'x _y' );
|
|
|
+ test( [ 'x ', ' y' ], 'x _ y' );
|
|
|
+ test( [ 'x ', ' y' ], 'x_ _ y' );
|
|
|
+ test( [ 'x ', ' y' ], 'x _ _ y' );
|
|
|
+ test( [ 'x ', ' y' ], 'x_ _ _ y' );
|
|
|
+
|
|
|
+ test( [ 'x', ' y' ], 'x _ y' );
|
|
|
+ test( [ 'x ', ' y' ], 'x _ _y' );
|
|
|
+ test( [ 'x ', ' y' ], 'x_ _ _y' );
|
|
|
+ test( [ 'x ', ' y' ], 'x _ _ _y' );
|
|
|
+ test( [ 'x ', ' y' ], 'x_ _ _ _y' );
|
|
|
|
|
|
it( 'not in preformatted blocks', () => {
|
|
|
const viewDiv = new ViewContainerElement( 'pre', null, new ViewText( ' foo ' ) );
|