@@ -8,6 +8,11 @@ import 'package:test/test.dart';
8
8
import 'package:ui/src/engine.dart' ;
9
9
import 'package:ui/ui.dart' ;
10
10
11
+ const String paragraphStyle = 'style="position: absolute; white-space: pre-wrap; overflow-wrap: break-word; overflow: hidden;"' ;
12
+ const String defaultColor = 'color: rgb(255, 0, 0);' ;
13
+ const String defaultFontFamily = 'font-family: sans-serif;' ;
14
+ const String defaultFontSize = 'font-size: 14px;' ;
15
+
11
16
void main () {
12
17
internalBootstrapBrowserTest (() => testMain);
13
18
}
@@ -17,9 +22,6 @@ void testMain() {
17
22
WebExperiments .ensureInitialized ();
18
23
});
19
24
20
- // TODO(mdebbar): Add checks for the output of `toDomElement()` in all the
21
- // tests below.
22
-
23
25
test ('Builds a text-only canvas paragraph' , () {
24
26
final EngineParagraphStyle style = EngineParagraphStyle (fontSize: 13.0 );
25
27
final CanvasParagraphBuilder builder = CanvasParagraphBuilder (style);
@@ -29,6 +31,10 @@ void testMain() {
29
31
final CanvasParagraph paragraph = builder.build ();
30
32
expect (paragraph.paragraphStyle, style);
31
33
expect (paragraph.toPlainText (), 'Hello' );
34
+ expect (
35
+ paragraph.toDomElement ().outerHtml,
36
+ '<p $paragraphStyle ><span style="$defaultColor font-size: 13px; $defaultFontFamily ">Hello</span></p>' ,
37
+ );
32
38
expect (paragraph.spans, hasLength (1 ));
33
39
34
40
final ParagraphSpan span = paragraph.spans.single;
@@ -47,6 +53,10 @@ void testMain() {
47
53
final CanvasParagraph paragraph = builder.build ();
48
54
expect (paragraph.paragraphStyle, style);
49
55
expect (paragraph.toPlainText (), 'Hello' );
56
+ expect (
57
+ paragraph.toDomElement ().outerHtml,
58
+ '<p $paragraphStyle ><span style="$defaultColor $defaultFontSize $defaultFontFamily ">Hello</span></p>' ,
59
+ );
50
60
expect (paragraph.spans, hasLength (1 ));
51
61
52
62
final FlatTextSpan textSpan = paragraph.spans.single as FlatTextSpan ;
@@ -68,6 +78,14 @@ void testMain() {
68
78
69
79
final CanvasParagraph paragraph = builder.build ();
70
80
expect (paragraph.toPlainText (), 'Hello' );
81
+ expect (
82
+ paragraph.toDomElement ().outerHtml,
83
+ '<p $paragraphStyle >'
84
+ '<span style="$defaultColor line-height: 1.5; font-size: 9px; font-weight: bold; font-style: italic; $defaultFontFamily letter-spacing: 2px;">'
85
+ 'Hello'
86
+ '</span>'
87
+ '</p>' ,
88
+ );
71
89
expect (paragraph.spans, hasLength (1 ));
72
90
73
91
final FlatTextSpan span = paragraph.spans.single as FlatTextSpan ;
@@ -96,6 +114,17 @@ void testMain() {
96
114
97
115
final CanvasParagraph paragraph = builder.build ();
98
116
expect (paragraph.toPlainText (), 'Hello world' );
117
+ expect (
118
+ paragraph.toDomElement ().outerHtml,
119
+ '<p $paragraphStyle >'
120
+ '<span style="$defaultColor font-size: 13px; font-weight: bold; $defaultFontFamily ">'
121
+ 'Hello'
122
+ '</span>'
123
+ '<span style="$defaultColor font-size: 13px; font-style: italic; $defaultFontFamily ">'
124
+ ' world'
125
+ '</span>'
126
+ '</p>' ,
127
+ );
99
128
expect (paragraph.spans, hasLength (2 ));
100
129
101
130
final FlatTextSpan hello = paragraph.spans.first as FlatTextSpan ;
@@ -134,6 +163,20 @@ void testMain() {
134
163
135
164
final CanvasParagraph paragraph = builder.build ();
136
165
expect (paragraph.toPlainText (), 'Hello world!' );
166
+ expect (
167
+ paragraph.toDomElement ().outerHtml,
168
+ '<p $paragraphStyle >'
169
+ '<span style="$defaultColor line-height: 2; font-size: 13px; font-weight: bold; $defaultFontFamily ">'
170
+ 'Hello'
171
+ '</span>'
172
+ '<span style="$defaultColor font-size: 13px; font-weight: bold; font-style: italic; $defaultFontFamily ">'
173
+ ' world'
174
+ '</span>'
175
+ '<span style="$defaultColor font-size: 13px; font-weight: normal; font-style: italic; $defaultFontFamily ">'
176
+ '!'
177
+ '</span>'
178
+ '</p>' ,
179
+ );
137
180
expect (paragraph.spans, hasLength (3 ));
138
181
139
182
final FlatTextSpan hello = paragraph.spans[0 ] as FlatTextSpan ;
0 commit comments