From 16a2d31859e97d4c07a31600a5c07140072dd60b Mon Sep 17 00:00:00 2001 From: Sjoerd Talsma Date: Mon, 21 Oct 2024 21:57:16 +0200 Subject: [PATCH] Fix -verbose javadoc generation. Signed-off-by: Sjoerd Talsma --- .../umldoclet/javadoc/LocalizedReporter.java | 12 ++++++------ .../umldoclet/javadoc/LocalizedReporterTest.java | 15 +++++++++++---- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/main/java/nl/talsmasoftware/umldoclet/javadoc/LocalizedReporter.java b/src/main/java/nl/talsmasoftware/umldoclet/javadoc/LocalizedReporter.java index 69e402463..d62b55dc0 100644 --- a/src/main/java/nl/talsmasoftware/umldoclet/javadoc/LocalizedReporter.java +++ b/src/main/java/nl/talsmasoftware/umldoclet/javadoc/LocalizedReporter.java @@ -1,5 +1,5 @@ /* - * Copyright 2016-2022 Talsma ICT + * Copyright 2016-2024 Talsma ICT * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -46,7 +46,9 @@ final class LocalizedReporter implements Reporter, Logger { @Override public void debug(Object key, Object... args) { - log(Diagnostic.Kind.OTHER, key, args); + if (config.verbose) { + log(Diagnostic.Kind.NOTE, key, args); + } } @Override @@ -80,15 +82,13 @@ public String localize(Message key, Object... args) { private Object[] localizeArgs(Object... args) { for (int i = 0; i < args.length; i++) { - if (args[i] instanceof Message) args[i] = ((Message) args[i]).toString(locale); + if (args[i] instanceof Message) args[i] = localize((Message) args[i]); } return args; } private boolean mustPrint(Diagnostic.Kind kind) { - Diagnostic.Kind threshold = config.quiet ? Diagnostic.Kind.WARNING - : config.verbose ? Diagnostic.Kind.OTHER - : Diagnostic.Kind.NOTE; + Diagnostic.Kind threshold = config.quiet ? Diagnostic.Kind.WARNING : Diagnostic.Kind.NOTE; return kind != null && kind.compareTo(threshold) <= 0; } diff --git a/src/test/java/nl/talsmasoftware/umldoclet/javadoc/LocalizedReporterTest.java b/src/test/java/nl/talsmasoftware/umldoclet/javadoc/LocalizedReporterTest.java index 6a5ad4ade..47bf73ea9 100644 --- a/src/test/java/nl/talsmasoftware/umldoclet/javadoc/LocalizedReporterTest.java +++ b/src/test/java/nl/talsmasoftware/umldoclet/javadoc/LocalizedReporterTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2016-2022 Talsma ICT + * Copyright 2016-2024 Talsma ICT * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,6 +29,8 @@ import javax.tools.Diagnostic; import java.util.Locale; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.stringContainsInOrder; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @@ -77,7 +79,7 @@ public void testDebug_when_verbose() { config.verbose = true; localizedReporter.debug(Message.DOCLET_COPYRIGHT, "1.2.3"); - verify(mockReporter).print(eq(Diagnostic.Kind.OTHER), + verify(mockReporter).print(eq(Diagnostic.Kind.NOTE), eq("UML Doclet (C) Copyright Talsma ICT, version: 1.2.3.")); } @@ -87,7 +89,7 @@ public void testDebug_nl() { config.verbose = true; localizedReporter.debug(Message.DOCLET_COPYRIGHT, "1.2.3"); - verify(mockReporter).print(eq(Diagnostic.Kind.OTHER), + verify(mockReporter).print(eq(Diagnostic.Kind.NOTE), eq("UML Doclet (C) Copyright Talsma ICT, versie: 1.2.3.")); } @@ -96,7 +98,7 @@ public void testDebug_inlineNonResourceMessage() { config.verbose = true; localizedReporter.debug("The {1} jumps over the {0}", "lazy dog", "quick brown fox"); - verify(mockReporter).print(eq(Diagnostic.Kind.OTHER), + verify(mockReporter).print(eq(Diagnostic.Kind.NOTE), eq("The quick brown fox jumps over the lazy dog")); } @@ -175,4 +177,9 @@ public void testPrint() { eq("Test print message + element")); } + @Test + void testLocalizeMessageParameter() { + String result = localizedReporter.localize(Message.INFO_GENERATING_FILE, Message.PLANTUML_COPYRIGHT); + assertThat(result, stringContainsInOrder("Generating", "This software uses PlantUML")); + } }