diff options
-rw-r--r-- | .classpath | 1 | ||||
-rw-r--r-- | build.gradle | 1 | ||||
-rw-r--r-- | build.xml | 5 | ||||
-rw-r--r-- | gradle/wrapper/gradle-wrapper.jar | bin | 54212 -> 54212 bytes | |||
-rw-r--r-- | sonar/pom.xml | 7 | ||||
-rw-r--r-- | src/ooxml/testcases/org/apache/poi/xddf/usermodel/TestXDDFColor.java | 37 |
6 files changed, 37 insertions, 14 deletions
diff --git a/.classpath b/.classpath index 7098e32766..944cd2142b 100644 --- a/.classpath +++ b/.classpath @@ -35,6 +35,7 @@ <classpathentry exported="true" kind="lib" path="lib/commons-logging-1.2.jar"/> <classpathentry exported="true" kind="lib" path="lib/commons-collections4-4.1.jar"/> <classpathentry kind="lib" path="lib/commons-math3-3.6.1.jar"/> + <classpathentry kind="lib" path="lib/xmlunit-core-2.5.1.jar"/> <classpathentry kind="lib" path="lib/mockito-core-2.13.0.jar"/> <classpathentry kind="lib" path="lib/byte-buddy-1.7.9.jar"/> <classpathentry kind="lib" path="lib/byte-buddy-agent-1.7.9.jar"/> diff --git a/build.gradle b/build.gradle index 5811fe43bc..1ec30a7441 100644 --- a/build.gradle +++ b/build.gradle @@ -206,6 +206,7 @@ project('ooxml') { testCompile 'junit:junit:4.12' testCompile 'org.mockito:mockito-core:2.13.0' + testCompile 'org.xmlunit:xmlunit-core:2.5.1' testCompile project(path: ':main', configuration: 'tests') testCompile 'org.openjdk.jmh:jmh-core:1.19' testCompile 'org.openjdk.jmh:jmh-generator-annprocess:1.19' @@ -164,6 +164,8 @@ under the License. <property name="main.hamcrest.jar" location="${main.lib}/hamcrest-core-1.3.jar"/> <property name="main.hamcrest.url" value="${repository.m2}/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"/> + <property name="main.xmlunit.jar" location="${main.lib}/xmlunit-core-2.5.1.jar"/> + <property name="main.xmlunit.url" value="${repository.m2}/maven2/org/xmlunit/xmlunit-core/2.5.1/xmlunit-core-2.5.1.jar"/> <property name="main.mockito.jar" location="${main.lib}/mockito-core-2.13.0.jar"/> <property name="main.mockito.url" value="${repository.m2}/maven2/org/mockito/mockito-core/2.13.0/mockito-core-2.13.0.jar"/> <property name="main.byte-buddy.jar" location="${main.lib}/byte-buddy-1.7.9.jar"/> @@ -325,6 +327,7 @@ under the License. <pathelement location="${main.jmh.jar}"/> <pathelement location="${main.jmhAnnotation.jar}"/> <pathelement location="${main.hamcrest.jar}"/> + <pathelement location="${main.xmlunit.jar}"/> <pathelement location="${main.mockito.jar}"/> <pathelement location="${main.byte-buddy.jar}"/> <pathelement location="${main.byte-buddy-agent.jar}"/> @@ -632,6 +635,7 @@ under the License. <available file="${main.jmh.jar}"/> <available file="${main.jmhAnnotation.jar}"/> <available file="${main.hamcrest.jar}"/> + <available file="${main.xmlunit.jar}"/> <available file="${main.mockito.jar}"/> <available file="${main.byte-buddy.jar}"/> <available file="${main.byte-buddy-agent.jar}"/> @@ -667,6 +671,7 @@ under the License. <downloadfile src="${main.jmh.url}" dest="${main.jmh.jar}"/> <downloadfile src="${main.jmhAnnotation.url}" dest="${main.jmhAnnotation.jar}"/> <downloadfile src="${main.hamcrest.url}" dest="${main.hamcrest.jar}"/> + <downloadfile src="${main.xmlunit.url}" dest="${main.xmlunit.jar}"/> <downloadfile src="${main.mockito.url}" dest="${main.mockito.jar}"/> <downloadfile src="${main.byte-buddy.url}" dest="${main.byte-buddy.jar}"/> <downloadfile src="${main.byte-buddy-agent.url}" dest="${main.byte-buddy-agent.jar}"/> diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar Binary files differindex 219c335356..feef4e7578 100644 --- a/gradle/wrapper/gradle-wrapper.jar +++ b/gradle/wrapper/gradle-wrapper.jar diff --git a/sonar/pom.xml b/sonar/pom.xml index 1022d2107b..50a1b3fb05 100644 --- a/sonar/pom.xml +++ b/sonar/pom.xml @@ -65,6 +65,7 @@ <!-- define some of the third-party or plugin-versions globally to use the same in all modules --> <xmlbeans.version>2.6.0</xmlbeans.version> <junit.version>4.12</junit.version> + <xmlunit.version>2.5.1</xmlunit.version> <mockito.version>2.13.0</mockito.version> <maven.plugin.resources.version>3.0.1</maven.plugin.resources.version> <maven.plugin.jar.version>3.0.1</maven.plugin.jar.version> @@ -138,6 +139,12 @@ <scope>test</scope> </dependency> <dependency> + <groupId>org.xmlunit</groupId> + <artifactId>xmlunit-core</artifactId> + <version>${xmlunit.version}</version> + <scope>test</scope> + </dependency> + <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> diff --git a/src/ooxml/testcases/org/apache/poi/xddf/usermodel/TestXDDFColor.java b/src/ooxml/testcases/org/apache/poi/xddf/usermodel/TestXDDFColor.java index 989313ae19..156133ad62 100644 --- a/src/ooxml/testcases/org/apache/poi/xddf/usermodel/TestXDDFColor.java +++ b/src/ooxml/testcases/org/apache/poi/xddf/usermodel/TestXDDFColor.java @@ -18,6 +18,7 @@ package org.apache.poi.xddf.usermodel; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import java.io.IOException; @@ -31,26 +32,34 @@ import org.openxmlformats.schemas.drawingml.x2006.main.CTSystemColor; import org.openxmlformats.schemas.drawingml.x2006.main.STPresetColorVal; import org.openxmlformats.schemas.drawingml.x2006.main.STSchemeColorVal; import org.openxmlformats.schemas.drawingml.x2006.main.STSystemColorVal; +import org.xmlunit.builder.DiffBuilder; +import org.xmlunit.builder.Input; +import org.xmlunit.diff.Diff; public class TestXDDFColor { private static final String XMLNS = "xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\"/>"; @Test public void testSchemeColor() throws IOException { - XMLSlideShow ppt = new XMLSlideShow(); - XSLFTheme theme = ppt.createSlide().getTheme(); - - XDDFColor color = XDDFColor.forColorContainer(getThemeColor(theme, STSchemeColorVal.ACCENT_2)); - // accent2 in theme1.xml is <a:srgbClr val="C0504D"/> - assertEquals("<a:srgbClr val=\"C0504D\" " + XMLNS, color.getColorContainer().toString()); - - color = XDDFColor.forColorContainer(getThemeColor(theme, STSchemeColorVal.LT_1)); - assertEquals("<a:sysClr lastClr=\"FFFFFF\" val=\"window\" " + XMLNS, color.getColorContainer().toString()); - - color = XDDFColor.forColorContainer(getThemeColor(theme, STSchemeColorVal.DK_1)); - assertEquals("<a:sysClr lastClr=\"000000\" val=\"windowText\" " + XMLNS, color.getColorContainer().toString()); - - ppt.close(); + try (XMLSlideShow ppt = new XMLSlideShow()) { + XSLFTheme theme = ppt.createSlide().getTheme(); + + XDDFColor color = XDDFColor.forColorContainer(getThemeColor(theme, STSchemeColorVal.ACCENT_2)); + // accent2 in theme1.xml is <a:srgbClr val="C0504D"/> + Diff d1 = DiffBuilder.compare(Input.fromString("<a:srgbClr val=\"C0504D\" " + XMLNS)) + .withTest(color.getColorContainer().toString()).build(); + assertFalse(d1.toString(), d1.hasDifferences()); + + color = XDDFColor.forColorContainer(getThemeColor(theme, STSchemeColorVal.LT_1)); + Diff d2 = DiffBuilder.compare(Input.fromString("<a:sysClr lastClr=\"FFFFFF\" val=\"window\" " + XMLNS)) + .withTest(color.getColorContainer().toString()).build(); + assertFalse(d2.toString(), d2.hasDifferences()); + + color = XDDFColor.forColorContainer(getThemeColor(theme, STSchemeColorVal.DK_1)); + Diff d3 = DiffBuilder.compare(Input.fromString("<a:sysClr lastClr=\"000000\" val=\"windowText\" " + XMLNS)) + .withTest(color.getColorContainer().toString()).build(); + assertFalse(d3.toString(), d3.hasDifferences()); + } } private CTColor getThemeColor(XSLFTheme theme, STSchemeColorVal.Enum value) { |