RuntimePluginBaseEditor extends BaseEditor<Plugin, DefaultMetadata> { ParameterizedCommand<String> getSaveCommand() { return new ParameterizedCommand<String>() { @Override public void execute(final String commitMessage) { getPluginServices().call(getSaveSuccessCallback(getContent().hashCode())).save( getContent(), commitMessage); view().onSave(); } }; } RuntimePluginBaseEditor(); protected  RuntimePluginBaseEditor(final BaseEditorView baseView); @OnStartup void onStartup(final ObservablePath path,
                          final PlaceRequest place); Plugin getContent(); boolean mayClose(); @Override Validator getRenameValidator(); @Override Validator getCopyValidator(); void onPluginSaved(@Observes PluginSaved pluginSaved); void onPluginAdded(@Observes PluginAdded pluginAdded); void onPluginDeleted(@Observes PluginDeleted pluginDeleted); void onPluginRenamed(@Observes PluginRenamed pluginRenamed);  }
@Test public void saveCommandTest() { editor.getSaveCommand().execute("commitMessage"); verify(baseEditorView).onSave(); }