Add settingsprovider test

This commit is contained in:
2021-04-26 21:09:53 +02:00
parent 057c1e0074
commit c53d5716c3
3 changed files with 91 additions and 24 deletions

View File

@@ -19,13 +19,19 @@ public class SettingsProvider implements SettingsProviderI {
private EventBus eventBus;
private String SETTINGS_PATH =
private String settingsPath =
(System.getProperty("os.name").startsWith("Windows"))
? System.getProperty("user.home") + "\\AppData\\Roaming\\/BNNsettings.dat"
: System.getProperty("user.home") + System.getProperty("file.separator") + ".BNNsettings.dat";
private List<String> legalSettings =
Arrays.asList("Java", "Markdown", "Monokai", "Solarized Light");
// Only for testing purposes
protected void setSettingsPath(String settingsPath) {
this.settingsPath = settingsPath;
}
public SettingsProvider(EventBus eB) {
@@ -41,7 +47,7 @@ public class SettingsProvider implements SettingsProviderI {
@Override
public void loadSettings() {
List<String> settings = new ArrayList<>();
try (Scanner sc = new Scanner(new File(SETTINGS_PATH))) {
try (Scanner sc = new Scanner(new File(settingsPath))) {
while (sc.hasNextLine()) {
var nextLine = sc.nextLine().trim();
@@ -69,7 +75,7 @@ public class SettingsProvider implements SettingsProviderI {
@Override
public void saveSettings() {
try (PrintWriter writer = new PrintWriter(new File(SETTINGS_PATH))) {
try (PrintWriter writer = new PrintWriter(new File(settingsPath))) {
writer.println("- Settings:");
writer.println("Programming Language = " + Model.getLanguage().getName());
writer.println("Theme = " + Model.getTheme());

View File

@@ -2,8 +2,14 @@ package app.settings;
public interface SettingsProviderI {
void loadSettings();
/**
* Load settings from disk, and fire events to update the program state
*/
void loadSettings();
void saveSettings();
/**
* Save the state from {@link app.model.Model Model} to disk.
*/
void saveSettings();
}