Skip to content

Commit 32e36ef

Browse files
committed
Update WCAGRegressionTestUtils
1 parent 8b2814a commit 32e36ef

File tree

1 file changed

+33
-8
lines changed

1 file changed

+33
-8
lines changed
Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.verapdf.wcag.regression.tests;
22

33
import org.junit.Assert;
4+
import org.verapdf.pdfa.flavours.PDFAFlavour;
45
import org.verapdf.pdfa.qa.FailedPolicyCheck;
56
import org.verapdf.pdfa.qa.RegressionTestingHelper;
67
import org.verapdf.pdfa.validation.profiles.Profiles;
@@ -10,12 +11,20 @@
1011
import java.io.IOException;
1112
import java.io.InputStream;
1213
import java.net.URL;
13-
import java.util.HashMap;
14-
import java.util.List;
15-
import java.util.Map;
14+
import java.util.*;
15+
import java.util.stream.Collectors;
1616

1717
public class WCAGRegressionTestUtils {
18-
private static final String wcagProfileUrl = "https://github.com/veraPDF/veraPDF-validation-profiles/raw/integration/PDF_UA/WCAG-2-2-Complete.xml";
18+
private static final String WCAG_FOLDER = "https://github.com/veraPDF/veraPDF-validation-profiles/raw/integration/PDF_UA/";
19+
private static final String WCAG_PROFILE_URL = WCAG_FOLDER + "WCAG-2-2-Complete.xml";
20+
private static final String WCAG_2_0_PROFILE_URL = WCAG_FOLDER + "WCAG-2-2-Complete-PDF20.xml";
21+
private static final EnumMap<PDFAFlavour, Set<String>> filesByFlavour = new EnumMap<>(PDFAFlavour.class);
22+
private static final Map<PDFAFlavour, String> map = new HashMap<>();
23+
24+
static {
25+
map.put(PDFAFlavour.WCAG_2_2_HUMAN, WCAG_PROFILE_URL);
26+
map. put(PDFAFlavour.WCAG_2_2_PDF_2_0_HUMAN, WCAG_2_0_PROFILE_URL);
27+
}
1928

2029
public static void main(String[] args) {
2130
test();
@@ -24,17 +33,33 @@ public static void main(String[] args) {
2433
public static void test() {
2534
try {
2635
RegressionTestingHelper helper = new RegressionTestingHelper(true);
27-
ValidationProfile customProfile;
28-
try (InputStream is = (new URL(wcagProfileUrl)).openStream()) {
29-
customProfile = Profiles.profileFromXml(is);
36+
for (PDFAFlavour flavour : map.keySet()) {
37+
Set<String> toAdd = helper.getPdfFileNames().stream().filter(s -> checkWCAGFlavour(s, flavour)).collect(Collectors.toSet());
38+
filesByFlavour.put(flavour, toAdd);
3039
}
3140
Map<String, List<FailedPolicyCheck>> failedFiles = new HashMap<>();
32-
helper.getFailedPolicyComplianceFiles(failedFiles, null, customProfile, helper.getPdfFileNames());
41+
for (Map.Entry<PDFAFlavour, String> entry : map.entrySet()) {
42+
ValidationProfile customProfile;
43+
try (InputStream is = (new URL(entry.getValue())).openStream()) {
44+
customProfile = Profiles.profileFromXml(is);
45+
}
46+
helper.getFailedPolicyComplianceFiles(failedFiles, null, customProfile, filesByFlavour.get(entry.getKey()));
47+
}
3348
RegressionTestingHelper.printResult(failedFiles);
3449
Assert.assertEquals(0, failedFiles.size());
3550
} catch (IOException | JAXBException e) {
3651
Assert.fail("Some tests are fallen due to an error");
3752
e.printStackTrace();
3853
}
3954
}
55+
56+
private static boolean checkWCAGFlavour(final String item, final PDFAFlavour flavour) {
57+
if (flavour == PDFAFlavour.WCAG_2_2_HUMAN) {
58+
return item.contains("1.7");
59+
}
60+
if (flavour == PDFAFlavour.WCAG_2_2_PDF_2_0_HUMAN) {
61+
return item.contains("2.0");
62+
}
63+
return false;
64+
}
4065
}

0 commit comments

Comments
 (0)