private void configure(boolean checkHighlighting, String testName) { if (checkHighlighting) { myFixture.testHighlighting(testName + ".go"); } else { myFixture.configureByFile(testName + ".go"); myFixture.doHighlighting(); } } }
private void doTestAddOnTheFly(boolean goOnTheFlyEnabled) { DaemonCodeAnalyzerSettings.getInstance().setImportHintEnabled(true); updateSettings(goOnTheFlyEnabled); String initial = "package a; func a() {\n fmt.Println() <caret> \n}"; myFixture.configureByText("a.go", initial); myFixture.doHighlighting(); myFixture.doHighlighting(); String after = "package a;\n\nimport \"fmt\"\n\nfunc a() {\n fmt.Println() \n}"; String result = goOnTheFlyEnabled ? after : initial; myFixture.checkResult(result); }
public void testInSamePackage() { myFixture.configureByText("a.go", "package foo; type MyType int; func createMyType() MyType { return MyType{}};"); myFixture.configureByText("b.go", "package foo; func _() { asd<caret>(createMyType());};"); myFixture.doHighlighting(); applySingleQuickFix(QUICK_FIX_NAME); myFixture.checkResult("package foo; func _() { asd(createMyType());}\nfunc asd(myType MyType) {\n\t<caret>\n};"); }
public void testUndo() { DaemonCodeAnalyzerSettings.getInstance().setImportHintEnabled(true); updateSettings(true); myFixture.configureByText("a.go", "package main\n\nfunc main() { <caret> }"); myFixture.type("fmt."); myFixture.doHighlighting(); myFixture.doHighlighting(); myFixture.checkResult("package main\n\nimport \"fmt\"\n\nfunc main() { fmt. }"); FileEditor editor = FileEditorManager.getInstance(myFixture.getProject()).getSelectedEditor(myFixture.getFile().getVirtualFile()); UndoManager.getInstance(myFixture.getProject()).undo(editor); myFixture.checkResult("package main\n\nfunc main() { <caret> }"); }
protected void doPerformanceTest(String filename, int highlightingPasses, double maxTimeMillis) throws IOException, InterruptedException { MinMaxValue minMax = new MinMaxValue(); //do one highlighting without counting it to start the plattform System.out.println("Starting..."); myFixture.configureByFile(filename); myFixture.doHighlighting(); // System.out.println("Attach ..."); // Thread.sleep(5000); for (int i = 1; i <= highlightingPasses; i++) { System.out.println(String.format("Highlighting %d/%d,", i, highlightingPasses)); myFixture.configureByFile(filename); long start = System.currentTimeMillis(); myFixture.doHighlighting(); minMax.add(System.currentTimeMillis() - start); System.out.println(String.format("Finished highlighting %d/%d, avg: %f ms, min: %d ms, max: %d ms", i, highlightingPasses, minMax.average(), minMax.min(), minMax.max())); } String message = String.format("Highlighting too slow. avg: %f ms, min: %d ms, max: %d ms", minMax.average(), minMax.min(), minMax.max()); Assert.assertTrue(message, maxTimeMillis >= minMax.min()); } }