diff --git a/java/java-tests/testData/fileStructure/hierarchy/AnonymousAsConstantInInterface.java b/java/java-tests/testData/fileStructure/hierarchy/AnonymousAsConstantInInterface.java new file mode 100644 index 000000000000..75ab7dd8bd12 --- /dev/null +++ b/java/java-tests/testData/fileStructure/hierarchy/AnonymousAsConstantInInterface.java @@ -0,0 +1,22 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +class AnonymousAsConstantInInterface { + int num = 5; + + void getAMethod() { + Buggy buggy = new Buggy(){}; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/fileStructure/hierarchy/AnonymousAsConstantInInterface.tree b/java/java-tests/testData/fileStructure/hierarchy/AnonymousAsConstantInInterface.tree new file mode 100644 index 000000000000..e37e58842943 --- /dev/null +++ b/java/java-tests/testData/fileStructure/hierarchy/AnonymousAsConstantInInterface.tree @@ -0,0 +1,23 @@ +-AnonymousAsConstantInInterface.java + -AnonymousAsConstantInInterface + -getAMethod():void + -$1 + getA():void + getA1():void + getA2():void + getA3():void + getA4():void + getA5():void + getA6():void + getA7():void + getA8():void + -DEFAULT:BuggyInterface = new BuggyInterface() {...} + -$1 + [getA1():void] + getA2():void + getA3():void + getA4():void + getA5():void + getA6():void + getA7():void + getA8():void \ No newline at end of file diff --git a/java/java-tests/testData/fileStructure/hierarchy/Buggy.java b/java/java-tests/testData/fileStructure/hierarchy/Buggy.java new file mode 100644 index 000000000000..2839a9364cfe --- /dev/null +++ b/java/java-tests/testData/fileStructure/hierarchy/Buggy.java @@ -0,0 +1,33 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import java.lang.Object; + +class Buggy extends Object implements BuggyInterface { + public void getA(){} + public void getB(){} + public void getC(){} + public void getD(){} + public void getE(){} + public void getF(){} + public void getA1(){} + public void getA2(){} + public void getA3(){} + public void getA4(){} + public void getA5(){} + public void getA6(){} + public void getA7(){} + public void getA8(){} +} \ No newline at end of file diff --git a/java/java-tests/testData/fileStructure/hierarchy/BuggyInterface.java b/java/java-tests/testData/fileStructure/hierarchy/BuggyInterface.java new file mode 100644 index 000000000000..fdf90d3070c9 --- /dev/null +++ b/java/java-tests/testData/fileStructure/hierarchy/BuggyInterface.java @@ -0,0 +1,38 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import java.lang.Override; + +interface BuggyInterface { + BuggyInterface DEFAULT = new BuggyInterface() { + public void getA1(){}; + public void getA2(){}; + public void getA3(){}; + public void getA4(){}; + public void getA5(){}; + public void getA6(){}; + public void getA7(){}; + public void getA8(){}; + } + + void getA1(); + void getA2(); + void getA3(); + void getA4(); + void getA5(); + void getA6(); + void getA7(); + void getA8(); +} \ No newline at end of file diff --git a/java/java-tests/testData/fileStructure/hierarchy/Object.java b/java/java-tests/testData/fileStructure/hierarchy/Object.java new file mode 100644 index 000000000000..4a4d5b8bfe9e --- /dev/null +++ b/java/java-tests/testData/fileStructure/hierarchy/Object.java @@ -0,0 +1,42 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +public class Object { + private static native void registerNatives(); + + static {registerNatives();} + + public final native Class getClass(); + + public native int hashCode(); + + public boolean equals(Object obj) {return false;} + + protected native Object clone() throws CloneNotSupportedException; + + public String toString() {return null;} + + public final native void notify(); + + public final native void notifyAll(); + + public final native void wait(long timeout) throws InterruptedException; + + public final void wait(long timeout, int nanos) throws InterruptedException {} + + public final void wait() throws InterruptedException {} + + protected void finalize() throws Throwable { } +} \ No newline at end of file diff --git a/java/java-tests/testData/fileStructure/hierarchy/Simple.java b/java/java-tests/testData/fileStructure/hierarchy/Simple.java new file mode 100644 index 000000000000..bf98aa2e4adb --- /dev/null +++ b/java/java-tests/testData/fileStructure/hierarchy/Simple.java @@ -0,0 +1,20 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +class Simple extends Object { + void aaa(){} + void bbb(){} + void fff(){} +} \ No newline at end of file diff --git a/java/java-tests/testData/fileStructure/hierarchy/Simple.tree b/java/java-tests/testData/fileStructure/hierarchy/Simple.tree new file mode 100644 index 000000000000..c6167f58a0a7 --- /dev/null +++ b/java/java-tests/testData/fileStructure/hierarchy/Simple.tree @@ -0,0 +1,16 @@ +-Simple.java + -Simple + aaa():void + bbb():void + clone():Object + equals(Object):boolean + [fff():void] + finalize():void + getClass():Class + hashCode():int + notify():void + notifyAll():void + toString():String + wait():void + wait(long):void + wait(long, int):void diff --git a/java/java-tests/testSrc/com/intellij/ide/fileStructure/JavaFileStructureFilteringTest.java b/java/java-tests/testSrc/com/intellij/ide/fileStructure/JavaFileStructureFilteringTest.java index 59246c884bdf..d75a77632104 100644 --- a/java/java-tests/testSrc/com/intellij/ide/fileStructure/JavaFileStructureFilteringTest.java +++ b/java/java-tests/testSrc/com/intellij/ide/fileStructure/JavaFileStructureFilteringTest.java @@ -24,13 +24,13 @@ public class JavaFileStructureFilteringTest extends JavaFileStructureTestCase { return "filtering"; } - public void testSimple()throws Exception{checkTree("f");} - public void testReturnValue()throws Exception{checkTree("point");} - public void testAnonymousType()throws Exception{checkTree("point");} - public void testCamel()throws Exception{checkTree("sohe");} - public void testCamel2()throws Exception{checkTree("soHe");} - public void testSelectLeafFirst()throws Exception{checkTree("clear");} - public void testSelectLeafFirst2()throws Exception{checkTree("clear");} - public void testSelectLeafFirst3()throws Exception{checkTree("clear");} - public void testSelectLeafFirst4()throws Exception{checkTree("clear");} + public void testSimple() throws Exception {checkTree("f");} + public void testReturnValue() throws Exception {checkTree("point");} + public void testAnonymousType() throws Exception {checkTree("point");} + public void testCamel() throws Exception {checkTree("sohe");} + public void testCamel2() throws Exception {checkTree("soHe");} + public void testSelectLeafFirst() throws Exception {checkTree("clear");} + public void testSelectLeafFirst2() throws Exception {checkTree("clear");} + public void testSelectLeafFirst3() throws Exception {checkTree("clear");} + public void testSelectLeafFirst4() throws Exception {checkTree("clear");} } diff --git a/java/java-tests/testSrc/com/intellij/ide/fileStructure/JavaFileStructureHierarchyTest.java b/java/java-tests/testSrc/com/intellij/ide/fileStructure/JavaFileStructureHierarchyTest.java new file mode 100644 index 000000000000..dd113e73a40c --- /dev/null +++ b/java/java-tests/testSrc/com/intellij/ide/fileStructure/JavaFileStructureHierarchyTest.java @@ -0,0 +1,36 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.ide.fileStructure; + +/** + * @author Konstantin Bulenkov + */ +public class JavaFileStructureHierarchyTest extends JavaFileStructureTestCase { + @Override + protected String getTestDataFolderName() { + return "hierarchy"; + } + + @Override + public void setUp() throws Exception { + super.setUp(); + myFixture.copyDirectoryToProject("", ""); + setShowParents(true); + } + + public void testSimple() throws Exception {checkTree();} + public void testAnonymousAsConstantInInterface() throws Exception {checkTree("getA");} +}