From f0fb53b1e2003a97a6e9a01fd13ff86676e409d6 Mon Sep 17 00:00:00 2001 From: yukihane Date: Wed, 24 Aug 2011 10:24:49 +0900 Subject: [PATCH] =?utf8?q?=E3=82=B3=E3=83=B3=E3=83=95=E3=82=A3=E3=82=B0?= =?utf8?q?=E8=AA=AD=E3=81=BF=E6=9B=B8=E3=81=8D=E3=83=86=E3=82=B9=E3=83=88?= =?utf8?q?=E3=82=B1=E3=83=BC=E3=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../src/yukihane/inqubus/config/Properties.java | 40 +++++---- frontend/src/yukihane/inqubus/gui/MainFrame.java | 8 +- .../yukihane/inqubus/config/PropertiesTest.java | 96 ++++++++++++++++++++-- 3 files changed, 121 insertions(+), 23 deletions(-) diff --git a/frontend/src/yukihane/inqubus/config/Properties.java b/frontend/src/yukihane/inqubus/config/Properties.java index 935f4c6..d777431 100644 --- a/frontend/src/yukihane/inqubus/config/Properties.java +++ b/frontend/src/yukihane/inqubus/config/Properties.java @@ -2,7 +2,6 @@ package yukihane.inqubus.config; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.XMLConfiguration; @@ -12,6 +11,10 @@ public enum Properties { INSTANCE; private final XMLConfiguration config = new XMLConfiguration(); + void clear() { + config.clear(); + } + /* * ネットワーク - アカウント */ @@ -49,24 +52,33 @@ public enum Properties { private static final String PROXY_HOST = "network.proxy.host"; public String getProxyHost() { - return config.getString(PROXY_HOST, ""); + return config.getString(PROXY_HOST, "localhost"); } public void setProxyHost(String s) { config.setProperty(PROXY_HOST, s); } + private static final String PROXY_PORT = "network.proxy.port"; + + public String getProxyPort() { + return config.getString(PROXY_PORT, "8080"); + } + + public void setProxyPort(String s) { + config.setProperty(PROXY_PORT, s); + } /* * ファイル - 動画 */ private static final String FILE_VIDEO_DIR = "file.video.dir"; - public File getVideoDir() { - return new File(config.getString(FILE_VIDEO_DIR, "in/video")); + public String getVideoDir() { + return config.getString(FILE_VIDEO_DIR, "in/video"); } - public void setVideoDir(File s) { - config.setProperty(FILE_VIDEO_DIR, s.toString()); + public void setVideoDir(String s) { + config.setProperty(FILE_VIDEO_DIR, s); } private static final String FILE_VIDEO_FILENAME = "file.video.filename"; @@ -92,12 +104,12 @@ public enum Properties { */ private static final String FILE_COMMENT_DIR = "file.comment.dir"; - public File getCommentDir() { - return new File(config.getString(FILE_COMMENT_DIR, "in/comment")); + public String getCommentDir() { + return config.getString(FILE_COMMENT_DIR, "in/comment"); } - public void setCommentDir(File s) { - config.setProperty(FILE_COMMENT_DIR, s.toString()); + public void setCommentDir(String s) { + config.setProperty(FILE_COMMENT_DIR, s); } private static final String FILE_COMMENT_FILENAME = "file.comment.filename"; @@ -123,12 +135,12 @@ public enum Properties { */ private static final String FILE_OUTPUT_DIR = "file.output.dir"; - public File getOutputDir() { - return new File(config.getString(FILE_OUTPUT_DIR, "out")); + public String getOutputDir() { + return config.getString(FILE_OUTPUT_DIR, "out"); } - public void setOutputDir(File s) { - config.setProperty(FILE_OUTPUT_DIR, s.toString()); + public void setOutputDir(String s) { + config.setProperty(FILE_OUTPUT_DIR, s); } private static final String FILE_OUTPUT_FILENAME = "file.output.filename"; diff --git a/frontend/src/yukihane/inqubus/gui/MainFrame.java b/frontend/src/yukihane/inqubus/gui/MainFrame.java index bbca4ad..eeb464e 100644 --- a/frontend/src/yukihane/inqubus/gui/MainFrame.java +++ b/frontend/src/yukihane/inqubus/gui/MainFrame.java @@ -310,11 +310,11 @@ private void useMovieLocalCheckBoxItemStateChanged(java.awt.event.ItemEvent evt) if (source == useMovieLocalCheckBox) { btn = movieFileSelectButton; field = movieFileField; - dir = p.getVideoDir(); + dir = new File(p.getVideoDir()); } else { btn = commentFileSelectButton; field = commentFileField; - dir = p.getCommentDir(); + dir = new File(p.getCommentDir()); } final boolean useLocal = (evt.getStateChange() == ItemEvent.SELECTED); @@ -347,7 +347,7 @@ private void idFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_ } if (useMovieLocalCheckBox.isSelected() && movieFileField.getText().isEmpty()) { - final File dir = p.getVideoDir(); + final File dir = new File(p.getVideoDir()); final File file = searchFileMatchId(dir, id); if (file != null) { movieFileField.setText(file.getPath()); @@ -355,7 +355,7 @@ private void idFieldFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_ } if (useCommentLocalCheckBox.isSelected() && commentFileField.getText().isEmpty()) { - final File dir = p.getCommentDir(); + final File dir = new File(p.getCommentDir()); final File file = searchFileMatchId(dir, id); if (file != null) { commentFileField.setText(file.getPath()); diff --git a/frontend/test/yukihane/inqubus/config/PropertiesTest.java b/frontend/test/yukihane/inqubus/config/PropertiesTest.java index 7421ed3..c06a010 100644 --- a/frontend/test/yukihane/inqubus/config/PropertiesTest.java +++ b/frontend/test/yukihane/inqubus/config/PropertiesTest.java @@ -6,6 +6,8 @@ import static org.junit.Assert.*; import java.nio.file.FileSystem; import java.nio.file.FileSystems; import org.apache.commons.configuration.ConfigurationException; +import org.junit.After; +import org.junit.Before; import org.junit.Test; /** @@ -14,6 +16,18 @@ import org.junit.Test; */ public class PropertiesTest { + private final Properties p = Properties.INSTANCE; + + @Before + public void setUp() { + Properties.INSTANCE.clear(); + } + + @After + public void tearDown() { + Properties.INSTANCE.clear(); + } + @Test public void testLoadFail() { FileSystem fs = FileSystems.getDefault(); @@ -24,7 +38,7 @@ public class PropertiesTest { fail("ファイルが存在しないので読み込みに失敗するはず"); } catch (ConfigurationException ex) { } - try{ + try { p.load("test/testdata/inqubus_test.xml"); fail("ファイルが空なので読み込みに失敗するはず"); } catch (ConfigurationException ex) { @@ -43,11 +57,83 @@ public class PropertiesTest { // System.out.println(f.get(p)); // } // } + @Test + public void testGetSetNetworkAccount() { + } + /** + * コンフィグ取得・設定テストケース. + * デフォルト値の取得、設定とその設定値の取得のテストです. + */ @Test - public void testCreteConfig() throws ConfigurationException{ - Properties p = Properties.INSTANCE; - p.setCommentUseLocal(false); - p.save(new File("test/testdata/save.xml")); + public void testGetSetNetworkProxy() throws ConfigurationException { + + /* + * ネットワーク - アカウント + */ + assertEquals("", p.getId()); + p.setId("id"); + assertEquals("id", p.getId()); + + assertEquals("", p.getPassword()); + p.setPassword("password"); + assertEquals("password", p.getPassword()); + + + /* + * ネットワーク - プロキシ + */ + assertEquals(false, p.getUseProxy()); + p.setUseProxy(true); + assertEquals(true, p.getUseProxy()); + + assertEquals("localhost", p.getProxyHost()); + p.setProxyHost("proxyhost"); + assertEquals("proxyhost", p.getProxyHost()); + + assertEquals("8080", p.getProxyPort()); + p.setProxyPort("80"); + assertEquals("80", p.getProxyPort()); + + + /* + * ファイル - 動画 + */ + assertEquals("in/video", p.getVideoDir()); + p.setVideoDir("v"); + assertEquals("v", p.getVideoDir()); + + assertEquals("[{id}]{title}", p.getVideoFileNamePattern()); + p.setVideoFileNamePattern("videotitle"); + assertEquals("videotitle", p.getVideoFileNamePattern()); + + assertEquals(false, p.getVideoUseLocal()); + p.setVideoUseLocal(true); + assertEquals(true, p.getVideoUseLocal()); + + /* + * ファイル - コメント + */ + assertEquals("in/comment", p.getCommentDir()); + p.setCommentDir("c"); + assertEquals("c", p.getCommentDir()); + + assertEquals("[{id}]{title}", p.getCommentFileNamePattern()); + p.setVideoFileNamePattern("comtitle"); + assertEquals("comtitle", p.getVideoFileNamePattern()); + + assertEquals(false, p.getCommentUseLocal()); + p.setCommentUseLocal(true); + assertEquals(true, p.getCommentUseLocal()); + + + /* + * ファイル - 変換動画 + */ + assertEquals("out", p.getOutputDir()); + p.setOutputDir("_out_"); + assertEquals("_out_", p.getOutputDir()); + +// p.save(new File("test/testdata/save.xml")); } } -- 2.11.0