diff --git a/src/main/java/com/adobe/epubcheck/ops/OPSHandler30.java b/src/main/java/com/adobe/epubcheck/ops/OPSHandler30.java index ac8a23a80..0117ee706 100644 --- a/src/main/java/com/adobe/epubcheck/ops/OPSHandler30.java +++ b/src/main/java/com/adobe/epubcheck/ops/OPSHandler30.java @@ -245,6 +245,10 @@ protected void checkTypes(Set types) allowedProperties.add(ITEM_PROPERTIES.INDEX); context.featureReport.report(FeatureEnum.INDEX, parser.getLocation(), null); } + if (types.contains(EPUB_TYPES.GLOSSARY)) + { + allowedProperties.add(ITEM_PROPERTIES.GLOSSARY); + } } @Override diff --git a/src/test/resources/epub-dictionaries/dictionaries-publication.feature b/src/test/resources/epub-dictionaries/dictionaries-publication.feature index e2a292ad0..1447f5017 100644 --- a/src/test/resources/epub-dictionaries/dictionaries-publication.feature +++ b/src/test/resources/epub-dictionaries/dictionaries-publication.feature @@ -97,3 +97,16 @@ Feature: EPUB Dictionaries and Glossaries ▸ Full Publication Checks When checking EPUB 'dictionary-multiple-no-content-error' Then error OPF-078 is reported And no other errors or warnings are reported + + ### 2.5.2 Glossary Identification + + Scenario: Verify a publication with a single glossary + Given EPUBCheck configured with the 'default' profile + When checking EPUB 'glossary-single-valid' + Then no errors or warnings are reported + + Scenario: Verify the 'glossary' manifest item property is not mandatory in the default checking profile + Note: we cannot check that the property is mandatory in EPUB Glossaries, as there is no dedicated profile for these + Given EPUBCheck configured with the 'default' profile + When checking EPUB 'glossary-single-package-property-not-defined-error' + Then no errors or warnings are reported diff --git a/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/EPUB/content_001.xhtml b/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/EPUB/content_001.xhtml new file mode 100644 index 000000000..e1a805cc1 --- /dev/null +++ b/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/EPUB/content_001.xhtml @@ -0,0 +1,16 @@ + + + + + Minimal EPUB + + +

Glossary

+
+
+
term
+
definition
+
+
+ + diff --git a/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/EPUB/nav.xhtml b/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/EPUB/nav.xhtml new file mode 100644 index 000000000..240745e63 --- /dev/null +++ b/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/EPUB/nav.xhtml @@ -0,0 +1,14 @@ + + + + + Minimal Nav + + + + + diff --git a/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/EPUB/package.opf b/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/EPUB/package.opf new file mode 100644 index 000000000..73f032f50 --- /dev/null +++ b/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/EPUB/package.opf @@ -0,0 +1,17 @@ + + + + Minimal EPUB 3.0 + en + NOID + 2017-06-14T00:00:01Z + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/EPUB/search.xml b/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/EPUB/search.xml new file mode 100644 index 000000000..6e1c240b8 --- /dev/null +++ b/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/EPUB/search.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/META-INF/container.xml b/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/META-INF/container.xml new file mode 100644 index 000000000..2ca12eff7 --- /dev/null +++ b/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/META-INF/container.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/mimetype b/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/mimetype new file mode 100644 index 000000000..57ef03f24 --- /dev/null +++ b/src/test/resources/epub-dictionaries/files/epub/glossary-single-package-property-not-defined-error/mimetype @@ -0,0 +1 @@ +application/epub+zip \ No newline at end of file diff --git a/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/EPUB/content_001.xhtml b/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/EPUB/content_001.xhtml new file mode 100644 index 000000000..e1a805cc1 --- /dev/null +++ b/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/EPUB/content_001.xhtml @@ -0,0 +1,16 @@ + + + + + Minimal EPUB + + +

Glossary

+
+
+
term
+
definition
+
+
+ + diff --git a/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/EPUB/nav.xhtml b/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/EPUB/nav.xhtml new file mode 100644 index 000000000..240745e63 --- /dev/null +++ b/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/EPUB/nav.xhtml @@ -0,0 +1,14 @@ + + + + + Minimal Nav + + + + + diff --git a/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/EPUB/package.opf b/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/EPUB/package.opf new file mode 100644 index 000000000..289da8d75 --- /dev/null +++ b/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/EPUB/package.opf @@ -0,0 +1,17 @@ + + + + Minimal EPUB 3.0 + en + NOID + 2017-06-14T00:00:01Z + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/EPUB/search.xml b/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/EPUB/search.xml new file mode 100644 index 000000000..6e1c240b8 --- /dev/null +++ b/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/EPUB/search.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/META-INF/container.xml b/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/META-INF/container.xml new file mode 100644 index 000000000..2ca12eff7 --- /dev/null +++ b/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/META-INF/container.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/mimetype b/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/mimetype new file mode 100644 index 000000000..57ef03f24 --- /dev/null +++ b/src/test/resources/epub-dictionaries/files/epub/glossary-single-valid/mimetype @@ -0,0 +1 @@ +application/epub+zip \ No newline at end of file diff --git a/src/test/resources/epub3/package-publication.feature b/src/test/resources/epub3/package-publication.feature index 8d51428bf..d025bd252 100644 --- a/src/test/resources/epub3/package-publication.feature +++ b/src/test/resources/epub3/package-publication.feature @@ -154,7 +154,7 @@ Feature: EPUB 3 ▸ Packages ▸ Full Publication Checks Scenario: Verify content documents are identified as containing mathml When checking EPUB 'package-mathml-valid' - Then no errors or warnings are reported + Then no errors or warnings are reported ### E.2.4 remote-resources