From 672ac6dca89bfce869d133f85f36b4d79e1db7b9 Mon Sep 17 00:00:00 2001 From: MattGarrish Date: Mon, 11 Feb 2019 19:03:08 -0400 Subject: [PATCH] feat: report CSS absolute/fixed positioning as USAGE - `CSS-006` and `CSS-017` that report position fixed/absolute are now `USAGE` messages (instead of `WARNING`) - Removes `CSS-027` as it would be a duplicate of `CSS-017` - Command line severity tests now use a missing title as the `WARNING` trigger (instead of the now usage-only absolute positionning) Fix #889 --- .../ctc/css/EpubCSSCheckCSSHandler.java | 3 +- .../epubcheck/messages/DefaultSeverities.java | 5 +-- .../adobe/epubcheck/messages/MessageId.java | 1 - .../messages/MessageBundle.properties | 3 +- .../messages/MessageBundle_de.properties | 1 - .../messages/MessageBundle_es.properties | 1 - .../messages/MessageBundle_fr.properties | 1 - .../messages/MessageBundle_it.properties | 1 - .../messages/MessageBundle_ja.properties | 1 - .../messages/MessageBundle_ko_KR.properties | 1 - .../messages/MessageBundle_nl.properties | 1 - .../messages/MessageBundle_pt_BR.properties | 1 - .../api/Epub30CheckExpandedTest.java | 1 - .../failonwarnings/OPS/style_tag_css.xhtml | 2 +- .../failonwarnings_expected_results.json | 41 +++++++++++++++---- .../listSeverities_expected_results.txt | 4 +- .../severity/OPS/style_tag_css.xhtml | 2 +- ...everity_overrideBadId_expected_results.txt | 16 ++++---- ...ty_overrideBadMessage_expected_results.txt | 16 ++++---- ...y_overrideBadSeverity_expected_results.txt | 16 ++++---- ...y_overrideMissingFile_expected_results.txt | 16 ++++---- .../severity_overrideOk_expected_results.txt | 16 ++++---- .../severity_usage_expected_results.txt | 16 ++++---- .../severity_warning_expected_results.txt | 9 +--- .../css/discouraged_expected_results.json | 10 ++--- .../test/css/discouraged_expected_results.xml | 12 +++--- 26 files changed, 108 insertions(+), 89 deletions(-) diff --git a/src/main/java/com/adobe/epubcheck/ctc/css/EpubCSSCheckCSSHandler.java b/src/main/java/com/adobe/epubcheck/ctc/css/EpubCSSCheckCSSHandler.java index c1f0d204c..0e311ae8d 100644 --- a/src/main/java/com/adobe/epubcheck/ctc/css/EpubCSSCheckCSSHandler.java +++ b/src/main/java/com/adobe/epubcheck/ctc/css/EpubCSSCheckCSSHandler.java @@ -506,7 +506,6 @@ void checkTermsAndValues(CssGrammar.CssDeclaration declaration) { if (!isGlobalFixedFormat || hasIndividualFixedFormatDocuments) { - MessageId id = hasIndividualFixedFormatDocuments ? MessageId.CSS_027 : MessageId.CSS_017; if ("position".compareToIgnoreCase(declaration.getName().get()) == 0) { for (CssGrammar.CssConstruct construct : declaration.getComponents()) @@ -514,7 +513,7 @@ void checkTermsAndValues(CssGrammar.CssDeclaration declaration) if (construct.getType() == CssGrammar.CssConstruct.Type.KEYWORD && "absolute".compareToIgnoreCase(construct.toCssString()) == 0) { - getReport().message(id, getCorrectedEPUBLocation(path, declaration.getLocation().getLine(), declaration.getLocation().getColumn(), declaration.toCssString()), declaration.getName().get()); + getReport().message(MessageId.CSS_017, getCorrectedEPUBLocation(path, declaration.getLocation().getLine(), declaration.getLocation().getColumn(), declaration.toCssString()), declaration.getName().get()); break; } } diff --git a/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java b/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java index 5034f1b32..75114fdd1 100644 --- a/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java +++ b/src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java @@ -70,7 +70,7 @@ private void initialize() severities.put(MessageId.CSS_003, Severity.ERROR); severities.put(MessageId.CSS_004, Severity.ERROR); severities.put(MessageId.CSS_005, Severity.ERROR); - severities.put(MessageId.CSS_006, Severity.WARNING); + severities.put(MessageId.CSS_006, Severity.USAGE); severities.put(MessageId.CSS_007, Severity.INFO); severities.put(MessageId.CSS_008, Severity.ERROR); severities.put(MessageId.CSS_009, Severity.USAGE); @@ -80,7 +80,7 @@ private void initialize() severities.put(MessageId.CSS_013, Severity.USAGE); severities.put(MessageId.CSS_015, Severity.ERROR); severities.put(MessageId.CSS_016, Severity.SUPPRESSED); - severities.put(MessageId.CSS_017, Severity.WARNING); + severities.put(MessageId.CSS_017, Severity.USAGE); severities.put(MessageId.CSS_019, Severity.WARNING); severities.put(MessageId.CSS_020, Severity.ERROR); severities.put(MessageId.CSS_021, Severity.USAGE); @@ -88,7 +88,6 @@ private void initialize() severities.put(MessageId.CSS_023, Severity.USAGE); severities.put(MessageId.CSS_024, Severity.USAGE); severities.put(MessageId.CSS_025, Severity.USAGE); - severities.put(MessageId.CSS_027, Severity.USAGE); severities.put(MessageId.CSS_028, Severity.USAGE); // HTML diff --git a/src/main/java/com/adobe/epubcheck/messages/MessageId.java b/src/main/java/com/adobe/epubcheck/messages/MessageId.java index 47c7c13d4..e26e662d9 100644 --- a/src/main/java/com/adobe/epubcheck/messages/MessageId.java +++ b/src/main/java/com/adobe/epubcheck/messages/MessageId.java @@ -81,7 +81,6 @@ public enum MessageId implements Comparable CSS_023("CSS-023"), CSS_024("CSS-024"), CSS_025("CSS-025"), - CSS_027("CSS-027"), CSS_028("CSS-028"), // Messages relating to xhtml markup diff --git a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle.properties b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle.properties index 2011df7d2..988d4015b 100644 --- a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle.properties +++ b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle.properties @@ -40,7 +40,7 @@ CSS_002=Empty or NULL reference found. CSS_003=Only UTF-8 and UTF-16 encodings are allowed, detected %1$s. CSS_004=Only UTF-8 and UTF-16 encodings are allowed, detected %1$s BOM. CSS_005=Conflicting alternate style attributes found: %1$s. -CSS_006=CSS position:fixed property should not be used in EPUBs. +CSS_006=CSS selector specifies fixed position. CSS_007=Font-face reference %1$s refers to non-standard font type %2$s. CSS_008=An error occurred while parsing the CSS: %1$s. CSS_009=Use of certain CSS such as Columns, Transforms, Transitions, box-sizing or KeyFrames can cause pagination issues. @@ -63,7 +63,6 @@ CSS_024=CSS class Selector is not used. CSS_024_SUG=Remove unused CSS selectors. CSS_025=CSS class Selector could not be found. CSS_025_SUG=Check for typos or define a class selector to document the use of the class. -CSS_027=CSS selector specifies absolute position. CSS_028=Use of Font-face declaration. #HTM - XHTML related messages diff --git a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_de.properties b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_de.properties index 8819c5f28..0e4adb668 100644 --- a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_de.properties +++ b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_de.properties @@ -63,7 +63,6 @@ CSS_024=CSS-Klasse wird nicht verwendet. CSS_024_SUG=Entferne unbenutzte CSS-Selektoren/-Klassen. CSS_025=CSS-Klasse wurde nicht gefunden. CSS_025_SUG=Überprüfe die Angabe der CSS-Klasse auf Schreibfehler oder definiere einen neuen Klassen-Selektor im CSS. -CSS_027=CSS-Selektor enthält Anweisungen zu absoluter Positionierung. CSS_028=Eine 'font-face'-Deklaration wird genutzt. #HTM - XHTML related messages diff --git a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_es.properties b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_es.properties index 2ebc9e6b9..1b98921f7 100644 --- a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_es.properties +++ b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_es.properties @@ -63,7 +63,6 @@ CSS_024=El selector de clase CSS no se utiliza. CSS_024_SUG=Elimine los selectores CSS no usados. CSS_025=No se encuentra el selector de clase CSS. CSS_025_SUG=Compruebe la sintaxis o defina un selector de clase para documentar el uso de la clase. -CSS_027=El selector CSS especifica una posición absoluta. CSS_028=Uso de declaración 'font-face'. #HTM - XHTML related messages diff --git a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_fr.properties b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_fr.properties index 4ea8282bb..88ae6c6bb 100644 --- a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_fr.properties +++ b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_fr.properties @@ -63,7 +63,6 @@ CSS_024=Le sélecteur CSS de classe n'est pas utilisé. CSS_024_SUG=Supprimez les sélecteurs CSS inutilisés. CSS_025=Le sélecteur CSS de classe est introuvable. CSS_025_SUG=Vérifiez les fautes de frappe ou définissez un sélecteur de classe pour attester de l'utilisation de la classe. -CSS_027=Le sélecteur CSS spécifie une position absolue. CSS_028=Utilisation d'une déclaration font-face. #HTM - XHTML related messages diff --git a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_it.properties b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_it.properties index 5a9a46969..de75a0557 100644 --- a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_it.properties +++ b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_it.properties @@ -63,7 +63,6 @@ CSS_024=La regola CSS 'class' non è usata. CSS_024_SUG=È consigliabile rimuovere le regole CSS non usate. CSS_025=La regola CSS 'class' non è stata trovata. CSS_025_SUG=È consigliabile controllare di non aver compiuto un errore nel nome della classe o definire una 'class' effettivamente usata. -CSS_027=La regola CSS specifica una posizione assoluta. CSS_028=La regola CSS specifica una 'font-face'. #HTM - XHTML related messages diff --git a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_ja.properties b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_ja.properties index b7daa85fc..ebbb5295f 100644 --- a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_ja.properties +++ b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_ja.properties @@ -63,7 +63,6 @@ CSS_024=CSSクラスセレクタが使われていません. CSS_024_SUG=使用していないCSSセレクタを削除してください. CSS_025=CSSクラスセレクタが見つけられませんでした. CSS_025_SUG=タイプミスをチェックするか、クラスを利用するセレクタを定義してください. -CSS_027=CSSセレクタでabsolute positionを指定しています. CSS_028=Font-face宣言が使われています. #HTM - XHTML related messages diff --git a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_ko_KR.properties b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_ko_KR.properties index d8b986a2a..2f6b8a24b 100644 --- a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_ko_KR.properties +++ b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_ko_KR.properties @@ -63,7 +63,6 @@ CSS_024=클래스 셀렉터가 사용되지 않습니다. CSS_024_SUG=사용하지 않은 선택자를 제거하십시요. CSS_025=클래스 선택자를 찾을 수 없습니다. CSS_025_SUG=오타가 없는지 확인하거나 사용하려는 클래스 선택자를 추가하십시요. -CSS_027=선택자가 absolute position 속성을 사용하였습니다. CSS_028='font-face' 선언을 사용합니다. #HTM - XHTML related messages diff --git a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_nl.properties b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_nl.properties index 222a4925d..94f656398 100644 --- a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_nl.properties +++ b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_nl.properties @@ -63,7 +63,6 @@ CSS_024=CSS class - bijvoorbeeld .voorbeeld - wordt niet gebruikt. CSS_024_SUG=Verwijder ongebruikte CSS selectors. CSS_025=De CSS class selector werd niet aangetroffen. CSS_025_SUG=Controleer op typefouten of definieer een class selector om het gebruik van de class te documenteren. -CSS_027=De CSS selector specificeert een absolute positie. CSS_028=Gebruik van font-face verklaring. #HTM - XHTML related messages diff --git a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_pt_BR.properties b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_pt_BR.properties index a47a89249..449a9d008 100644 --- a/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_pt_BR.properties +++ b/src/main/resources/com/adobe/epubcheck/messages/MessageBundle_pt_BR.properties @@ -63,7 +63,6 @@ CSS_024=O seletor de classe CSS não é utilizado. CSS_024_SUG=Remova seletores CSS não utilizados. CSS_025=O seletor de classe CSS não foi localizado. CSS_025_SUG=Verifique erros de digitação ou defina um seletor de classe para documentar o uso da classe. -CSS_027=O seletor CSS especifica posição absoluta. CSS_028=Uso de declaração Font-face. #HTM - XHTML related messages diff --git a/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java b/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java index 930e29a2e..363eb6bea 100644 --- a/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java +++ b/src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java @@ -270,7 +270,6 @@ public void testValidateEPUB30_CSSURLS_2() @Test public void testValidateEPUB30_CSSURLS_3() { - Collections.addAll(expectedWarnings, MessageId.CSS_017); Collections.addAll(expectedErrors, MessageId.CSS_020, MessageId.CSS_020); // 'imgs/table_header_bg_uni.jpg': referenced resource missing in the // package diff --git a/src/test/resources/com/adobe/epubcheck/test/command_line/failonwarnings/OPS/style_tag_css.xhtml b/src/test/resources/com/adobe/epubcheck/test/command_line/failonwarnings/OPS/style_tag_css.xhtml index 7cfbae1ce..fde538b39 100644 --- a/src/test/resources/com/adobe/epubcheck/test/command_line/failonwarnings/OPS/style_tag_css.xhtml +++ b/src/test/resources/com/adobe/epubcheck/test/command_line/failonwarnings/OPS/style_tag_css.xhtml @@ -1,7 +1,7 @@ - Transform - Style Tag +