Skip to content

Commit 3d5749e

Browse files
author
Andrei Stryhelski
committed
Add tests for coverage
DEVSIX-6958
1 parent 37a22b6 commit 3d5749e

File tree

7 files changed

+190
-0
lines changed

7 files changed

+190
-0
lines changed

kernel/src/test/java/com/itextpdf/kernel/pdf/TagTreePointerTest.java

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,13 @@ This file is part of the iText (R) project.
5050
import com.itextpdf.kernel.font.PdfFontFactory;
5151
import com.itextpdf.kernel.pdf.canvas.PdfCanvas;
5252
import com.itextpdf.kernel.pdf.tagging.IStructureNode;
53+
import com.itextpdf.kernel.pdf.tagging.PdfNamespace;
5354
import com.itextpdf.kernel.pdf.tagging.PdfStructElem;
5455
import com.itextpdf.kernel.pdf.tagging.PdfStructureAttributes;
56+
import com.itextpdf.kernel.pdf.tagging.StandardNamespaces;
5557
import com.itextpdf.kernel.pdf.tagging.StandardRoles;
5658
import com.itextpdf.kernel.pdf.tagutils.AccessibilityProperties;
59+
import com.itextpdf.kernel.pdf.tagutils.DefaultAccessibilityProperties;
5760
import com.itextpdf.kernel.pdf.tagutils.TagTreePointer;
5861
import com.itextpdf.kernel.pdf.tagutils.TagStructureContext;
5962
import com.itextpdf.kernel.pdf.tagutils.WaitingTagsManager;
@@ -363,11 +366,136 @@ public void tagTreePointerTest08() throws Exception {
363366
properties.setLanguage("EN-GB");
364367

365368
pointer.moveToRoot().moveToKid(2, StandardRoles.P).getProperties().setRole(StandardRoles.H6);
369+
String role = pointer.getProperties().getRole();
370+
Assert.assertEquals("H6", role);
366371
document.close();
367372

368373
compareResult("tagTreePointerTest08.pdf", "cmp_tagTreePointerTest08.pdf", "diff08_");
369374
}
370375

