@@ -53,19 +53,19 @@ This file is part of the iText (R) project.
53
53
import com .itextpdf .layout .layout .LayoutContext ;
54
54
import com .itextpdf .layout .layout .LayoutResult ;
55
55
import com .itextpdf .layout .property .FloatPropertyValue ;
56
+ import com .itextpdf .layout .property .LineHeight ;
56
57
import com .itextpdf .layout .property .Property ;
57
58
import com .itextpdf .layout .property .RenderingMode ;
58
59
import com .itextpdf .layout .property .UnitValue ;
59
60
import com .itextpdf .test .annotations .LogMessage ;
60
61
import com .itextpdf .test .annotations .LogMessages ;
61
62
import com .itextpdf .test .annotations .type .UnitTest ;
62
63
64
+ import java .util .Arrays ;
63
65
import org .junit .Assert ;
64
66
import org .junit .Test ;
65
67
import org .junit .experimental .categories .Category ;
66
68
67
- import java .util .Arrays ;
68
-
69
69
@ Category (UnitTest .class )
70
70
public class LineRendererUnitTest extends AbstractRendererUnitTest {
71
71
@@ -181,4 +181,102 @@ public void adjustChildrenYLineImageChildHtmlModeTest() {
181
181
Assert .assertEquals (50f , lineRenderer .getOccupiedAreaBBox ().getBottom (), EPS );
182
182
Assert .assertEquals (150.0 , childImageRenderer .getOccupiedAreaBBox ().getBottom (), EPS );
183
183
}
184
+
185
+ @ Test
186
+ public void hasChildRendererInHtmlModeTest () {
187
+ LineRenderer lineRenderer = new LineRenderer ();
188
+
189
+ TextRenderer textRenderer1 = new TextRenderer (new Text ("text1" ));
190
+
191
+ TextRenderer textRenderer2 = new TextRenderer (new Text ("text2" ));
192
+ textRenderer2 .setProperty (Property .RENDERING_MODE , RenderingMode .HTML_MODE );
193
+
194
+ lineRenderer .addChild (textRenderer1 );
195
+ lineRenderer .addChild (textRenderer2 );
196
+
197
+ Assert .assertTrue (lineRenderer .hasChildRendererInHtmlMode ());
198
+ }
199
+
200
+ @ Test
201
+ public void childRendererInDefaultModeTest () {
202
+ LineRenderer lineRenderer = new LineRenderer ();
203
+
204
+ TextRenderer textRenderer1 = new TextRenderer (new Text ("text1" ));
205
+
206
+ TextRenderer textRenderer2 = new TextRenderer (new Text ("text2" ));
207
+ textRenderer2 .setProperty (Property .RENDERING_MODE , RenderingMode .DEFAULT_LAYOUT_MODE );
208
+
209
+ lineRenderer .addChild (textRenderer1 );
210
+ lineRenderer .addChild (textRenderer2 );
211
+
212
+ Assert .assertFalse (lineRenderer .hasChildRendererInHtmlMode ());
213
+ }
214
+
215
+ @ Test
216
+ public void hasChildRendererInHtmlModeNoChildrenTest () {
217
+ LineRenderer lineRenderer = new LineRenderer ();
218
+ Assert .assertFalse (lineRenderer .hasChildRendererInHtmlMode ());
219
+ }
220
+
221
+ @ Test
222
+ public void lineRendererLayoutInHtmlModeWithLineHeightAndNoChildrenTest () {
223
+ Document document = createDocument ();
224
+
225
+ LineRenderer lineRenderer = new LineRenderer ();
226
+ lineRenderer .setParent (document .getRenderer ());
227
+ lineRenderer .setProperty (Property .RENDERING_MODE , RenderingMode .HTML_MODE );
228
+ lineRenderer .setProperty (Property .LINE_HEIGHT , LineHeight .createNormalValue ());
229
+
230
+ lineRenderer .layout (new LayoutContext (createLayoutArea (1000 , 1000 )));
231
+
232
+ Assert .assertEquals (0f , lineRenderer .maxAscent , 0f );
233
+ Assert .assertEquals (0f , lineRenderer .maxDescent , 0f );
234
+ }
235
+
236
+ @ Test
237
+ public void lineRendererLayoutInHtmlModeWithLineHeightAndChildrenInDefaultModeTest () {
238
+ Document document = createDocument ();
239
+
240
+ LineRenderer lineRenderer = new LineRenderer ();
241
+ lineRenderer .setParent (document .getRenderer ());
242
+ lineRenderer .setProperty (Property .RENDERING_MODE , RenderingMode .HTML_MODE );
243
+ lineRenderer .setProperty (Property .LINE_HEIGHT , LineHeight .createFixedValue (50 ));
244
+
245
+ TextRenderer textRenderer1 = new TextRenderer (new Text ("text" ));
246
+ textRenderer1 .setProperty (Property .RENDERING_MODE , RenderingMode .DEFAULT_LAYOUT_MODE );
247
+
248
+ TextRenderer textRenderer2 = new TextRenderer (new Text ("text" ));
249
+ textRenderer2 .setProperty (Property .RENDERING_MODE , RenderingMode .DEFAULT_LAYOUT_MODE );
250
+
251
+ lineRenderer .addChild (textRenderer1 );
252
+ lineRenderer .addChild (textRenderer2 );
253
+
254
+ lineRenderer .layout (new LayoutContext (createLayoutArea (1000 , 1000 )));
255
+
256
+ Assert .assertEquals (10.3392f , lineRenderer .maxAscent , EPS );
257
+ Assert .assertEquals (-2.98079f , lineRenderer .maxDescent , EPS );
258
+ }
259
+
260
+ @ Test
261
+ public void lineRendererLayoutInHtmlModeWithLineHeightAndChildInHtmlModeTest () {
262
+ Document document = createDocument ();
263
+
264
+ LineRenderer lineRenderer = new LineRenderer ();
265
+ lineRenderer .setParent (document .getRenderer ());
266
+ lineRenderer .setProperty (Property .RENDERING_MODE , RenderingMode .HTML_MODE );
267
+ lineRenderer .setProperty (Property .LINE_HEIGHT , LineHeight .createFixedValue (50 ));
268
+
269
+ TextRenderer textRenderer1 = new TextRenderer (new Text ("text" ));
270
+ textRenderer1 .setProperty (Property .RENDERING_MODE , RenderingMode .HTML_MODE );
271
+
272
+ TextRenderer textRenderer2 = new TextRenderer (new Text ("text" ));
273
+
274
+ lineRenderer .addChild (textRenderer1 );
275
+ lineRenderer .addChild (textRenderer2 );
276
+
277
+ lineRenderer .layout (new LayoutContext (createLayoutArea (1000 , 1000 )));
278
+
279
+ Assert .assertEquals (28.67920f , lineRenderer .maxAscent , EPS );
280
+ Assert .assertEquals (-21.32080f , lineRenderer .maxDescent , EPS );
281
+ }
184
282
}
0 commit comments