Skip to content

Commit 8a7a465

Browse files
author
Eugene Bochilo
committed
Add validation for justify-content property
DEVSIX-5170
1 parent 06ceef3 commit 8a7a465

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

styled-xml-parser/src/main/java/com/itextpdf/styledxmlparser/css/validate/CssDeclarationValidationMaster.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,18 @@ public class CssDeclarationValidationMaster {
185185
CommonCssConstants.SELF_START, CommonCssConstants.SELF_END),
186186
Arrays.asList(CommonCssConstants.SAFE, CommonCssConstants.UNSAFE)),
187187
inheritInitialUnsetValidator));
188+
DEFAULT_VALIDATORS.put(CommonCssConstants.JUSTIFY_CONTENT, new MultiTypeDeclarationValidator(
189+
new CssEnumValidator(Arrays.asList(
190+
CommonCssConstants.SPACE_AROUND, CommonCssConstants.SPACE_BETWEEN,
191+
CommonCssConstants.SPACE_EVENLY, CommonCssConstants.STRETCH, CommonCssConstants.NORMAL,
192+
CommonCssConstants.LEFT, CommonCssConstants.RIGHT)),
193+
new CssEnumValidator(Arrays.asList(
194+
CommonCssConstants.CENTER, CommonCssConstants.START, CommonCssConstants.FLEX_START,
195+
CommonCssConstants.SELF_START, CommonCssConstants.END, CommonCssConstants.FLEX_END,
196+
CommonCssConstants.SELF_END),
197+
Arrays.asList(CommonCssConstants.SAFE, CommonCssConstants.UNSAFE)),
198+
inheritInitialUnsetValidator
199+
));
188200
DEFAULT_VALIDATORS.put(CommonCssConstants.JUSTIFY_ITEMS, new MultiTypeDeclarationValidator(
189201
normalValidator,
190202
new CssEnumValidator(Arrays.asList(CommonCssConstants.BASELINE),

styled-xml-parser/src/test/java/com/itextpdf/styledxmlparser/css/validate/CssDeclarationValidationMasterTest.java

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,4 +329,45 @@ public void wordWrapTest() {
329329
new CssDeclaration(CommonCssConstants.WORD_BREAK, "norm")));
330330

331331
}
332+
333+
@Test
334+
public void justifyContentTest() {
335+
Assert.assertTrue(CssDeclarationValidationMaster.checkDeclaration(
336+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "inherit")));
337+
Assert.assertTrue(CssDeclarationValidationMaster.checkDeclaration(
338+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "right")));
339+
Assert.assertTrue(CssDeclarationValidationMaster.checkDeclaration(
340+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "normal")));
341+
Assert.assertTrue(CssDeclarationValidationMaster.checkDeclaration(
342+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "space-between")));
343+
Assert.assertTrue(CssDeclarationValidationMaster.checkDeclaration(
344+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "self-end")));
345+
Assert.assertTrue(CssDeclarationValidationMaster.checkDeclaration(
346+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "unsafe self-end")));
347+
Assert.assertTrue(CssDeclarationValidationMaster.checkDeclaration(
348+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "stretch")));
349+
Assert.assertTrue(CssDeclarationValidationMaster.checkDeclaration(
350+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "space-evenly")));
351+
Assert.assertTrue(CssDeclarationValidationMaster.checkDeclaration(
352+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "flex-start")));
353+
354+
Assert.assertFalse(CssDeclarationValidationMaster.checkDeclaration(
355+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "baseline")));
356+
Assert.assertFalse(CssDeclarationValidationMaster.checkDeclaration(
357+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "safe right")));
358+
Assert.assertFalse(CssDeclarationValidationMaster.checkDeclaration(
359+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "unsafe normal")));
360+
Assert.assertFalse(CssDeclarationValidationMaster.checkDeclaration(
361+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "unsafe space-between")));
362+
Assert.assertFalse(CssDeclarationValidationMaster.checkDeclaration(
363+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "self-center")));
364+
Assert.assertFalse(CssDeclarationValidationMaster.checkDeclaration(
365+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "self-end unsafe")));
366+
Assert.assertFalse(CssDeclarationValidationMaster.checkDeclaration(
367+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "safe stretch")));
368+
Assert.assertFalse(CssDeclarationValidationMaster.checkDeclaration(
369+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "space_evenly")));
370+
Assert.assertFalse(CssDeclarationValidationMaster.checkDeclaration(
371+
new CssDeclaration(CommonCssConstants.JUSTIFY_CONTENT, "flex-start left")));
372+
}
332373
}

0 commit comments

Comments
 (0)