#293 Skip help sections if translation is empty
This commit is contained in:
@@ -64,9 +64,13 @@ public class HelpMessagesConsistencyTest {
|
||||
FileConfiguration configuration = YamlConfiguration.loadConfiguration(DEFAULT_MESSAGES_FILE);
|
||||
|
||||
// when / then
|
||||
for (HelpMessageKey key : HelpMessageKey.values()) {
|
||||
assertThat("Default configuration has entry for key '" + key + "'",
|
||||
configuration.contains(key.getKey()), equalTo(true));
|
||||
for (HelpMessage message : HelpMessage.values()) {
|
||||
assertThat("Default configuration has entry for message '" + message + "'",
|
||||
configuration.contains(message.getKey()), equalTo(true));
|
||||
}
|
||||
for (HelpSection section : HelpSection.values()) {
|
||||
assertThat("Default configuration has entry for section '" + section + "'",
|
||||
configuration.contains(section.getKey()), equalTo(true));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ import static fr.xephi.authme.command.help.HelpProvider.HIDE_COMMAND;
|
||||
import static fr.xephi.authme.command.help.HelpProvider.SHOW_ALTERNATIVES;
|
||||
import static fr.xephi.authme.command.help.HelpProvider.SHOW_ARGUMENTS;
|
||||
import static fr.xephi.authme.command.help.HelpProvider.SHOW_CHILDREN;
|
||||
import static fr.xephi.authme.command.help.HelpProvider.SHOW_DESCRIPTION;
|
||||
import static fr.xephi.authme.command.help.HelpProvider.SHOW_LONG_DESCRIPTION;
|
||||
import static fr.xephi.authme.command.help.HelpProvider.SHOW_PERMISSIONS;
|
||||
import static org.hamcrest.Matchers.contains;
|
||||
@@ -83,7 +84,7 @@ public class HelpProviderTest {
|
||||
FoundCommandResult result = newFoundResult(command, Arrays.asList("authme", "login"));
|
||||
|
||||
// when
|
||||
helpProvider.outputHelp(sender, result, SHOW_LONG_DESCRIPTION);
|
||||
helpProvider.outputHelp(sender, result, SHOW_LONG_DESCRIPTION | SHOW_DESCRIPTION);
|
||||
|
||||
// then
|
||||
List<String> lines = getLines(sender);
|
||||
@@ -368,7 +369,7 @@ public class HelpProviderTest {
|
||||
private static void setDefaultHelpMessages(HelpMessagesService helpMessagesService) {
|
||||
given(helpMessagesService.buildLocalizedDescription(any(CommandDescription.class)))
|
||||
.willAnswer(new ReturnsArgumentAt(0));
|
||||
for (HelpMessageKey key : HelpMessageKey.values()) {
|
||||
for (HelpMessage key : HelpMessage.values()) {
|
||||
String text = key.name().replace("_", " ").toLowerCase();
|
||||
given(helpMessagesService.getMessage(key))
|
||||
.willReturn(text.substring(0, 1).toUpperCase() + text.substring(1));
|
||||
@@ -378,6 +379,11 @@ public class HelpProviderTest {
|
||||
given(helpMessagesService.getMessage(permission))
|
||||
.willReturn(text.substring(0, 1).toUpperCase() + text.substring(1));
|
||||
}
|
||||
for (HelpSection section : HelpSection.values()) {
|
||||
String text = section.name().replace("_", " ").toLowerCase();
|
||||
given(helpMessagesService.getMessage(section))
|
||||
.willReturn(text.substring(0, 1).toUpperCase() + text.substring(1));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ import static org.mockito.Mockito.verify;
|
||||
public class MessagesIntegrationTest {
|
||||
|
||||
private static final String YML_TEST_FILE = TestHelper.PROJECT_ROOT + "message/messages_test.yml";
|
||||
private static final String YML_DEFAULT_TEST_FILE = TestHelper.PROJECT_ROOT + "message/messages_default.yml";
|
||||
private static final String YML_DEFAULT_TEST_FILE = "messages/messages_en.yml";
|
||||
private Messages messages;
|
||||
|
||||
@BeforeClass
|
||||
@@ -201,7 +201,8 @@ public class MessagesIntegrationTest {
|
||||
String message = messages.retrieveSingle(key);
|
||||
|
||||
// then
|
||||
assertThat(message, equalTo("Message from default file"));
|
||||
assertThat(message,
|
||||
equalTo("§4Only registered users can join the server! Please visit http://example.com to register yourself!"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -217,35 +218,6 @@ public class MessagesIntegrationTest {
|
||||
assertThat(message, equalTo("§cWrong password!"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldReturnErrorForMissingMessage() {
|
||||
// given
|
||||
// Key is not present in test file or default file
|
||||
MessageKey key = MessageKey.TWO_FACTOR_CREATE;
|
||||
|
||||
// when
|
||||
String message = messages.retrieveSingle(key);
|
||||
|
||||
// then
|
||||
assertThat(message, containsString("Error retrieving message"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldAllowNullAsDefaultFile() {
|
||||
// given
|
||||
MessageFileHandlerProvider provider =
|
||||
providerReturning(TestHelper.getJarFile(YML_TEST_FILE), YML_DEFAULT_TEST_FILE);
|
||||
Messages testMessages = new Messages(provider);
|
||||
// Key not present in test file
|
||||
MessageKey key = MessageKey.TWO_FACTOR_CREATE;
|
||||
|
||||
// when
|
||||
String message = testMessages.retrieveSingle(key);
|
||||
|
||||
// then
|
||||
assertThat(message, containsString("Error retrieving message"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldRetrieveMessageWithReplacements() {
|
||||
// given
|
||||
|
||||
Reference in New Issue
Block a user