376+
@Test
377+
public void changeExistedBackedAccessibilityPropertiesTest() throws Exception {
378+
PdfWriter writer = new PdfWriter(destinationFolder + "changeExistedBackedAccessibilityPropertiesTest.pdf",
379+
new WriterProperties().setPdfVersion(PdfVersion.PDF_2_0)).setCompressionLevel(
380+
CompressionConstants.NO_COMPRESSION);
381+
PdfDocument document = new PdfDocument(new PdfReader(sourceFolder + "taggedDocument2.pdf"), writer);
382+
383+
TagTreePointer pointer = new TagTreePointer(document);
384+
AccessibilityProperties properties = pointer.moveToKid(StandardRoles.DIV).getProperties();
385+
String altDescription = "Alternate Description";
386+
properties.setAlternateDescription(altDescription);
387+
Assert.assertEquals(altDescription, properties.getAlternateDescription());
388+
String expansion = "expansion";
389+
properties.setExpansion(expansion);
390+
Assert.assertEquals(expansion, properties.getExpansion());
391+
properties.setNamespace(new PdfNamespace(StandardNamespaces.PDF_2_0));
392+
Assert.assertEquals(StandardNamespaces.PDF_2_0, properties.getNamespace().getNamespaceName());
393+
String phoneme = "phoneme";
394+
properties.setPhoneme(phoneme);
395+
Assert.assertEquals(phoneme, properties.getPhoneme());
396+
String phoneticAlphabet = "Phonetic Alphabet";
397+
properties.setPhoneticAlphabet(phoneticAlphabet);
398+
Assert.assertEquals(phoneticAlphabet, properties.getPhoneticAlphabet());
399+
400+
document.close();
401+
402+
compareResult("changeExistedBackedAccessibilityPropertiesTest.pdf",
403+
"cmp_changeExistedBackedAccessibilityPropertiesTest.pdf", "diffBackProp01_");
404+
}
405+
406+
@Test
407+
public void removeExistedBackedAccessibilityPropertiesTest() throws Exception {
408+
PdfWriter writer = new PdfWriter(destinationFolder + "removeExistedBackedAccessibilityPropertiesTest.pdf",
409+
new WriterProperties().setPdfVersion(PdfVersion.PDF_2_0)).setCompressionLevel(
410+
CompressionConstants.NO_COMPRESSION);
411+
PdfDocument document = new PdfDocument(new PdfReader(sourceFolder + "taggedDocument2.pdf"), writer);
412+
413+
TagTreePointer pointer = new TagTreePointer(document);
414+
AccessibilityProperties properties = pointer.moveToKid(StandardRoles.DIV).getProperties();
415+
Assert.assertNotNull(properties.getAttributesList());
416+
Assert.assertNotNull(properties.addAttributes(0, null));
417+
properties.clearAttributes();
418+
Assert.assertTrue(properties.getAttributesList().isEmpty());
419+
properties.addRef(pointer);
420+
Assert.assertFalse(properties.getRefsList().isEmpty());
421+
properties.clearRefs();
422+
Assert.assertTrue(properties.getRefsList().isEmpty());
423+
424+
document.close();
425+
426+
compareResult("removeExistedBackedAccessibilityPropertiesTest.pdf",
427+
"cmp_removeExistedBackedAccessibilityPropertiesTest.pdf", "diffBackProp02_");
428+
}
429+
430+
@Test
431+
public void setDefaultAccessibilityPropertiesTest() throws Exception {
432+
PdfWriter writer = new PdfWriter(destinationFolder + "setDefaultAccessibilityPropertiesTest.pdf",
433+
new WriterProperties().setPdfVersion(PdfVersion.PDF_2_0)).setCompressionLevel(
434+
CompressionConstants.NO_COMPRESSION);
435+
PdfDocument document = new PdfDocument(new PdfReader(sourceFolder + "taggedDocument2.pdf"), writer);
436+
437+
TagTreePointer pointer = new TagTreePointer(document);
438+
AccessibilityProperties properties = new DefaultAccessibilityProperties(StandardRoles.DIV);
439+
properties.setRole(StandardRoles.H6);
440+
Assert.assertEquals(StandardRoles.H6, properties.getRole());
441+
String actualText = "Test text";
442+
properties.setActualText(actualText);
443+
Assert.assertEquals(actualText, properties.getActualText());
444+
String language = "EN-GB";
445+
properties.setLanguage(language);
446+
Assert.assertEquals(language, properties.getLanguage());
447+
String alternateDescription = "Alternate Description";
448+
properties.setAlternateDescription(alternateDescription);
449+
Assert.assertEquals(alternateDescription, properties.getAlternateDescription());
450+
String expansion = "expansion";
451+
properties.setExpansion(expansion);
452+
Assert.assertEquals(expansion, properties.getExpansion());
453+
properties.setNamespace(new PdfNamespace(StandardNamespaces.PDF_2_0));
454+
Assert.assertEquals(StandardNamespaces.PDF_2_0, properties.getNamespace().getNamespaceName());
455+
String phoneme = "phoneme";
456+
properties.setPhoneme(phoneme);
457+
Assert.assertEquals(phoneme, properties.getPhoneme());
458+
String phoneticAlphabet = "phoneticAlphabet";
459+
properties.setPhoneticAlphabet(phoneticAlphabet);
460+
Assert.assertEquals(phoneticAlphabet, properties.getPhoneticAlphabet());
461+
properties.addRef(pointer);
462+
Assert.assertFalse(properties.getRefsList().isEmpty());
463+
pointer.addTag(properties);
464+
465+
document.close();
466+
467+
compareResult("setDefaultAccessibilityPropertiesTest.pdf", "cmp_setDefaultAccessibilityPropertiesTest.pdf",
468+
"diffDefaultProp01_");
469+
}
470+
471+
@Test
472+
public void removeDefaultAccessibilityPropertiesTest() throws Exception {
473+
PdfWriter writer = new PdfWriter(destinationFolder + "removeDefaultAccessibilityPropertiesTest.pdf",
474+
new WriterProperties().setPdfVersion(PdfVersion.PDF_2_0)).setCompressionLevel(
475+
CompressionConstants.NO_COMPRESSION);
476+
PdfDocument document = new PdfDocument(new PdfReader(sourceFolder + "taggedDocument2.pdf"), writer);
477+
478+
TagTreePointer pointer = new TagTreePointer(document);
479+
AccessibilityProperties properties = new DefaultAccessibilityProperties(StandardRoles.DIV);
480+
PdfStructureAttributes testAttr = new PdfStructureAttributes("test");
481+
testAttr.addIntAttribute("N", 4);
482+
properties.addAttributes(testAttr);
483+
properties.addAttributes(1, testAttr);
484+
properties.getAttributesList();
485+
properties.clearAttributes();
486+
Assert.assertTrue(properties.getAttributesList().isEmpty());
487+
properties.addRef(pointer);
488+
Assert.assertFalse(properties.getRefsList().isEmpty());
489+
properties.clearRefs();
490+
Assert.assertTrue(properties.getRefsList().isEmpty());
491+
pointer.addTag(properties);
492+
493+
document.close();
494+
495+
compareResult("removeDefaultAccessibilityPropertiesTest.pdf",
496+
"cmp_removeDefaultAccessibilityPropertiesTest.pdf", "diffDefaultProp02_");
497+
}
498+
371499
@Test
372500
public void tagStructureFlushingTest01() throws IOException, InterruptedException, SAXException, ParserConfigurationException {
373501
PdfReader reader = new PdfReader(sourceFolder + "taggedDocument.pdf");
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package com.itextpdf.kernel.pdf.tagutils;
2+
3+
import com.itextpdf.io.source.ByteArrayOutputStream;
4+
import com.itextpdf.kernel.pdf.PdfDocument;
5+
import com.itextpdf.kernel.pdf.PdfWriter;
6+
import com.itextpdf.kernel.pdf.tagging.PdfNamespace;
7+
import com.itextpdf.kernel.pdf.tagging.PdfStructureAttributes;
8+
import com.itextpdf.kernel.pdf.tagging.StandardRoles;
9+
import com.itextpdf.test.ExtendedITextTest;
10+
import com.itextpdf.test.annotations.type.UnitTest;
11+
12+
import org.junit.Assert;
13+
import org.junit.Test;
14+
import org.junit.experimental.categories.Category;
15+
16+
@Category(UnitTest.class)
17+
public class AccessibilityPropertiesTest extends ExtendedITextTest {
18+
19+
@Test
20+
public void setAccessibilityPropertiesTest() {
21+
AccessibilityProperties properties = new AccessibilityProperties() {
22+
};
23+
Assert.assertNotNull(properties.setRole(StandardRoles.DIV));
24+
Assert.assertNotNull(properties.setLanguage("EN-GB"));
25+
Assert.assertNotNull(properties.setActualText("actualText"));
26+
Assert.assertNotNull(properties.setAlternateDescription("Description"));
27+
Assert.assertNotNull(properties.setExpansion("expansion"));
28+
Assert.assertNotNull(properties.setPhoneme("phoneme"));
29+
Assert.assertNotNull(properties.setPhoneticAlphabet("Phonetic Alphabet"));
30+
Assert.assertNotNull(properties.setNamespace(new PdfNamespace("Namespace")));
31+
Assert.assertNotNull(properties.getRefsList());
32+
Assert.assertNotNull(properties.clearRefs());
33+
Assert.assertNotNull(properties.addAttributes(new PdfStructureAttributes("attributes")));
34+
Assert.assertNotNull(properties.addAttributes(0, new PdfStructureAttributes("attributes")));
35+
Assert.assertNotNull(properties.clearAttributes());
36+
Assert.assertNotNull(properties.getAttributesList());
37+
Assert.assertNotNull(properties.addRef(new TagTreePointer(createTestDocument())));
38+
}
39+
40+
@Test
41+
public void getAccessibilityPropertiesTest() {
42+
AccessibilityProperties properties = new AccessibilityProperties() {
43+
};
44+
Assert.assertNull(properties.getRole());
45+
Assert.assertNull(properties.getLanguage());
46+
Assert.assertNull(properties.getActualText());
47+
Assert.assertNull(properties.getAlternateDescription());
48+
Assert.assertNull(properties.getExpansion());
49+
Assert.assertNull(properties.getPhoneme());
50+
Assert.assertNull(properties.getPhoneticAlphabet());
51+
Assert.assertNull(properties.getNamespace());
52+
}
53+
54+
private static PdfDocument createTestDocument() {
55+
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(new ByteArrayOutputStream()));
56+
pdfDoc.setTagged();
57+
return pdfDoc;
58+
}
59+
}

kernel/src/test/java/com/itextpdf/kernel/pdf/tagutils/TagTreePointerUnitTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,10 @@ This file is part of the iText (R) project.
3232
import com.itextpdf.kernel.pdf.PdfPage;
3333
import com.itextpdf.kernel.pdf.PdfWriter;
3434
import com.itextpdf.kernel.pdf.tagging.PdfMcrNumber;
35+
import com.itextpdf.kernel.pdf.tagging.PdfNamespace;
3536
import com.itextpdf.kernel.pdf.tagging.PdfStructElem;
37+
import com.itextpdf.kernel.pdf.tagging.PdfStructureAttributes;
38+
import com.itextpdf.kernel.pdf.tagging.StandardRoles;
3639
import com.itextpdf.test.ExtendedITextTest;
3740
import com.itextpdf.test.annotations.LogMessage;
3841
import com.itextpdf.test.annotations.LogMessages;

0 commit comments

Comments
 (0)