Skip to content

Commit f4206f2

Browse files
author
Alexandr Fedorov
committed
fix old tests that were broken by adding new feature and add new test to cover new logic
1 parent 3b5c522 commit f4206f2

File tree

53 files changed

+60
-89
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+60
-89
lines changed

src/main/java/com/itextpdf/html2pdf/css/apply/util/FlexApplierUtil.java

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ This file is part of the iText (R) project.
2727
import com.itextpdf.html2pdf.logs.Html2PdfLogMessageConstant;
2828
import com.itextpdf.commons.utils.MessageFormatUtil;
2929
import com.itextpdf.layout.IPropertyContainer;
30+
import com.itextpdf.layout.properties.AlignContentPropertyValue;
3031
import com.itextpdf.layout.properties.AlignmentPropertyValue;
3132
import com.itextpdf.layout.properties.FlexDirectionPropertyValue;
3233
import com.itextpdf.layout.properties.FlexWrapPropertyValue;
@@ -105,6 +106,7 @@ public static void applyFlexContainerProperties(Map<String, String> cssProps, IP
105106
logWarningIfThereAreNotSupportedPropertyValues(createSupportedFlexContainerPropertiesAndValuesMap(), cssProps);
106107
applyAlignItems(cssProps, element);
107108
applyJustifyContent(cssProps, element);
109+
applyAlignContent(cssProps, element);
108110
applyWrap(cssProps, element);
109111
applyDirection(cssProps, element);
110112
}
@@ -246,6 +248,40 @@ private static void applyJustifyContent(Map<String, String> cssProps, IPropertyC
246248
}
247249
}
248250

