下面列出了怎么用org.bukkit.plugin.PluginLogger的API类实例代码及写法,或者点击链接到github查看源代码。
@Before
public void setUpPlugin() throws IOException {
dataFolder = temporaryFolder.newFolder();
// Wire various Bukkit components
setField(Bukkit.class, "server", null, server);
given(server.getLogger()).willReturn(mock(Logger.class));
given(server.getScheduler()).willReturn(mock(BukkitScheduler.class));
given(server.getPluginManager()).willReturn(pluginManager);
given(server.getVersion()).willReturn("1.9.4-RC1");
// SettingsManager always returns the default
given(settings.getProperty(any(Property.class))).willAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
return ((Property<?>) invocation.getArguments()[0]).getDefaultValue();
}
});
// PluginDescriptionFile is final and so cannot be mocked
PluginDescriptionFile descriptionFile = new PluginDescriptionFile(
"PerWorldInventory", "N/A", PerWorldInventory.class.getCanonicalName());
JavaPluginLoader pluginLoader = new JavaPluginLoader(server);
plugin = new PerWorldInventory(pluginLoader, descriptionFile, dataFolder, null);
setField(JavaPlugin.class, "logger", plugin, mock(PluginLogger.class));
}
@Before
public void setUpPlugin() throws IOException {
File dataFolder = temporaryFolder.newFolder();
// Set mock server
setField(Bukkit.class, "server", null, server);
given(server.getLogger()).willReturn(mock(Logger.class));
// PluginDescriptionFile is final and so cannot be mocked
PluginDescriptionFile descriptionFile = new PluginDescriptionFile(
"PerWorldInventory", "N/A", PerWorldInventory.class.getCanonicalName());
JavaPluginLoader pluginLoader = new JavaPluginLoader(server);
plugin = new PerWorldInventory(pluginLoader, descriptionFile, dataFolder, null);
setField(JavaPlugin.class, "logger", plugin, mock(PluginLogger.class));
Injector injector = new InjectorBuilder().addDefaultHandlers("me.gnat008.perworldinventory").create();
injector.register(PermissionManager.class, permissionManager);
injector.register(ConvertCommand.class, convertCommand);
injector.register(HelpCommand.class, helpCommand);
injector.register(PerWorldInventoryCommand.class, pwiCommand);
injector.register(ReloadCommand.class, reloadCommand);
injector.register(SetWorldDefaultCommand.class, setWorldDefaultsCommand);
injector.register(VersionCommand.class, versionCommand);
plugin.registerCommands(injector);
TestHelper.setField(PerWorldInventory.class, "permissionManager", plugin, permissionManager);
}
@Before
public void setUpPlugin() throws IOException {
dataFolder = temporaryFolder.newFolder();
// Wire various Bukkit components
setField(Bukkit.class, "server", null, server);
given(server.getLogger()).willReturn(mock(Logger.class));
given(server.getScheduler()).willReturn(mock(BukkitScheduler.class));
given(server.getPluginManager()).willReturn(pluginManager);
given(server.getVersion()).willReturn("1.9.4-RC1");
// SettingsManager always returns the default
given(settings.getProperty(any(Property.class))).willAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
return ((Property<?>) invocation.getArguments()[0]).getDefaultValue();
}
});
// PluginDescriptionFile is final and so cannot be mocked
PluginDescriptionFile descriptionFile = new PluginDescriptionFile(
"PerWorldInventory", "N/A", PerWorldInventory.class.getCanonicalName());
JavaPluginLoader pluginLoader = new JavaPluginLoader(server);
plugin = new PerWorldInventory(pluginLoader, descriptionFile, dataFolder, null);
setField(JavaPlugin.class, "logger", plugin, mock(PluginLogger.class));
}
@Before
public void setUpPlugin() throws IOException {
File dataFolder = temporaryFolder.newFolder();
// Set mock server
setField(Bukkit.class, "server", null, server);
given(server.getLogger()).willReturn(mock(Logger.class));
// PluginDescriptionFile is final and so cannot be mocked
PluginDescriptionFile descriptionFile = new PluginDescriptionFile(
"PerWorldInventory", "N/A", PerWorldInventory.class.getCanonicalName());
JavaPluginLoader pluginLoader = new JavaPluginLoader(server);
plugin = new PerWorldInventory(pluginLoader, descriptionFile, dataFolder, null);
setField(JavaPlugin.class, "logger", plugin, mock(PluginLogger.class));
Injector injector = new InjectorBuilder().addDefaultHandlers("me.gnat008.perworldinventory").create();
injector.register(PermissionManager.class, permissionManager);
injector.register(ConvertCommand.class, convertCommand);
injector.register(HelpCommand.class, helpCommand);
injector.register(PerWorldInventoryCommand.class, pwiCommand);
injector.register(ReloadCommand.class, reloadCommand);
injector.register(SetWorldDefaultCommand.class, setWorldDefaultsCommand);
injector.register(VersionCommand.class, versionCommand);
plugin.registerCommands(injector);
TestHelper.setField(PerWorldInventory.class, "permissionManager", plugin, permissionManager);
}
final void init(PluginLoader loader, Server server, PluginDescriptionFile description, File dataFolder, File file, ClassLoader classLoader) {
this.loader = loader;
this.server = server;
this.file = file;
this.description = description;
this.dataFolder = dataFolder;
this.classLoader = classLoader;
this.configFile = new File(dataFolder, "config.yml");
this.logger = new PluginLogger(this);
}
/**
* Setups the wrapped logger
*
* @throws NoSuchFieldException when something goes wrong
*/
private void setupWrappedLogger() throws NoSuchFieldException {
FieldAccessor<PluginLogger> loggerField = Reflections.getField(JavaPlugin.class, "logger", PluginLogger.class);
loggerField.set(this, new WrappedLogger(this));
}