From 57c9474e207806e5e2b72b19a5a53dce1a62cee3 Mon Sep 17 00:00:00 2001 From: Decebal Suiu Date: Tue, 6 Oct 2015 11:09:25 +0300 Subject: [PATCH] fix #78 --- .../java/ro/fortsoft/pf4j/util/FileUtils.java | 11 ++- .../pf4j/DefaultPluginStatusProviderTest.java | 74 +++++++++++-------- 2 files changed, 51 insertions(+), 34 deletions(-) diff --git a/pf4j/src/main/java/ro/fortsoft/pf4j/util/FileUtils.java b/pf4j/src/main/java/ro/fortsoft/pf4j/util/FileUtils.java index c3c81b0..0c3f534 100644 --- a/pf4j/src/main/java/ro/fortsoft/pf4j/util/FileUtils.java +++ b/pf4j/src/main/java/ro/fortsoft/pf4j/util/FileUtils.java @@ -12,10 +12,14 @@ */ package ro.fortsoft.pf4j.util; -import java.io.*; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.List; /** @@ -25,7 +29,7 @@ public class FileUtils { public static List readLines(File file, boolean ignoreComments) throws IOException { if (!file.exists() || !file.isFile()) { - return Collections.emptyList(); + return new ArrayList<>(); } List lines = new ArrayList<>(); @@ -87,4 +91,5 @@ public class FileUtils { return success; } + } diff --git a/pf4j/src/test/java/ro/fortsoft/pf4j/DefaultPluginStatusProviderTest.java b/pf4j/src/test/java/ro/fortsoft/pf4j/DefaultPluginStatusProviderTest.java index 72ef17b..9ee6ca6 100644 --- a/pf4j/src/test/java/ro/fortsoft/pf4j/DefaultPluginStatusProviderTest.java +++ b/pf4j/src/test/java/ro/fortsoft/pf4j/DefaultPluginStatusProviderTest.java @@ -15,21 +15,18 @@ */ package ro.fortsoft.pf4j; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; + import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; -import org.junit.After; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; /** * @@ -40,30 +37,13 @@ public class DefaultPluginStatusProviderTest { @Rule public TemporaryFolder testFolder = new TemporaryFolder(); - @Before - public void setUp() throws IOException { - File file = testFolder.newFile("disabled.txt"); - try (Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "utf-8"))) { - writer.write("plugin-2\r\n"); - } - file.createNewFile(); - } - - private void setUpEnabled() throws IOException { - File file = testFolder.newFile("enabled.txt"); - file.createNewFile(); - try (Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "utf-8"))) { - writer.write("plugin-1\r\n"); - writer.write("plugin-2\r\n"); - } - } - /** * Test of isPluginDisabled method, of class DefaultPluginStatusProvider. */ @Test public void testIsPluginDisabled() throws IOException { - setUpEnabled(); + createEnabledFile(); + createDisabledFile(); DefaultPluginStatusProvider instance = new DefaultPluginStatusProvider(testFolder.getRoot()); assertFalse(instance.isPluginDisabled("plugin-1")); @@ -75,7 +55,8 @@ public class DefaultPluginStatusProviderTest { * Test of isPluginDisabled method, of class DefaultPluginStatusProvider. */ @Test - public void testIsPluginDisabledWithEnableEmpty() { + public void testIsPluginDisabledWithEnableEmpty() throws IOException { + createDisabledFile(); DefaultPluginStatusProvider instance = new DefaultPluginStatusProvider(testFolder.getRoot()); assertFalse(instance.isPluginDisabled("plugin-1")); @@ -88,7 +69,8 @@ public class DefaultPluginStatusProviderTest { */ @Test public void testDisablePlugin() throws IOException { - setUpEnabled(); + createEnabledFile(); + createDisabledFile(); DefaultPluginStatusProvider instance = new DefaultPluginStatusProvider(testFolder.getRoot()); assertTrue(instance.disablePlugin("plugin-1")); @@ -101,7 +83,8 @@ public class DefaultPluginStatusProviderTest { * Test of disablePlugin method, of class DefaultPluginStatusProvider. */ @Test - public void testDisablePluginWithEnableEmpty() { + public void testDisablePluginWithEnableEmpty() throws IOException { + createDisabledFile(); DefaultPluginStatusProvider instance = new DefaultPluginStatusProvider(testFolder.getRoot()); assertTrue(instance.disablePlugin("plugin-1")); @@ -115,7 +98,7 @@ public class DefaultPluginStatusProviderTest { */ @Test public void testEnablePlugin() throws IOException { - setUpEnabled(); + createEnabledFile(); DefaultPluginStatusProvider instance = new DefaultPluginStatusProvider(testFolder.getRoot()); assertTrue(instance.enablePlugin("plugin-2")); @@ -137,4 +120,33 @@ public class DefaultPluginStatusProviderTest { assertFalse(instance.isPluginDisabled("plugin-3")); } + /** + * Test of disablePlugin method without a disabled.txt file. + */ + @Test + public void testDisablePluginWithoutDisabledFile() throws IOException { + DefaultPluginStatusProvider instance = new DefaultPluginStatusProvider(testFolder.getRoot()); + + assertFalse(instance.isPluginDisabled("plugin-1")); + assertTrue(instance.disablePlugin("plugin-1")); + assertTrue(instance.isPluginDisabled("plugin-1")); + } + + private void createDisabledFile() throws IOException { + File file = testFolder.newFile("disabled.txt"); + try (Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "utf-8"))) { + writer.write("plugin-2\r\n"); + } + file.createNewFile(); + } + + private void createEnabledFile() throws IOException { + File file = testFolder.newFile("enabled.txt"); + file.createNewFile(); + try (Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "utf-8"))) { + writer.write("plugin-1\r\n"); + writer.write("plugin-2\r\n"); + } + } + } -- 2.39.5