@@ -0,0 +1,2056 @@
+/*%0A * Copyright 2000-2010 JetBrains s.r.o.%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A * http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0Apackage com.intellij.testFramework;%0A%0Aimport com.intellij.codeInsight.CodeInsightTestCase;%0Aimport com.intellij.ide.structureView.StructureViewBuilder;%0Aimport com.intellij.ide.structureView.newStructureView.StructureViewComponent;%0Aimport com.intellij.lang.LanguageStructureViewBuilder;%0Aimport com.intellij.openapi.fileEditor.FileEditor;%0Aimport com.intellij.openapi.fileEditor.FileEditorManager;%0Aimport com.intellij.openapi.util.Disposer;%0Aimport com.intellij.openapi.vfs.VirtualFile;%0A%0A%0Apublic abstract class StructureViewTestCase extends CodeInsightTestCase %7B%0A  protected interface Test %7B%0A    void test(StructureViewComponent component);%0A  %7D%0A%0A  protected void doTest(final Test test) %7B%0A    assert myFile != null : %22configure first%22;%0A%0A    final VirtualFile vFile = myFile.getVirtualFile();%0A    assert vFile != null : %22no virtual file for %22 + myFile;%0A%0A    final FileEditor fileEditor = FileEditorManager.getInstance(getProject()).getSelectedEditor(vFile);%0A    assert fileEditor != null : %22editor not opened for %22 + vFile;%0A%0A    final StructureViewBuilder builder = LanguageStructureViewBuilder.INSTANCE.getStructureViewBuilder(myFile);%0A    assert builder != null : %22no builder for %22 + myFile;%0A%0A    StructureViewComponent component = null;%0A    try %7B%0A      component = (StructureViewComponent)builder.createStructureView(fileEditor, myProject);%0A      test.test(component);%0A    %7D%0A    finally %7B%0A      if (component != null) Disposer.dispose(component);%0A    %7D%0A  %7D%0A%7D%0A

Structure view test case