diff --git a/src/test/java/io/github/alaugks/spring/messagesource/xliff/XliffTranslationMessageSourceCasesTest.java b/src/test/java/io/github/alaugks/spring/messagesource/xliff/XliffTranslationMessageSourceCasesTest.java index e50199b..fe43926 100644 --- a/src/test/java/io/github/alaugks/spring/messagesource/xliff/XliffTranslationMessageSourceCasesTest.java +++ b/src/test/java/io/github/alaugks/spring/messagesource/xliff/XliffTranslationMessageSourceCasesTest.java @@ -3,18 +3,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; -import io.github.alaugks.spring.messagesource.xliff.catalog.xliff.Xliff12XliffIdentifier; -import io.github.alaugks.spring.messagesource.xliff.catalog.xliff.Xliff2XliffIdentifier; -import io.github.alaugks.spring.messagesource.xliff.catalog.xliff.XliffIdentifierInterface; import io.github.alaugks.spring.messagesource.xliff.exception.XliffMessageSourceRuntimeException; -import java.util.Arrays; import java.util.List; import java.util.Locale; -import java.util.stream.Stream; import org.junit.jupiter.api.Test; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.Arguments; -import org.junit.jupiter.params.provider.MethodSource; class XliffTranslationMessageSourceCasesTest { @@ -89,71 +81,4 @@ void test_setBasenamesPattern() { messageSource.getMessage("otherdomain.hello_world", null, Locale.forLanguageTag("de")) ); } - - @ParameterizedTest(name = "{index} => translationUnitIdentifiers={0}, code={1}, expected={2}, value={3}") - @MethodSource("dataProvider_setTranslationUnitIdentifiersOrdering") - void test_setTranslationUnitIdentifiersOrdering(List translationUnitIdentifiers, String code, String expected) { - var messageSource = XliffTranslationMessageSource - .builder(TestUtilities.getCache()) - .basenamePattern("identifier/*") - .defaultLocale(Locale.forLanguageTag("en")) - .setTransUnitIdentifier(translationUnitIdentifiers) - .build(); - - String message = messageSource.getMessage( - code, - null, - Locale.forLanguageTag("en") - ); - assertEquals(expected, message); - } - - private static Stream dataProvider_setTranslationUnitIdentifiersOrdering() { - return Stream.of( - Arguments.of( - Arrays.asList(new Xliff2XliffIdentifier(List.of("resname")), new Xliff12XliffIdentifier(List.of("resname"))), - "identifierv1.code-resname-a", - "Target A" - ), - Arguments.of( - Arrays.asList(new Xliff2XliffIdentifier(List.of("id")), new Xliff12XliffIdentifier(List.of("id"))), - "identifierv1.code-id-a", - "Target A" - ), - - Arguments.of( - Arrays.asList(new Xliff2XliffIdentifier(List.of("resname", "id")), new Xliff12XliffIdentifier(List.of("resname", "id"))), - "identifierv1.code-id-b", - "Target B" - ), - Arguments.of( - Arrays.asList(new Xliff2XliffIdentifier(List.of("id", "resname")), new Xliff12XliffIdentifier(List.of("id", "resname"))), - "identifierv1.code-resname-c", - "Target C" - ), - - Arguments.of( - Arrays.asList(new Xliff2XliffIdentifier(List.of("resname")), new Xliff12XliffIdentifier(List.of("resname"))), - "identifierv2.code-resname-a", - "Target A" - ), - Arguments.of( - Arrays.asList(new Xliff2XliffIdentifier(List.of("id")), new Xliff12XliffIdentifier(List.of("id"))), - "identifierv2.code-id-a", - "Target A" - ), - - Arguments.of( - Arrays.asList(new Xliff2XliffIdentifier(List.of("resname", "id")), new Xliff12XliffIdentifier(List.of("resname", "id"))), - "identifierv2.code-id-b", - "Target B" - ), - Arguments.of( - Arrays.asList(new Xliff2XliffIdentifier(List.of("id", "resname")), new Xliff12XliffIdentifier(List.of("id", "resname"))), - "identifierv2.code-resname-c", - "Target C" - ) - ); - } - } diff --git a/src/test/java/io/github/alaugks/spring/messagesource/xliff/catalog/xliff/XliffDocumentTest.java b/src/test/java/io/github/alaugks/spring/messagesource/xliff/catalog/xliff/XliffDocumentTest.java index 7514d85..6b6bbd7 100644 --- a/src/test/java/io/github/alaugks/spring/messagesource/xliff/catalog/xliff/XliffDocumentTest.java +++ b/src/test/java/io/github/alaugks/spring/messagesource/xliff/catalog/xliff/XliffDocumentTest.java @@ -1,23 +1,30 @@ package io.github.alaugks.spring.messagesource.xliff.catalog.xliff; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import io.github.alaugks.spring.messagesource.xliff.TestUtilities; +import io.github.alaugks.spring.messagesource.xliff.XliffTranslationMessageSource; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.stream.Stream; +import javax.xml.parsers.ParserConfigurationException; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; import org.xml.sax.SAXException; -import javax.xml.parsers.ParserConfigurationException; -import java.io.IOException; -import java.util.*; -import java.util.stream.Stream; - -import static org.junit.jupiter.api.Assertions.*; - class XliffDocumentTest { @Test - void test_positiv() throws ParserConfigurationException, IOException, SAXException { + void test_getXliffVersion() throws ParserConfigurationException, IOException, SAXException { var xliffDocument = new XliffDocument(TestUtilities.getDocument("fixtures/xliff21.xliff")); assertTrue(xliffDocument.isXliffDocument()); @@ -47,46 +54,76 @@ void test_getElementValue_getCharacterDataFromElement_TextNode() throws ParserCo assertEquals("value", transUnits.get("element-with-cdata-newline")); } - - @ParameterizedTest(name = "{index} => elementName={0}, translationUnitIdentifiers={1}, expected={2}") - @MethodSource("getCodeProvider") - void test_getCode( - String expected, - ArrayList translationUnitIdentifiers, - String code - ) throws ParserConfigurationException, IOException, SAXException { - Map transUnits = new HashMap<>(); - - var xliffDocument = new XliffDocument(TestUtilities.getDocument("fixtures/xliff-code-test.xliff")); - xliffDocument.getTransUnits("segment", translationUnitIdentifiers).forEach( - transUnit -> transUnits.put(transUnit.getCode(), transUnit.getTargetValue()) + @ParameterizedTest(name = "{index} => translationUnitIdentifiers={0}, code={1}, expected={2}, value={3}") + @MethodSource("dataProvider_setTranslationUnitIdentifiersOrdering") + void test_setTranslationUnitIdentifiersOrdering(List translationUnitIdentifiers, + String code, String expected) { + var messageSource = XliffTranslationMessageSource + .builder(TestUtilities.getCache()) + .basenamePattern("identifier/*") + .defaultLocale(Locale.forLanguageTag("en")) + .setTransUnitIdentifier(translationUnitIdentifiers) + .build(); + + String message = messageSource.getMessage( + code, + null, + Locale.forLanguageTag("en") ); - - assertEquals(expected, transUnits.get(code)); + assertEquals(expected, message); } - private static Stream getCodeProvider() { + private static Stream dataProvider_setTranslationUnitIdentifiersOrdering() { return Stream.of( - Arguments.of( - "trans-unit-a", - new ArrayList<>(Arrays.asList("resname", "id")), - "resname-a" - ), - Arguments.of( - "trans-unit-a", - new ArrayList<>(Arrays.asList("id", "resname")), - "id-a" - ), - Arguments.of( - "trans-unit-b", - new ArrayList<>(Arrays.asList("resname", "id")), - "id-b" - ), - Arguments.of( - "trans-unit-b", - new ArrayList<>(Arrays.asList("id", "resname")), - "id-b" - ) + Arguments.of( + Arrays.asList(new Xliff2XliffIdentifier(List.of("resname")), + new Xliff12XliffIdentifier(List.of("resname"))), + "identifierv1.code-resname-a", + "Target A" + ), + Arguments.of( + Arrays.asList(new Xliff2XliffIdentifier(List.of("id")), new Xliff12XliffIdentifier(List.of("id"))), + "identifierv1.code-id-a", + "Target A" + ), + + Arguments.of( + Arrays.asList(new Xliff2XliffIdentifier(List.of("resname", "id")), + new Xliff12XliffIdentifier(List.of("resname", "id"))), + "identifierv1.code-id-b", + "Target B" + ), + Arguments.of( + Arrays.asList(new Xliff2XliffIdentifier(List.of("id", "resname")), + new Xliff12XliffIdentifier(List.of("id", "resname"))), + "identifierv1.code-resname-c", + "Target C" + ), + + Arguments.of( + Arrays.asList(new Xliff2XliffIdentifier(List.of("resname")), + new Xliff12XliffIdentifier(List.of("resname"))), + "identifierv2.code-resname-a", + "Target A" + ), + Arguments.of( + Arrays.asList(new Xliff2XliffIdentifier(List.of("id")), new Xliff12XliffIdentifier(List.of("id"))), + "identifierv2.code-id-a", + "Target A" + ), + + Arguments.of( + Arrays.asList(new Xliff2XliffIdentifier(List.of("resname", "id")), + new Xliff12XliffIdentifier(List.of("resname", "id"))), + "identifierv2.code-id-b", + "Target B" + ), + Arguments.of( + Arrays.asList(new Xliff2XliffIdentifier(List.of("id", "resname")), + new Xliff12XliffIdentifier(List.of("id", "resname"))), + "identifierv2.code-resname-c", + "Target C" + ) ); } diff --git a/src/test/resources/fixtures/xliff-code-test.xliff b/src/test/resources/fixtures/xliff-code-test.xliff deleted file mode 100644 index b07cb7b..0000000 --- a/src/test/resources/fixtures/xliff-code-test.xliff +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - trans-unit-a - trans-unit-a - - - trans-unit-b - trans-unit-b - - - trans-unit-c - trans-unit-c - - - -