Skip to content

Commit dd92ad1

Browse files
committed
[INTERNAL] Tests
1 parent fc9beb7 commit dd92ad1

File tree

5 files changed

+181
-2
lines changed

5 files changed

+181
-2
lines changed

src/main/java/net/seesharpsoft/intellij/plugins/csv/editor/CsvFileEditorProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ protected static boolean isCsvFile(VirtualFile file) {
2121

2222
@Override
2323
public String getEditorTypeId() {
24-
return "csv-editor";
24+
return "csv-text-editor";
2525
}
2626

2727
@Override

src/test/java/net/seesharpsoft/intellij/plugins/csv/annotation/CsvAnnotatorTest.java renamed to src/test/java/net/seesharpsoft/intellij/plugins/csv/editor/CsvAnnotatorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package net.seesharpsoft.intellij.plugins.csv.annotation;
1+
package net.seesharpsoft.intellij.plugins.csv.editor;
22

33
import com.intellij.codeInsight.daemon.impl.HighlightInfo;
44
import com.intellij.codeInsight.daemon.impl.HighlightInfoType;
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
package net.seesharpsoft.intellij.plugins.csv.editor;
2+
3+
import com.intellij.openapi.options.ConfigurationException;
4+
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
5+
6+
import java.awt.*;
7+
8+
public class CsvEditorSettingsPanelTest extends LightCodeInsightFixtureTestCase {
9+
10+
@Override
11+
protected String getTestDataPath() {
12+
return "./src/test/resources/editor";
13+
}
14+
15+
@Override
16+
protected void setUp() throws Exception {
17+
super.setUp();
18+
}
19+
20+
public void testId() {
21+
CsvEditorSettingsPanel editorSettingsPanel = new CsvEditorSettingsPanel();
22+
23+
assertEquals("Csv.Editor.Settings", editorSettingsPanel.getId());
24+
25+
editorSettingsPanel.disposeUIResources();
26+
}
27+
28+
public void testDisplayName() {
29+
CsvEditorSettingsPanel editorSettingsPanel = new CsvEditorSettingsPanel();
30+
31+
assertEquals("CSV/TSV Editor Settings", editorSettingsPanel.getDisplayName());
32+
33+
editorSettingsPanel.disposeUIResources();
34+
}
35+
36+
public void testComponent() {
37+
CsvEditorSettingsPanel editorSettingsPanel = new CsvEditorSettingsPanel();
38+
39+
assertNotNull(editorSettingsPanel.createComponent());
40+
41+
editorSettingsPanel.disposeUIResources();
42+
}
43+
44+
public void testResetAndModified() throws ConfigurationException {
45+
CsvEditorSettingsPanel editorSettingsPanel = new CsvEditorSettingsPanel();
46+
47+
CsvEditorSettingsExternalizable csvEditorSettingsExternalizable = CsvEditorSettingsExternalizable.getInstance();
48+
csvEditorSettingsExternalizable.setCaretRowShown(false);
49+
csvEditorSettingsExternalizable.setUseSoftWraps(true);
50+
csvEditorSettingsExternalizable.setColumnHighlightingEnabled(true);
51+
csvEditorSettingsExternalizable.setHighlightTabSeparator(false);
52+
csvEditorSettingsExternalizable.setTabHighlightColor(Color.BLACK);
53+
54+
assertEquals(true, editorSettingsPanel.isModified());
55+
56+
editorSettingsPanel.reset();
57+
58+
assertEquals(false, editorSettingsPanel.isModified());
59+
assertEquals(false, csvEditorSettingsExternalizable.isCaretRowShown());
60+
assertEquals(true, csvEditorSettingsExternalizable.isUseSoftWraps());
61+
assertEquals(true, csvEditorSettingsExternalizable.isColumnHighlightingEnabled());
62+
assertEquals(false, csvEditorSettingsExternalizable.isHighlightTabSeparator());
63+
assertEquals(Color.BLACK, csvEditorSettingsExternalizable.getTabHighlightColor());
64+
65+
editorSettingsPanel.disposeUIResources();
66+
}
67+
68+
public void testApply() throws ConfigurationException {
69+
CsvEditorSettingsPanel editorSettingsPanel = new CsvEditorSettingsPanel();
70+
71+
CsvEditorSettingsExternalizable csvEditorSettingsExternalizable = CsvEditorSettingsExternalizable.getInstance();
72+
csvEditorSettingsExternalizable.loadState(new CsvEditorSettingsExternalizable.OptionSet());
73+
editorSettingsPanel.reset();
74+
csvEditorSettingsExternalizable.setCaretRowShown(false);
75+
csvEditorSettingsExternalizable.setUseSoftWraps(true);
76+
csvEditorSettingsExternalizable.setColumnHighlightingEnabled(true);
77+
csvEditorSettingsExternalizable.setHighlightTabSeparator(false);
78+
csvEditorSettingsExternalizable.setTabHighlightColor(Color.BLACK);
79+
80+
editorSettingsPanel.apply();
81+
82+
CsvEditorSettingsExternalizable.OptionSet freshOptionSet = new CsvEditorSettingsExternalizable.OptionSet();
83+
84+
assertEquals(false, editorSettingsPanel.isModified());
85+
assertEquals(freshOptionSet.CARET_ROW_SHOWN, csvEditorSettingsExternalizable.isCaretRowShown());
86+
assertEquals(freshOptionSet.USE_SOFT_WRAP, csvEditorSettingsExternalizable.isUseSoftWraps());
87+
assertEquals(freshOptionSet.COLUMN_HIGHTLIGHTING, csvEditorSettingsExternalizable.isColumnHighlightingEnabled());
88+
assertEquals(freshOptionSet.HIGHTLIGHT_TAB_SEPARATOR, csvEditorSettingsExternalizable.isHighlightTabSeparator());
89+
assertEquals(freshOptionSet.TAB_HIGHLIGHT_COLOR, "" + csvEditorSettingsExternalizable.getTabHighlightColor().getRGB());
90+
91+
editorSettingsPanel.disposeUIResources();
92+
}
93+
94+
}
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
package net.seesharpsoft.intellij.plugins.csv.editor;
2+
3+
import com.intellij.openapi.editor.EditorSettings;
4+
import com.intellij.openapi.fileEditor.FileEditor;
5+
import com.intellij.openapi.fileEditor.FileEditorPolicy;
6+
import com.intellij.openapi.fileEditor.FileEditorProvider;
7+
import com.intellij.openapi.fileEditor.TextEditor;
8+
import com.intellij.openapi.fileEditor.ex.FileEditorProviderManager;
9+
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
10+
11+
public class CsvFileEditorTest extends LightCodeInsightFixtureTestCase {
12+
13+
@Override
14+
protected String getTestDataPath() {
15+
return "./src/test/resources/editor";
16+
}
17+
18+
@Override
19+
protected void setUp() throws Exception {
20+
super.setUp();
21+
}
22+
23+
public void testCsvFileEditorProviderIsAvailableAndHasCorrectNameAndPolicy() {
24+
myFixture.configureByFiles("AnyFile.csv");
25+
26+
FileEditorProvider[] fileEditorProviders = FileEditorProviderManager.getInstance().getProviders(myFixture.getProject(), myFixture.getFile().getVirtualFile());
27+
assertEquals(1, fileEditorProviders.length);
28+
assertInstanceOf(fileEditorProviders[0], CsvFileEditorProvider.class);
29+
30+
FileEditorProvider fileEditorProvider = fileEditorProviders[0];
31+
assertEquals("csv-text-editor", fileEditorProvider.getEditorTypeId());
32+
assertEquals(FileEditorPolicy.HIDE_DEFAULT_EDITOR, fileEditorProvider.getPolicy());
33+
}
34+
35+
private void disposeTextEditor(FileEditor fileEditor) {
36+
FileEditorProvider[] fileEditorProviders = FileEditorProviderManager.getInstance().getProviders(myFixture.getProject(), myFixture.getFile().getVirtualFile());
37+
fileEditorProviders[0].disposeEditor(fileEditor);
38+
}
39+
40+
public void testCsvEditorIsTextEditorWithInitialCsvEditorSettings() {
41+
myFixture.configureByFiles("AnyFile.csv");
42+
43+
FileEditorProvider[] fileEditorProviders = FileEditorProviderManager.getInstance().getProviders(myFixture.getProject(), myFixture.getFile().getVirtualFile());
44+
FileEditor fileEditor = fileEditorProviders[0].createEditor(myFixture.getProject(), myFixture.getFile().getVirtualFile());
45+
assertInstanceOf(fileEditor, TextEditor.class);
46+
47+
TextEditor textEditor = (TextEditor)fileEditor;
48+
49+
CsvEditorSettingsExternalizable csvEditorSettingsExternalizable = CsvEditorSettingsExternalizable.getInstance();
50+
EditorSettings editorSettings = textEditor.getEditor().getSettings();
51+
assertEquals(csvEditorSettingsExternalizable.isCaretRowShown(), editorSettings.isCaretRowShown());
52+
assertEquals(csvEditorSettingsExternalizable.isUseSoftWraps(), editorSettings.isUseSoftWraps());
53+
54+
disposeTextEditor(textEditor);
55+
}
56+
57+
private TextEditor getCurrentTextEditor() {
58+
FileEditorProvider[] fileEditorProviders = FileEditorProviderManager.getInstance().getProviders(myFixture.getProject(), myFixture.getFile().getVirtualFile());
59+
return (TextEditor)fileEditorProviders[0].createEditor(myFixture.getProject(), myFixture.getFile().getVirtualFile());
60+
}
61+
62+
public void testCsvEditorSettingsAreApplied() {
63+
myFixture.configureByFiles("AnyFile.csv");
64+
65+
CsvEditorSettingsExternalizable csvEditorSettingsExternalizable = CsvEditorSettingsExternalizable.getInstance();
66+
csvEditorSettingsExternalizable.setCaretRowShown(false);
67+
csvEditorSettingsExternalizable.setUseSoftWraps(true);
68+
69+
TextEditor textEditor = getCurrentTextEditor();
70+
71+
EditorSettings editorSettings = textEditor.getEditor().getSettings();
72+
assertEquals(csvEditorSettingsExternalizable.isCaretRowShown(), editorSettings.isCaretRowShown());
73+
assertEquals(csvEditorSettingsExternalizable.isUseSoftWraps(), editorSettings.isUseSoftWraps());
74+
75+
disposeTextEditor(textEditor);
76+
}
77+
78+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
1,"Eldon Base for stackable storage shelf, platinum", Muhammed MacIntyre ,3,-213.25 , 38.94
2+
2 ," 1.7 Cubic Foot Compact ""Cube"" Office Refrigerators",Barry French, 293,457.81,208.16
3+
4+
3,"Cardinal Slant-D® Ring Binder, Heavy Gauge Vinyl ",Barry French, 293 ,46.71 ,8.69
5+
4 , R380 ,Clay Rozendal,483, 1198.97,195.99
6+
3.1
7+
5 ,Holmes HEPA Air Purifier,Carlos Soltero,515,30.94,21.78

0 commit comments

Comments
 (0)