Skip to content

Commit

Permalink
[TEST] extend & fix structure view test
Browse files Browse the repository at this point in the history
  • Loading branch information
Sommer committed May 9, 2019
1 parent 20cf72a commit 4406831
Showing 1 changed file with 96 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.intellij.ide.util.treeView.smartTree.TreeElement;
import com.intellij.navigation.ItemPresentation;
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
import net.seesharpsoft.intellij.plugins.csv.editor.CsvEditorSettingsExternalizable;

public class CsvStructureViewTest extends LightCodeInsightFixtureTestCase {

Expand All @@ -23,8 +24,9 @@ private void doCheckTreeElement(TreeElement element, Class expectedClazz, String
}
}

public void testStructureView() {
public void testStructureViewWithoutFileEndLineBreakSupport() {
myFixture.configureByFile("StructureViewTestData.csv");
CsvEditorSettingsExternalizable.getInstance().setFileEndLineBreak(false);
myFixture.testStructureView(structureViewComponent -> {
StructureViewTreeElement root = structureViewComponent.getTreeModel().getRoot();
doCheckTreeElement(root, CsvStructureViewElement.File.class, "FirstName, LastName\n" +
Expand Down Expand Up @@ -124,5 +126,98 @@ public void testStructureView() {
});
}

public void testStructureViewFileEndLineBreakSupport() {
myFixture.configureByFile("StructureViewTestData.csv");
CsvEditorSettingsExternalizable.getInstance().setFileEndLineBreak(true);
myFixture.testStructureView(structureViewComponent -> {
StructureViewTreeElement root = structureViewComponent.getTreeModel().getRoot();
doCheckTreeElement(root, CsvStructureViewElement.File.class, "FirstName, LastName\n" +
"Peter,Lustig,42\n" +
"Martin\n" +
",Fuchs\n", null);
assertEquals(3, root.getChildren().length);

TreeElement header = root.getChildren()[0];
doCheckTreeElement(
header,
CsvStructureViewElement.Header.class,
"FirstName",
"Header (3 entries)"
);

TreeElement field = header.getChildren()[0];
doCheckTreeElement(
field,
CsvStructureViewElement.Field.class,
"Peter",
"(1)"
);
field = header.getChildren()[1];
doCheckTreeElement(
field,
CsvStructureViewElement.Field.class,
"Martin",
"(2)"
);
field = header.getChildren()[2];
doCheckTreeElement(
field,
CsvStructureViewElement.Field.class,
"",
"(3)"
);

/**
* LastName header
*/
header = root.getChildren()[1];
doCheckTreeElement(
header,
CsvStructureViewElement.Header.class,
"LastName",
"Header (3 entries)"
);

field = header.getChildren()[0];
doCheckTreeElement(
field,
CsvStructureViewElement.Field.class,
"Lustig",
"(1)"
);
field = header.getChildren()[1];
doCheckTreeElement(
field,
CsvStructureViewElement.Field.class,
"<undefined>",
"(2)"
);
field = header.getChildren()[2];
doCheckTreeElement(
field,
CsvStructureViewElement.Field.class,
"Fuchs",
"(3)"
);

/**
* Empty header
*/
header = root.getChildren()[2];
doCheckTreeElement(
header,
CsvStructureViewElement.Header.class,
"<undefined>",
"Header (1 entries)"
);

field = header.getChildren()[0];
doCheckTreeElement(
field,
CsvStructureViewElement.Field.class,
"42",
"(1)"
);
});
}
}

0 comments on commit 4406831

Please sign in to comment.