return jdk;
}
+ public static Sdk getMockJdkCE() {
+ File mockJdkCEPath = new File(PathManager.getHomePath(), "java/mockJDK");
+ if (mockJdkCEPath.exists()) {
+ return createMockJdk(mockJdkCEPath.getPath(), "java 1.5", getInstance());
+ }
+
+ mockJdkCEPath = new File(PathManager.getHomePath(), "community/java/mockJDK");
+ if (mockJdkCEPath.exists()) {
+ return createMockJdk(mockJdkCEPath.getPath(), "java 1.5", getInstance());
+ }
+
+ return getMockJdk("java 1.5");
+
+ }
+
public static Sdk getMockJdk(@NonNls String versionName) {
File mockJdkCEPath = new File(PathManager.getHomePath(), "java/mockJDK");
if (mockJdkCEPath.exists()) {
--- /dev/null
+package com.package1;
+
+public class Class1 {
+ private boolean myField1;
+ public boolean myField2;
+
+ public int getValue(){
+ return 0;
+ }
+
+ public class InnerClass{
+ public int myInnerClassField;
+ }
+
+}
--- /dev/null
+package com.package1;
+
+public class Class1 {
+
+ private String _myField2;
+
+
+ class Inner2{
+
+ }
+
+ int _myField1;
+
+ class Inner1{
+
+ }
+
+ private void __method() {
+
+ }
+
+}
--- /dev/null
+package com.package1;
+
+public class Class1 {
+
+ private String myField;
+
+ private void method() {
+
+ }
+
+
+}
--- /dev/null
+package com.package1;
+
+public class Class2 {
+}
+
+class Class3 {
+
+}
--- /dev/null
+package com.package1;
+
+public Class4 {
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="com.package1.Form1"/>
--- /dev/null
+package com.package1;
+
+public class Form1 {
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<form version="1" xmlns="http://www.intellij.com/uidesigner/form/"/>
\ No newline at end of file
--- /dev/null
+package com.package1;
+
+public class Class1 {
+}
--- /dev/null
+package com.package1;
+
+public class Class2 {
+}
+
+class Class3 {
+
+}
--- /dev/null
+package com.package1;
+
+public Class4 {
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="com.package1.Form1"/>
--- /dev/null
+package com.package1;
+
+public class Form1 {
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<form version="1" xmlns="http://www.intellij.com/uidesigner/form/"/>
\ No newline at end of file
--- /dev/null
+package com.package1;
+
+public class Class1 {
+}
--- /dev/null
+package com.package1;
+
+public class Class1 {
+}
--- /dev/null
+package com.package1;
+
+public class Class1 {
+
+ private String myField;
+
+ private void method() {
+
+ }
+
+
+}
--- /dev/null
+package com.package1;
+
+public class Class2 {
+}
+
+class Class3 {
+
+}
--- /dev/null
+package com.package1;
+
+public Class4 {
+}
--- /dev/null
+package com.package1;
+
+public class Form1 {
+}
--- /dev/null
+package com.package1;
+
+public class Class1 {
+ private boolean myField1;
+ public boolean myField2;
+
+ public int getValue(){
+ return 0;
+ }
+
+ public class InnerClass{
+ public int myInnerClassField;
+ }
+
+}
--- /dev/null
+package com.package1;
+
+public class Class2 {
+ private boolean myField1;
+ public boolean myField2;
+ public boolean myField3;
+ public boolean myField4;
+
+ public int getValue() {
+ return 0;
+ }
+
+ public class InnerClass1 {
+ public int myInnerClassField;
+
+ public class InnerClass12 {
+ public int myInnerClassField;
+
+ public class InnerClass13 {
+ public int myInnerClassField;
+
+ public class InnerClass14 {
+ public int myInnerClassField;
+
+ public class InnerClass15 {
+ public int myInnerClassField;
+ }
+ }
+ }
+ }
+ }
+
+ public class InnerClass2 {
+ public int myInnerClassField;
+
+ public class InnerClass22 {
+ public int myInnerClassField;
+
+ public class InnerClass23 {
+ public int myInnerClassField;
+
+ public class InnerClass24 {
+ public int myFieldToSelect;
+
+ public class InnerClass25 {
+ public int myInnerClassField;
+ }
+ }
+ }
+ }
+ }
+
+}
--- /dev/null
+package com.package1;
+
+public class Class1 {
+}
--- /dev/null
+package com.package1;
+
+public class Class2 {
+}
+
+class Class3 {
+
+}
--- /dev/null
+package com.package1;
+
+public Class4 {
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="com.package1.Form1"/>
--- /dev/null
+package com.package1;
+
+public class Form1 {
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<form version="1" xmlns="http://www.intellij.com/uidesigner/form/"/>
\ No newline at end of file
--- /dev/null
+package src.package1;
+
+public class JavaClass {
+
+ //todo: Class body
+ protected Object clone() throws CloneNotSupportedException {
+//todo: Method body
+ return super.clone();
+ }
+
+}
--- /dev/null
+package src.package1.package2;
+
+public class JavaClass {
+
+ //todo: Class body
+ protected Object clone() throws CloneNotSupportedException {
+//todo: Method body
+ return super.clone();
+ }
+
+}
--- /dev/null
+package src.package3;
+
+public class JavaClass {
+
+ //todo: Class body
+ protected Object clone() throws CloneNotSupportedException {
+//todo: Method body
+ return super.clone();
+ }
+
+}
--- /dev/null
+<tag>
+ <!--todo-->
+</tag>
\ No newline at end of file
--- /dev/null
+package src.package1.package2;
+
+public class JavaClass {
+
+ //todo: Class body
+ protected Object clone() throws CloneNotSupportedException {
+//todo: Method body
+ return super.clone();
+ }
+
+}
--- /dev/null
+package com.package1;
+
+public class Class1 {
+}
--- /dev/null
+package com.package1;
+
+public class Class2 {
+}
+
+class Class3 {
+
+}
--- /dev/null
+package com.package1;
+
+public Class4 {
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="com.package1.Form1"/>
--- /dev/null
+package com.package1;
+
+public class Form1 {
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<form version="1" xmlns="http://www.intellij.com/uidesigner/form/"/>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!ELEMENT myplugin (helpset)>
+<!ATTLIST myplugin
+ url CDATA #IMPLIED
+ version CDATA #IMPLIED>
+<!ELEMENT helpset EMPTY>
+<!ATTLIST helpset
+ file CDATA #REQUIRED
+ path CDATA #REQUIRED>
+
+<!ENTITY % draft 'IGNORE'>
+ <!ENTITY % final 'INCLUDE'>
+
+<![%draft;[
+<!ELEMENT book (comments*, title, body, supplements?)>
+<!ELEMENT comments EMPTY>
+]]>
+<![%final;[
+<!ELEMENT book (price,title, body, supplements?)>
+<!ELEMENT price EMPTY>
+]]>
\ No newline at end of file
--- /dev/null
+<HEAD>
+<TITLE>CSS Example</TITLE>
+<STYLE TYPE="text/css">
+ H1 { font-size: x-large; color: red }
+ H2 { font-size: large; color: blue }
+</STYLE>
+<BODY>
+ <P>text
+ <BR>text2
+</BODY>
+</HEAD>
--- /dev/null
+<root name="IDEA_ZKM" default="all_dist" basedir=".">
+ <a attr1="value1" attr2="value2">
+ text
+ <a attr1="value1" attr2="value2">
+ text2
+ <text><![CDATA[Text with
+a new line]]></text>
+ <b/>
+ </a>
+ </a>
+</root>
--- /dev/null
+<!ENTITY % HTMLlat1 PUBLIC
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ "xhtml-lat1-modified.ent">
+%HTMLlat1;
--- /dev/null
+<!DOCTYPE title
+ [
+<!ELEMENT title (#PCDATA | body)* >
+<!ELEMENT body EMPTY>
+<!ELEMENT supplements EMPTY>
+ ]>
+
+<title/>
\ No newline at end of file
--- /dev/null
+<!ENTITY nbsp " "> <!-- no-break space = non-breaking space,
+ U+00A0 ISOnum -->
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+
+<test>
+ <level1>
+ <level2>
+ <level3></level3>
+ </level2>
+ </level1>
+ <level1>
+ <level2>
+ <level3></level3>
+ </level2>
+ </level1>
+ <level1>
+ <level2>
+ <level3></level3>
+ </level2>
+ </level1>
+ <level1>
+ <level2>
+ <level3></level3>
+ </level2>
+ </level1>
+</test>
--- /dev/null
+package com.package1;
+
+public class Class1 {
+ public boolean myField1;
+ public boolean myField2;
+
+ public int getValue(){
+ return 0;
+ }
+}
--- /dev/null
+public class Class2 {
+ private int ab;
+ protected int z;
+ public void af(){}
+ public void zf(){}
+ public Class2(){}
+}
\ No newline at end of file
--- /dev/null
+package com.package1;
+
+public class Class2 {
+ private boolean myField1;
+ public boolean myField2;
+ public boolean myField3;
+ public boolean myField4;
+
+ public int getValue() {
+ return 0;
+ }
+
+ public class InnerClass1 {
+ public int myInnerClassField;
+
+ public class InnerClass12 {
+ public int myInnerClassField;
+
+ public class InnerClass13 {
+ public int myInnerClassField;
+
+ public class InnerClass14 {
+ public int myInnerClassField;
+
+ public class InnerClass15 {
+ public int myInnerClassField;
+ }
+ }
+ }
+ }
+ }
+
+ public class InnerClass2 {
+ public int myInnerClassField;
+
+ public class InnerClass22 {
+ public int myInnerClassField;
+
+ public class InnerClass23 {
+ public int myInnerClassField;
+
+ public class InnerClass24 {
+ public int myFieldToSelect;
+
+ public class InnerClass25 {
+ public int myInnerClassField;
+ }
+ }
+ }
+ }
+ }
+
+}
--- /dev/null
+public class Class2 {
+ private int __myPrivateFiield;
+ protected int _myProtectedField;
+ public int myPublicField;
+}
\ No newline at end of file
*/
package com.intellij.projectView;
+import com.intellij.JavaTestUtil;
import com.intellij.ide.SelectInTarget;
import com.intellij.ide.projectView.BaseProjectTreeBuilder;
import com.intellij.ide.projectView.ProjectView;
import com.intellij.ide.projectView.impl.nodes.PackageElementNode;
import com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode;
import com.intellij.ide.util.treeView.*;
+import com.intellij.openapi.projectRoots.Sdk;
+import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
import com.intellij.openapi.ui.Queryable;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.openapi.project.DumbAwareRunnable;
}
}
+
+ @Override
+ protected String getTestDataPath() {
+ return JavaTestUtil.getJavaTestDataPath();
+ }
+
+ @Override
+ protected Sdk getTestProjectJdk() {
+ return JavaSdkImpl.getMockJdkCE();
+ }
}
*/
package com.intellij.projectView;
+import com.intellij.JavaTestUtil;
import com.intellij.ide.structureView.impl.java.InheritedMembersFilter;
import com.intellij.ide.structureView.impl.java.PublicElementsFilter;
import com.intellij.ide.structureView.impl.java.VisibilitySorter;
import com.intellij.ide.structureView.newStructureView.StructureViewComponent;
+import com.intellij.openapi.projectRoots.Sdk;
+import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.openapi.fileEditor.FileEditor;
import com.intellij.openapi.fileEditor.FileEditorManager;
public void testJavaClassStructure() throws Exception {
dotest(new CheckAction() {
public void testClassStructure(StructureViewComponent structureViewComponent) {
- IdeaTestUtil.assertTreeEqual(structureViewComponent.getTree(), "-Class1.java\n" +
+ IdeaTestUtil.assertTreeEqual(structureViewComponent.getTree(),
+ "-Class1.java\n" +
" -Class1\n" +
" getValue():int\n" +
+ " getClass():Class<? extends Object>\n" +
" hashCode():int\n" +
- " finalize():void\n" +
+ " equals(Object):boolean\n" +
+ " clone():Object\n" +
+ " toString():String\n" +
" notify():void\n" +
" notifyAll():void\n" +
- " wait():void\n" +
" wait(long):void\n" +
" wait(long, int):void\n" +
- " getClass():Class\n" +
- " clone():Object\n" +
- " equals(Object):boolean\n" +
- " toString():String\n" +
+ " wait():void\n" +
+ " finalize():void\n" +
" myField1:boolean\n" +
" myField2:boolean\n");
" +InnerClass1\n" +
" +InnerClass2\n" +
" getValue():int\n" +
+ " getClass():Class<? extends Object>\n" +
" hashCode():int\n" +
- " finalize():void\n" +
+ " equals(Object):boolean\n" +
+ " clone():Object\n" +
+ " toString():String\n" +
" notify():void\n" +
" notifyAll():void\n" +
- " wait():void\n" +
" wait(long):void\n" +
" wait(long, int):void\n" +
- " getClass():Class\n" +
- " clone():Object\n" +
- " equals(Object):boolean\n" +
- " toString():String\n" +
+ " wait():void\n" +
+ " finalize():void\n" +
" myField1:boolean\n" +
" myField2:boolean\n" +
" myField3:boolean\n" +
}
}
+ @Override
+ protected String getTestDataPath() {
+ return JavaTestUtil.getJavaTestDataPath();
+ }
+
+ @Override
+ protected Sdk getTestProjectJdk() {
+ return JavaSdkImpl.getMockJdkCE();
+ }
+
}
" Class4.java\n");
assertStructureEqual("Project\n" +
" External Libraries\n" +
- " Library: < java 1.4 >\n" +
- " jsp-api.jar\n" +
+ " Library: < java 1.5 >\n" +
+ " annotations.jar\n" +
+ " classpath.index\n" +
" META-INF\n" +
" MANIFEST.MF\n" +
- " javax\n" +
- " servlet\n" +
- " jsp\n" +
- " ErrorData\n" +
- " HttpJspPage\n" +
- " JspContext\n" +
- " JspEngineInfo\n" +
- " JspException\n" +
- " JspFactory\n" +
- " JspPage\n" +
- " JspTagException\n"
+ " org\n" +
+ " intellij\n" +
+ " lang\n" +
+ " annotations\n" +
+ " Identifier\n" +
+ " Language\n" +
+ " Pattern\n" +
+ " PrintFormat\n" +
+ " PrintFormatPattern\n" +
+ " RegExp\n"
);
getProjectTreeStructure().setProviders();
assertStructureEqual("Project\n" +
" External Libraries\n" +
- " Library: < java 1.4 >\n" +
- " jsp-api.jar\n" +
+ " Library: < java 1.5 >\n" +
+ " annotations.jar\n" +
+ " classpath.index\n" +
" META-INF\n" +
" MANIFEST.MF\n" +
- " javax\n" +
- " servlet\n" +
- " jsp\n" +
- " el\n" +
- " ELException.class\n" +
- " ELParseException.class\n" +
- " Expression.class\n" +
- " ExpressionEvaluator.class\n" +
- " FunctionMapper.class\n" +
- " VariableResolver.class\n" +
- " resources\n");
+ " org\n" +
+ " intellij\n" +
+ " lang\n" +
+ " annotations\n" +
+ " Identifier.class\n" +
+ " Language.class\n" +
+ " Pattern.class\n" +
+ " PrintFormat.class\n" +
+ " PrintFormatPattern.class\n" +
+ " RegExp.class\n"
+);
}
public void testShowClassMembers() {
package com.intellij.projectView;
+import com.intellij.JavaTestUtil;
import com.intellij.ide.favoritesTreeView.FavoritesManager;
import com.intellij.ide.favoritesTreeView.FavoritesProjectViewPane;
import com.intellij.ide.projectView.ProjectView;
import com.intellij.ide.projectView.impl.AbstractProjectViewPane;
import com.intellij.ide.projectView.impl.ProjectViewImpl;
import com.intellij.ide.projectView.impl.ProjectViewPane;
+import com.intellij.openapi.projectRoots.Sdk;
+import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
import com.intellij.testFramework.TestSourceBasedTestCase;
public class ProjectViewSwitchingTest extends TestSourceBasedTestCase {
assertEquals(FavoritesProjectViewPane.ID, currentPane.getId());
assertEquals("yyyy", currentPane.getSubId());
}
+
+ @Override
+ protected String getTestDataPath() {
+ return JavaTestUtil.getJavaTestDataPath();
+ }
+
+ @Override
+ protected Sdk getTestProjectJdk() {
+ return JavaSdkImpl.getMockJdkCE();
+ }
+
}
*/
package com.intellij.projectView;
+import com.intellij.JavaTestUtil;
import com.intellij.ide.structureView.impl.java.InheritedMembersFilter;
import com.intellij.ide.structureView.newStructureView.StructureViewComponent;
+import com.intellij.openapi.projectRoots.Sdk;
+import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.command.CommandProcessor;
final StructureViewComponent structureViewComponent =
(StructureViewComponent)fileEditor.getStructureViewBuilder().createStructureView(fileEditor, myProject);
final Document document = PsiDocumentManager.getInstance(myProject).getDocument(psiClass.getContainingFile());
- IdeaTestUtil.assertTreeEqual(structureViewComponent.getTree(), "-Class1.java\n" + " -Class1\n" + " getValue():int\n" +
- " hashCode():int\n" + " finalize():void\n" + " notify():void\n" +
- " notifyAll():void\n" + " wait():void\n" + " wait(long):void\n" +
- " wait(long, int):void\n" + " getClass():Class\n" +
- " clone():Object\n" + " equals(Object):boolean\n" +
- " toString():String\n" + " myField1:boolean\n" +
- " myField2:boolean\n");
+ IdeaTestUtil.assertTreeEqual(structureViewComponent.getTree(),
+ "-Class1.java\n" +
+ " -Class1\n" +
+ " getValue():int\n" +
+ " getClass():Class<? extends Object>\n" +
+ " hashCode():int\n" +
+ " equals(Object):boolean\n" +
+ " clone():Object\n" +
+ " toString():String\n" +
+ " notify():void\n" +
+ " notifyAll():void\n" +
+ " wait(long):void\n" +
+ " wait(long, int):void\n" +
+ " wait():void\n" +
+ " finalize():void\n" +
+ " myField1:boolean\n" +
+ " myField2:boolean\n");
CommandProcessor.getInstance().executeCommand(myProject, new Runnable() {
public void run() {
IdeaTestUtil.assertTreeEqual(structureViewComponent.getTree(), "-Class1.java\n" +
" -Class1\n" + " getValue():int\n" +
+ " getClass():Class<? extends Object>\n" +
" hashCode():int\n" +
- " finalize():void\n" +
+ " equals(Object):boolean\n" +
+ " clone():Object\n" +
+ " toString():String\n" +
" notify():void\n" +
" notifyAll():void\n" +
- " wait():void\n" +
" wait(long):void\n" +
" wait(long, int):void\n" +
- " getClass():Class\n" +
- " clone():Object\n" +
- " equals(Object):boolean\n" +
- " toString():String\n" +
+ " wait():void\n" +
+ " finalize():void\n" +
" myField1:boolean\n" +
" myField2:boolean\n" +
" myNewField:boolean = false\n");
}
}
+
+ @Override
+ protected String getTestDataPath() {
+ return JavaTestUtil.getJavaTestDataPath();
+ }
+
+ @Override
+ protected Sdk getTestProjectJdk() {
+ return JavaSdkImpl.getMockJdkCE();
+ }
+
}
import com.intellij.lang.ASTNode;
import com.intellij.lang.Language;
import com.intellij.openapi.fileTypes.FileType;
+import com.intellij.openapi.ui.Queryable;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.*;
import org.jetbrains.annotations.Nullable;
import java.io.IOException;
+import java.util.Map;
-public class PsiBinaryFileImpl extends PsiElementBase implements PsiBinaryFile, Cloneable {
+public class PsiBinaryFileImpl extends PsiElementBase implements PsiBinaryFile, Cloneable, Queryable {
private final PsiManagerImpl myManager;
private String myName; // for myFile == null only
private byte[] myContents; // for myFile == null only
public PsiElement getContext() {
return FileContextUtil.getFileContext(this);
}
+
+ public void putInfo(Map<String, String> info) {
+ info.put("fileName", getName());
+ info.put("fileType", getFileType().getName());
+ }
}
<orderEntry type="module" module-name="idea-ui" />
<orderEntry type="module" module-name="testFramework-java" scope="TEST" />
<orderEntry type="module" module-name="java-impl" />
+ <orderEntry type="module" module-name="java-tests" />
</component>
<component name="copyright">
<Base>