Skip to content

Commit 9f42bac

Browse files
committed
[TEST] custom lexer test & code cleanup
1 parent 0a845e7 commit 9f42bac

File tree

3 files changed

+33
-32
lines changed

3 files changed

+33
-32
lines changed

src/main/java/net/seesharpsoft/intellij/plugins/csv/CsvValueSeparator.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class CsvValueSeparator {
1717
public static final CsvValueSeparator TAB = new CsvValueSeparator("\t", "Tab (↹)", "TAB");
1818
public static final CsvValueSeparator COLON = new CsvValueSeparator(":", "Colon (:)", "COLON");
1919

20-
public static final CsvValueSeparator create(String name, String character) {
20+
public static CsvValueSeparator create(String name, String character) {
2121
if (name != null) {
2222
switch (name) {
2323
case "COMMA":
@@ -34,10 +34,14 @@ public static final CsvValueSeparator create(String name, String character) {
3434
break;
3535
}
3636
}
37+
return create(character);
38+
}
39+
40+
public static CsvValueSeparator create(String character) {
3741
return new CsvValueSeparator(character);
3842
}
3943

40-
public static final CsvValueSeparator[] values() {
44+
public static CsvValueSeparator[] values() {
4145
return new CsvValueSeparator[]{COMMA, SEMICOLON, PIPE, TAB, COLON};
4246
}
4347

src/main/java/net/seesharpsoft/intellij/plugins/csv/settings/CsvEditorSettings.java

Lines changed: 18 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ public class CsvEditorSettings implements PersistentStateComponent<CsvEditorSett
3030
public static final CsvEscapeCharacter ESCAPE_CHARACTER_DEFAULT = CsvEscapeCharacter.QUOTE;
3131
public static final CsvValueSeparator VALUE_SEPARATOR_DEFAULT = CsvValueSeparator.COMMA;
3232

33+
private static final CsvEditorSettings STATIC_INSTANCE = new CsvEditorSettings();
34+
3335
public enum EditorPrio {
3436
TEXT_FIRST,
3537
TABLE_FIRST,
@@ -39,21 +41,21 @@ public enum EditorPrio {
3941
public static final class OptionSet {
4042
public boolean CARET_ROW_SHOWN;
4143
public boolean USE_SOFT_WRAP;
42-
public boolean COLUMN_HIGHTLIGHTING;
43-
public boolean HIGHTLIGHT_TAB_SEPARATOR;
44-
public boolean SHOW_INFO_BALLOON;
45-
public String TAB_HIGHLIGHT_COLOR;
46-
public EditorPrio EDITOR_PRIO;
47-
public int TABLE_EDITOR_ROW_HEIGHT;
48-
public int TABLE_AUTO_MAX_COLUMN_WIDTH;
49-
public int TABLE_DEFAULT_COLUMN_WIDTH;
50-
public boolean TABLE_AUTO_COLUMN_WIDTH_ON_OPEN;
51-
public boolean TABLE_COLUMN_HIGHTLIGHTING;
52-
public boolean ZERO_BASED_COLUMN_NUMBERING;
53-
54-
public boolean SHOW_TABLE_EDITOR_INFO_PANEL;
55-
public boolean QUOTING_ENFORCED;
56-
public boolean FILE_END_LINE_BREAK;
44+
public boolean COLUMN_HIGHTLIGHTING = true;
45+
public boolean HIGHTLIGHT_TAB_SEPARATOR = true;
46+
public boolean SHOW_INFO_BALLOON = true;
47+
public String TAB_HIGHLIGHT_COLOR = "-7984";
48+
public EditorPrio EDITOR_PRIO = EditorPrio.TEXT_FIRST;
49+
public int TABLE_EDITOR_ROW_HEIGHT = TABLE_EDITOR_ROW_HEIGHT_DEFAULT;
50+
public int TABLE_AUTO_MAX_COLUMN_WIDTH = TABLE_AUTO_MAX_COLUMN_WIDTH_DEFAULT;
51+
public int TABLE_DEFAULT_COLUMN_WIDTH = TABLE_DEFAULT_COLUMN_WIDTH_DEFAULT;
52+
public boolean TABLE_AUTO_COLUMN_WIDTH_ON_OPEN = false;
53+
public boolean TABLE_COLUMN_HIGHTLIGHTING = true;
54+
public boolean ZERO_BASED_COLUMN_NUMBERING = false;
55+
56+
public boolean SHOW_TABLE_EDITOR_INFO_PANEL = true;
57+
public boolean QUOTING_ENFORCED = false;
58+
public boolean FILE_END_LINE_BREAK = true;
5759
public CsvEscapeCharacter DEFAULT_ESCAPE_CHARACTER = ESCAPE_CHARACTER_DEFAULT;
5860
public CsvValueSeparator DEFAULT_VALUE_SEPARATOR = VALUE_SEPARATOR_DEFAULT;
5961
public boolean KEEP_TRAILING_SPACES = false;
@@ -62,20 +64,6 @@ public OptionSet() {
6264
EditorSettingsExternalizable editorSettingsExternalizable = EditorSettingsExternalizable.getInstance();
6365
CARET_ROW_SHOWN = editorSettingsExternalizable == null ? true : editorSettingsExternalizable.isCaretRowShown();
6466
USE_SOFT_WRAP = editorSettingsExternalizable == null ? false : editorSettingsExternalizable.isUseSoftWraps();
65-
COLUMN_HIGHTLIGHTING = true;
66-
HIGHTLIGHT_TAB_SEPARATOR = true;
67-
SHOW_INFO_BALLOON = true;
68-
TAB_HIGHLIGHT_COLOR = "-7984";
69-
EDITOR_PRIO = EditorPrio.TEXT_FIRST;
70-
SHOW_TABLE_EDITOR_INFO_PANEL = true;
71-
TABLE_EDITOR_ROW_HEIGHT = TABLE_EDITOR_ROW_HEIGHT_DEFAULT;
72-
TABLE_AUTO_MAX_COLUMN_WIDTH = TABLE_AUTO_MAX_COLUMN_WIDTH_DEFAULT;
73-
TABLE_DEFAULT_COLUMN_WIDTH = TABLE_DEFAULT_COLUMN_WIDTH_DEFAULT;
74-
TABLE_AUTO_COLUMN_WIDTH_ON_OPEN = false;
75-
QUOTING_ENFORCED = false;
76-
TABLE_COLUMN_HIGHTLIGHTING = true;
77-
ZERO_BASED_COLUMN_NUMBERING = false;
78-
FILE_END_LINE_BREAK = true;
7967
}
8068
}
8169

@@ -87,7 +75,7 @@ public CsvEditorSettings() {
8775

8876
public static CsvEditorSettings getInstance() {
8977
CsvEditorSettings instance = ServiceManager.getService(CsvEditorSettings.class);
90-
return instance == null ? new CsvEditorSettings() : instance;
78+
return instance == null ? STATIC_INSTANCE : instance;
9179
}
9280

9381
public void addPropertyChangeListener(PropertyChangeListener listener) {

src/test/java/net/seesharpsoft/intellij/plugins/csv/parser/CsvParsingTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import com.intellij.testFramework.ParsingTestCase;
44
import net.seesharpsoft.intellij.plugins.csv.CsvParserDefinition;
5+
import net.seesharpsoft.intellij.plugins.csv.CsvValueSeparator;
6+
import net.seesharpsoft.intellij.plugins.csv.settings.CsvEditorSettings;
57

68
public class CsvParsingTest extends ParsingTestCase {
79

@@ -13,6 +15,13 @@ public void testParsingTestData() {
1315
doTest(true);
1416
}
1517

18+
public void testParsingTestDataWithCustomParser() {
19+
setName("ParsingTestData");
20+
CsvEditorSettings.getInstance().setDefaultValueSeparator(CsvValueSeparator.create(","));
21+
doTest(true);
22+
CsvEditorSettings.getInstance().setDefaultValueSeparator(CsvEditorSettings.VALUE_SEPARATOR_DEFAULT);
23+
}
24+
1625
@Override
1726
protected String getTestDataPath() {
1827
return "./src/test/resources/parser";

0 commit comments

Comments
 (0)