251+
private static void applyAlignContent(Map<String, String> cssProps, IPropertyContainer element) {
252+
final String alignContentString = cssProps.get(CommonCssConstants.ALIGN_CONTENT);
253+
if (alignContentString != null) {
254+
AlignContentPropertyValue alignContent;
255+
switch (alignContentString) {
256+
case CommonCssConstants.FLEX_START:
257+
alignContent = AlignContentPropertyValue.FLEX_START;
258+
break;
259+
case CommonCssConstants.FLEX_END:
260+
alignContent = AlignContentPropertyValue.FLEX_END;
261+
break;
262+
case CommonCssConstants.CENTER:
263+
alignContent = AlignContentPropertyValue.CENTER;
264+
break;
265+
case CommonCssConstants.SPACE_BETWEEN:
266+
alignContent = AlignContentPropertyValue.SPACE_BETWEEN;
267+
break;
268+
case CommonCssConstants.SPACE_AROUND:
269+
alignContent = AlignContentPropertyValue.SPACE_AROUND;
270+
break;
271+
case CommonCssConstants.SPACE_EVENLY:
272+
alignContent = AlignContentPropertyValue.SPACE_EVENLY;
273+
break;
274+
case CommonCssConstants.STRETCH:
275+
alignContent = AlignContentPropertyValue.STRETCH;
276+
break;
277+
default:
278+
alignContent = AlignContentPropertyValue.NORMAL;
279+
break;
280+
}
281+
element.setProperty(Property.ALIGN_CONTENT, alignContent);
282+
}
283+
}
284+
249285
private static void logWarningIfThereAreNotSupportedPropertyValues(Map<String, Set<String>> supportedPairs,
250286
Map<String, String> cssProps) {
251287
for (Map.Entry<String, Set<String>> entry : supportedPairs.entrySet()) {
@@ -289,6 +325,12 @@ private static Map<String, Set<String>> createSupportedFlexContainerPropertiesAn
289325
final Set<String> supportedAlignContentValues = new HashSet<>();
290326
supportedAlignContentValues.add(CommonCssConstants.STRETCH);
291327
supportedAlignContentValues.add(CommonCssConstants.NORMAL);
328+
supportedAlignContentValues.add(CommonCssConstants.FLEX_START);
329+
supportedAlignContentValues.add(CommonCssConstants.FLEX_END);
330+
supportedAlignContentValues.add(CommonCssConstants.CENTER);
331+
supportedAlignContentValues.add(CommonCssConstants.SPACE_AROUND);
332+
supportedAlignContentValues.add(CommonCssConstants.SPACE_BETWEEN);
333+
supportedAlignContentValues.add(CommonCssConstants.SPACE_EVENLY);
292334

293335
supportedPairs.put(CommonCssConstants.ALIGN_CONTENT, supportedAlignContentValues);
294336

src/test/java/com/itextpdf/html2pdf/css/apply/util/FlexApplierUtilTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ public void applyJustifyContentUnsupportedValuesTest() {
232232
}
233233

234234
@Test
235-
@LogMessages(messages = @LogMessage(messageTemplate = Html2PdfLogMessageConstant.FLEX_PROPERTY_IS_NOT_SUPPORTED_YET, count = 3))
235+
@LogMessages(messages = @LogMessage(messageTemplate = Html2PdfLogMessageConstant.FLEX_PROPERTY_IS_NOT_SUPPORTED_YET, count = 2))
236236
public void applyFlexContainerUnsupportedPropertiesUnsupportedValuesTest() {
237237
String[] unsupportedProperties = {
238238
CssConstants.FLEX_DIRECTION,

src/test/java/com/itextpdf/html2pdf/css/w3c/css_flexbox/AlignContent001Test.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,8 @@ This file is part of the iText (R) project.
2727
import com.itextpdf.test.annotations.LogMessage;
2828
import com.itextpdf.test.annotations.LogMessages;
2929

30-
//TODO DEVSIX-5164 change after align-content is supported
30+
3131
@LogMessages(messages = {
32-
@LogMessage(messageTemplate = Html2PdfLogMessageConstant.FLEX_PROPERTY_IS_NOT_SUPPORTED_YET),
3332
@LogMessage(messageTemplate = Html2PdfLogMessageConstant.INVALID_GRADIENT_DECLARATION)
3433
})
3534
public class AlignContent001Test extends W3CCssTest {

src/test/java/com/itextpdf/html2pdf/css/w3c/css_flexbox/AlignContent002Test.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,8 @@ This file is part of the iText (R) project.
2727
import com.itextpdf.test.annotations.LogMessage;
2828
import com.itextpdf.test.annotations.LogMessages;
2929

30-
//TODO DEVSIX-5164 change after align-content is supported
30+
3131
@LogMessages(messages = {
32-
@LogMessage(messageTemplate = Html2PdfLogMessageConstant.FLEX_PROPERTY_IS_NOT_SUPPORTED_YET),
3332
@LogMessage(messageTemplate = Html2PdfLogMessageConstant.INVALID_GRADIENT_DECLARATION)
3433
})
3534
public class AlignContent002Test extends W3CCssTest {

src/test/java/com/itextpdf/html2pdf/css/w3c/css_flexbox/AlignContent003Test.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,8 @@ This file is part of the iText (R) project.
2727
import com.itextpdf.test.annotations.LogMessage;
2828
import com.itextpdf.test.annotations.LogMessages;
2929

30-
//TODO DEVSIX-5164 change after align-content is supported
30+
3131
@LogMessages(messages = {
32-
@LogMessage(messageTemplate = Html2PdfLogMessageConstant.FLEX_PROPERTY_IS_NOT_SUPPORTED_YET),
3332
@LogMessage(messageTemplate = Html2PdfLogMessageConstant.INVALID_GRADIENT_DECLARATION)
3433
})
3534
public class AlignContent003Test extends W3CCssTest {

src/test/java/com/itextpdf/html2pdf/css/w3c/css_flexbox/AlignContent004Test.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ This file is part of the iText (R) project.
2929

3030
//TODO DEVSIX-5164 change after align-content is supported
3131
@LogMessages(messages = {
32-
@LogMessage(messageTemplate = Html2PdfLogMessageConstant.FLEX_PROPERTY_IS_NOT_SUPPORTED_YET),
3332
@LogMessage(messageTemplate = Html2PdfLogMessageConstant.INVALID_GRADIENT_DECLARATION)
3433
})
3534
public class AlignContent004Test extends W3CCssTest {

src/test/java/com/itextpdf/html2pdf/css/w3c/css_flexbox/AlignContent005Test.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,7 @@ This file is part of the iText (R) project.
2727
import com.itextpdf.test.annotations.LogMessage;
2828
import com.itextpdf.test.annotations.LogMessages;
2929

30-
//TODO DEVSIX-5164 change after align-content is supported
3130
@LogMessages(messages = {
32-
@LogMessage(messageTemplate = Html2PdfLogMessageConstant.FLEX_PROPERTY_IS_NOT_SUPPORTED_YET),
3331
@LogMessage(messageTemplate = Html2PdfLogMessageConstant.INVALID_GRADIENT_DECLARATION)
3432
})
3533
public class AlignContent005Test extends W3CCssTest {

src/test/java/com/itextpdf/html2pdf/css/w3c/css_flexbox/AlignContent006Test.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,7 @@ This file is part of the iText (R) project.
2323
package com.itextpdf.html2pdf.css.w3c.css_flexbox;
2424

2525
import com.itextpdf.html2pdf.css.w3c.W3CCssTest;
26-
import com.itextpdf.html2pdf.logs.Html2PdfLogMessageConstant;
27-
import com.itextpdf.test.annotations.LogMessage;
28-
import com.itextpdf.test.annotations.LogMessages;
2926

30-
//TODO DEVSIX-5164 change after align-content is supported
3127
public class AlignContent006Test extends W3CCssTest {
3228
@Override
3329
protected String getHtmlFileName() {

src/test/java/com/itextpdf/html2pdf/css/w3c/css_flexbox/AlignContentCenterTest.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,12 @@ This file is part of the iText (R) project.
2323
package com.itextpdf.html2pdf.css.w3c.css_flexbox;
2424

2525
import com.itextpdf.html2pdf.css.w3c.W3CCssTest;
26-
import com.itextpdf.html2pdf.logs.Html2PdfLogMessageConstant;
2726
import com.itextpdf.styledxmlparser.logs.StyledXmlParserLogMessageConstant;
2827
import com.itextpdf.test.annotations.LogMessage;
2928
import com.itextpdf.test.annotations.LogMessages;
3029

31-
//TODO DEVSIX-5164 change after align-content: center is supported
30+
3231
@LogMessages(messages = {
33-
@LogMessage(messageTemplate = Html2PdfLogMessageConstant.FLEX_PROPERTY_IS_NOT_SUPPORTED_YET),
3432
@LogMessage(messageTemplate = StyledXmlParserLogMessageConstant.UNABLE_TO_RETRIEVE_STREAM_WITH_GIVEN_BASE_URI)
3533
})
3634
public class AlignContentCenterTest extends W3CCssTest {

src/test/java/com/itextpdf/html2pdf/css/w3c/css_flexbox/AlignContentFlexEndTest.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,11 @@ This file is part of the iText (R) project.
2323
package com.itextpdf.html2pdf.css.w3c.css_flexbox;
2424

2525
import com.itextpdf.html2pdf.css.w3c.W3CCssTest;
26-
import com.itextpdf.html2pdf.logs.Html2PdfLogMessageConstant;
2726
import com.itextpdf.styledxmlparser.logs.StyledXmlParserLogMessageConstant;
2827
import com.itextpdf.test.annotations.LogMessage;
2928
import com.itextpdf.test.annotations.LogMessages;
3029

31-
//TODO DEVSIX-5164 change after align-content: flex-end is supported
3230
@LogMessages(messages = {
33-
@LogMessage(messageTemplate = Html2PdfLogMessageConstant.FLEX_PROPERTY_IS_NOT_SUPPORTED_YET),
3431
@LogMessage(messageTemplate = StyledXmlParserLogMessageConstant.UNABLE_TO_RETRIEVE_STREAM_WITH_GIVEN_BASE_URI)
3532
})
3633
public class AlignContentFlexEndTest extends W3CCssTest {

0 commit comments

Comments
 (0)