From 348d1bb60227a537b9f757a1ad7f8c104332f37b Mon Sep 17 00:00:00 2001 From: Romain Deltour Date: Thu, 11 Jul 2019 18:52:06 +0200 Subject: [PATCH 1/2] feat: revert the spine/toc nav order check to a WARNING As agreed on the 2019-07-11 EPUB CG call: https://www.w3.org/2019/07/11-epub3cg-minutes.html Changes the behavior introduced in #999 Fixes #1036 --- .../com/adobe/epubcheck/messages/DefaultSeverities.java | 2 +- .../com/adobe/epubcheck/api/Epub30CheckExpandedTest.java | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java b/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java index 9b3cfc384..91397148f 100644 --- a/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java +++ b/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java @@ -154,7 +154,7 @@ private void initialize() severities.put(MessageId.NAV_008, Severity.USAGE); severities.put(MessageId.NAV_009, Severity.ERROR); severities.put(MessageId.NAV_010, Severity.ERROR); - severities.put(MessageId.NAV_011, Severity.ERROR); + severities.put(MessageId.NAV_011, Severity.WARNING); // NCX severities.put(MessageId.NCX_001, Severity.ERROR); diff --git a/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java b/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java index 3b405189b..66a43d3be 100644 --- a/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java +++ b/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java @@ -213,7 +213,7 @@ public void testValidateNav_TocInReadingOrder() public void testValidateNav_TocWrongOrderInSpine() { // test that toc nav links MUST be in spine order - expectedErrors.add(MessageId.NAV_011); + expectedWarnings.add(MessageId.NAV_011); testValidateDocument("invalid/nav-toc-unordered-spine"); } @@ -221,7 +221,7 @@ public void testValidateNav_TocWrongOrderInSpine() public void testValidateNav_TocWrongOrderOfFragments() { // test that toc nav links MUST be in document order - expectedErrors.addAll(Collections.nCopies(2, MessageId.NAV_011)); + expectedWarnings.addAll(Collections.nCopies(2, MessageId.NAV_011)); testValidateDocument("invalid/nav-toc-unordered-fragments"); } @@ -236,7 +236,7 @@ public void testValidateNav_PageListInReadingOrder() public void testValidateNav_PageListWrongOrderInSpine() { // test that page-list nav links MUST be in spine order - expectedErrors.add(MessageId.NAV_011); + expectedWarnings.add(MessageId.NAV_011); testValidateDocument("invalid/nav-page-list-unordered-spine"); } @@ -244,7 +244,7 @@ public void testValidateNav_PageListWrongOrderInSpine() public void testValidateNav_PageListWrongOrderOfFragments() { // test that page-list nav links MUST be in document order - expectedErrors.add(MessageId.NAV_011); + expectedWarnings.add(MessageId.NAV_011); testValidateDocument("invalid/nav-page-list-unordered-fragments"); } From fce32f575761c31034110415190de860aeefcf48 Mon Sep 17 00:00:00 2001 From: Romain Deltour Date: Mon, 15 Jul 2019 10:48:54 +0200 Subject: [PATCH 2/2] fixup: add an INFO message about NAV_011 being subject to change --- .../java/com/adobe/epubcheck/messages/DefaultSeverities.java | 2 ++ src/main/java/com/adobe/epubcheck/messages/MessageId.java | 3 +++ src/main/java/com/adobe/epubcheck/opf/XRefChecker.java | 4 ++++ .../com/adobe/epubcheck/messages/MessageBundle.properties | 3 +++ .../java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java | 4 ++++ 5 files changed, 16 insertions(+) diff --git a/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java b/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java index 91397148f..2b38a4c18 100644 --- a/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java +++ b/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java @@ -34,6 +34,8 @@ private void initialize() { return; } + // Info + severities.put(MessageId.INF_001, Severity.INFO); // Accessibility severities.put(MessageId.ACC_001, Severity.USAGE); diff --git a/src/main/java/com/adobe/epubcheck/messages/MessageId.java b/src/main/java/com/adobe/epubcheck/messages/MessageId.java index ed59f9093..e934c48df 100644 --- a/src/main/java/com/adobe/epubcheck/messages/MessageId.java +++ b/src/main/java/com/adobe/epubcheck/messages/MessageId.java @@ -28,6 +28,9 @@ public enum MessageId implements Comparable { + // General info messages + INF_001("INF-001"), + // Messages relating to accessibility ACC_001("ACC-001"), ACC_002("ACC-002"), diff --git a/src/main/java/com/adobe/epubcheck/opf/XRefChecker.java b/src/main/java/com/adobe/epubcheck/opf/XRefChecker.java index ee0eca720..7812e4c6c 100755 --- a/src/main/java/com/adobe/epubcheck/opf/XRefChecker.java +++ b/src/main/java/com/adobe/epubcheck/opf/XRefChecker.java @@ -548,6 +548,8 @@ private void checkReadingOrder(Queue references, int lastSpinePositio report.message(MessageId.NAV_011, EPUBLocation.create(ref.source, ref.lineNumber, ref.columnNumber), (ref.type == Type.NAV_TOC_LINK) ? "toc" : "page-list", ref.value, orderContext); + report.message(MessageId.INF_001, + EPUBLocation.create(ref.source, ref.lineNumber, ref.columnNumber), "ERROR", "https://github.com/w3c/publ-epub-revision/issues/1283"); lastSpinePosition = targetSpinePosition; lastAnchorPosition = -1; } @@ -570,6 +572,8 @@ private void checkReadingOrder(Queue references, int lastSpinePositio report.message(MessageId.NAV_011, EPUBLocation.create(ref.source, ref.lineNumber, ref.columnNumber), (ref.type == Type.NAV_TOC_LINK) ? "toc" : "page-list", ref.value, orderContext); + report.message(MessageId.INF_001, + EPUBLocation.create(ref.source, ref.lineNumber, ref.columnNumber), "ERROR", "https://github.com/w3c/publ-epub-revision/issues/1283"); } lastAnchorPosition = targetAnchorPosition; } diff --git a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle.properties b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle.properties index e32eb159c..4ac6053ad 100644 --- a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle.properties +++ b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle.properties @@ -1,5 +1,8 @@ # This is the default MessageBundle.properties file +#Info +INF_001=The previous rule is under review and may change to an '%1$s' in a future release. See the discussion at %2$s + #Accessibility ACC_001='img' or 'area' HTML element has no 'alt' attribute. ACC_002='input' HTML element is not referenced by a corresponding label element. diff --git a/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java b/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java index 66a43d3be..c14299ab1 100644 --- a/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java +++ b/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java @@ -214,6 +214,7 @@ public void testValidateNav_TocWrongOrderInSpine() { // test that toc nav links MUST be in spine order expectedWarnings.add(MessageId.NAV_011); + expectedInfos.add(MessageId.INF_001); testValidateDocument("invalid/nav-toc-unordered-spine"); } @@ -222,6 +223,7 @@ public void testValidateNav_TocWrongOrderOfFragments() { // test that toc nav links MUST be in document order expectedWarnings.addAll(Collections.nCopies(2, MessageId.NAV_011)); + expectedInfos.add(MessageId.INF_001); testValidateDocument("invalid/nav-toc-unordered-fragments"); } @@ -237,6 +239,7 @@ public void testValidateNav_PageListWrongOrderInSpine() { // test that page-list nav links MUST be in spine order expectedWarnings.add(MessageId.NAV_011); + expectedInfos.add(MessageId.INF_001); testValidateDocument("invalid/nav-page-list-unordered-spine"); } @@ -245,6 +248,7 @@ public void testValidateNav_PageListWrongOrderOfFragments() { // test that page-list nav links MUST be in document order expectedWarnings.add(MessageId.NAV_011); + expectedInfos.add(MessageId.INF_001); testValidateDocument("invalid/nav-page-list-unordered-fragments"); }