From 49e5b950ce69c5d00fe1a43be024f7ec066ea306 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 24 Sep 2014 12:48:10 +0400 Subject: [PATCH] Workaround package part hash codes in tests on JetPositionManager --- .../positionManager/_DefaultPackage.kt | 2 +- .../positionManager/anonymousFunction.kt | 2 +- .../positionManager/anonymousNamedFunction.kt | 2 +- .../debugger/positionManager/classObject.kt | 2 +- .../positionManager/extensionFunction.kt | 2 +- .../positionManager/functionLiteral.kt | 2 +- .../positionManager/functionLiteralInVal.kt | 2 +- .../debugger/positionManager/innerClass.kt | 2 +- .../debugger/positionManager/localFunction.kt | 2 +- .../positionManager/multiFilePackage/a.kt | 2 +- .../positionManager/multiFilePackage/b.kt | 2 +- .../positionManager/multiFileSameName/1/a.kt | 2 +- .../positionManager/multiFileSameName/2/a.kt | 2 +- .../positionManager/multiFileSameName/3/a.kt | 2 +- .../positionManager/multiFileSameName/4/a.kt | 2 +- .../positionManager/objectExpression.kt | 2 +- .../debugger/positionManager/package.kt | 2 +- .../topLevelPropertyInitializer.kt | 2 +- .../testData/debugger/positionManager/trait.kt | 2 +- .../AbstractJetPositionManagerTest.java | 18 ++++++++---------- 20 files changed, 27 insertions(+), 29 deletions(-) diff --git a/idea/testData/debugger/positionManager/_DefaultPackage.kt b/idea/testData/debugger/positionManager/_DefaultPackage.kt index 427238f6ce1..81b2b0a7a9a 100644 --- a/idea/testData/debugger/positionManager/_DefaultPackage.kt +++ b/idea/testData/debugger/positionManager/_DefaultPackage.kt @@ -1,3 +1,3 @@ fun foo() { - "" // _DefaultPackage-_DefaultPackage- + "" // _DefaultPackage\$_DefaultPackage\$.+ } diff --git a/idea/testData/debugger/positionManager/anonymousFunction.kt b/idea/testData/debugger/positionManager/anonymousFunction.kt index c3e6af35ce6..51a532beba3 100644 --- a/idea/testData/debugger/positionManager/anonymousFunction.kt +++ b/idea/testData/debugger/positionManager/anonymousFunction.kt @@ -1,7 +1,7 @@ class A { fun foo() { { - "" // A$foo$1 + "" // A\$foo\$1 }() } } diff --git a/idea/testData/debugger/positionManager/anonymousNamedFunction.kt b/idea/testData/debugger/positionManager/anonymousNamedFunction.kt index 40665375cad..fdcd6f34b87 100644 --- a/idea/testData/debugger/positionManager/anonymousNamedFunction.kt +++ b/idea/testData/debugger/positionManager/anonymousNamedFunction.kt @@ -2,6 +2,6 @@ package insertInBlock fun foo() { val lambda = { - val a = 1 // insertInBlock/InsertInBlockPackage$foo$lambda$1 + val a = 1 // insertInBlock/InsertInBlockPackage\$anonymousNamedFunction\$.+\$foo\$lambda\$1 }() } diff --git a/idea/testData/debugger/positionManager/classObject.kt b/idea/testData/debugger/positionManager/classObject.kt index de31627f32c..1abe83d493d 100644 --- a/idea/testData/debugger/positionManager/classObject.kt +++ b/idea/testData/debugger/positionManager/classObject.kt @@ -1,7 +1,7 @@ class A { class object { fun foo() { - "" // A$object + "" // A\$object } } } diff --git a/idea/testData/debugger/positionManager/extensionFunction.kt b/idea/testData/debugger/positionManager/extensionFunction.kt index b1990db8939..90c70b99efa 100644 --- a/idea/testData/debugger/positionManager/extensionFunction.kt +++ b/idea/testData/debugger/positionManager/extensionFunction.kt @@ -4,5 +4,5 @@ class A { } fun A.foo() { - "" // a/APackage-extensionFunction- + "" // a/APackage\$extensionFunction\$.+ } diff --git a/idea/testData/debugger/positionManager/functionLiteral.kt b/idea/testData/debugger/positionManager/functionLiteral.kt index 47b38d18662..5851d88edd5 100644 --- a/idea/testData/debugger/positionManager/functionLiteral.kt +++ b/idea/testData/debugger/positionManager/functionLiteral.kt @@ -2,7 +2,7 @@ class A { fun foo() { { fun innerFoo() { - "" // A$foo$1$1 + "" // A\$foo\$1\$1 } innerFoo() }() diff --git a/idea/testData/debugger/positionManager/functionLiteralInVal.kt b/idea/testData/debugger/positionManager/functionLiteralInVal.kt index 1adb14b2d48..28a5a528d52 100644 --- a/idea/testData/debugger/positionManager/functionLiteralInVal.kt +++ b/idea/testData/debugger/positionManager/functionLiteralInVal.kt @@ -2,7 +2,7 @@ class A { fun foo() { val a = { fun innerFoo() { - val b = {} // A$foo$a$1$1 + val b = {} // A\$foo\$a\$1\$1 } innerFoo() }() diff --git a/idea/testData/debugger/positionManager/innerClass.kt b/idea/testData/debugger/positionManager/innerClass.kt index 3e0f6793b8c..dbe66ec7139 100644 --- a/idea/testData/debugger/positionManager/innerClass.kt +++ b/idea/testData/debugger/positionManager/innerClass.kt @@ -1,7 +1,7 @@ class A { class B { fun foo() { - "" // A$B + "" // A\$B } } } diff --git a/idea/testData/debugger/positionManager/localFunction.kt b/idea/testData/debugger/positionManager/localFunction.kt index 4f0480b9f64..a1278695717 100644 --- a/idea/testData/debugger/positionManager/localFunction.kt +++ b/idea/testData/debugger/positionManager/localFunction.kt @@ -2,7 +2,7 @@ package test fun foo(): String { fun bar(): String { - return "" // test/TestPackage$foo$1 + return "" // test/TestPackage\$localFunction\$.+\$foo\$1 } return bar() } diff --git a/idea/testData/debugger/positionManager/multiFilePackage/a.kt b/idea/testData/debugger/positionManager/multiFilePackage/a.kt index d03c5a7c981..346171351a5 100644 --- a/idea/testData/debugger/positionManager/multiFilePackage/a.kt +++ b/idea/testData/debugger/positionManager/multiFilePackage/a.kt @@ -1,5 +1,5 @@ package test fun foo() { - "" // test/TestPackage-a- + "" // test/TestPackage\$a\$.+ } diff --git a/idea/testData/debugger/positionManager/multiFilePackage/b.kt b/idea/testData/debugger/positionManager/multiFilePackage/b.kt index f983f0f96f8..df5b5f3d321 100644 --- a/idea/testData/debugger/positionManager/multiFilePackage/b.kt +++ b/idea/testData/debugger/positionManager/multiFilePackage/b.kt @@ -1,5 +1,5 @@ package test fun bar() { - foo(); // test/TestPackage-b- + foo(); // test/TestPackage\$b\$.+ } diff --git a/idea/testData/debugger/positionManager/multiFileSameName/1/a.kt b/idea/testData/debugger/positionManager/multiFileSameName/1/a.kt index 2ce00cc8896..8efe8dee3e4 100644 --- a/idea/testData/debugger/positionManager/multiFileSameName/1/a.kt +++ b/idea/testData/debugger/positionManager/multiFileSameName/1/a.kt @@ -1,5 +1,5 @@ package test fun foo() { - "" // test/TestPackage-a- + "" // test/TestPackage\$a\$.+ } diff --git a/idea/testData/debugger/positionManager/multiFileSameName/2/a.kt b/idea/testData/debugger/positionManager/multiFileSameName/2/a.kt index 6273f85834b..3cb6152505b 100644 --- a/idea/testData/debugger/positionManager/multiFileSameName/2/a.kt +++ b/idea/testData/debugger/positionManager/multiFileSameName/2/a.kt @@ -1,5 +1,5 @@ package test fun bar() { - "" // test/TestPackage-a- + "" // test/TestPackage\$a\$.+ } diff --git a/idea/testData/debugger/positionManager/multiFileSameName/3/a.kt b/idea/testData/debugger/positionManager/multiFileSameName/3/a.kt index 5c853affc77..2f83c4dc0fe 100644 --- a/idea/testData/debugger/positionManager/multiFileSameName/3/a.kt +++ b/idea/testData/debugger/positionManager/multiFileSameName/3/a.kt @@ -1,5 +1,5 @@ package test fun baz() { - "" // test/TestPackage-a- + "" // test/TestPackage\$a\$.+ } diff --git a/idea/testData/debugger/positionManager/multiFileSameName/4/a.kt b/idea/testData/debugger/positionManager/multiFileSameName/4/a.kt index 2fb6ce684b3..e1008a9e02d 100644 --- a/idea/testData/debugger/positionManager/multiFileSameName/4/a.kt +++ b/idea/testData/debugger/positionManager/multiFileSameName/4/a.kt @@ -1,5 +1,5 @@ package test fun quux() { - "" // test/TestPackage-a- + "" // test/TestPackage\$a\$.+ } diff --git a/idea/testData/debugger/positionManager/objectExpression.kt b/idea/testData/debugger/positionManager/objectExpression.kt index 9d1e6d8f6f9..7f00409e6ba 100644 --- a/idea/testData/debugger/positionManager/objectExpression.kt +++ b/idea/testData/debugger/positionManager/objectExpression.kt @@ -2,7 +2,7 @@ class A { fun foo() { object { fun bar() { - "" // A$foo$1 + "" // A\$foo\$1 } } } diff --git a/idea/testData/debugger/positionManager/package.kt b/idea/testData/debugger/positionManager/package.kt index 0c8eb48663f..903bb28e807 100644 --- a/idea/testData/debugger/positionManager/package.kt +++ b/idea/testData/debugger/positionManager/package.kt @@ -1,5 +1,5 @@ package test fun foo() { - "" // test/TestPackage-package + "" // test/TestPackage\$package\$.+ } diff --git a/idea/testData/debugger/positionManager/topLevelPropertyInitializer.kt b/idea/testData/debugger/positionManager/topLevelPropertyInitializer.kt index 606e4b9cc2c..dabbd949a51 100644 --- a/idea/testData/debugger/positionManager/topLevelPropertyInitializer.kt +++ b/idea/testData/debugger/positionManager/topLevelPropertyInitializer.kt @@ -1,3 +1,3 @@ package prop -val foo: Int = 5 // prop/PropPackage-topLevelPropertyInitializer +val foo: Int = 5 // prop/PropPackage\$topLevelPropertyInitializer\$.+ diff --git a/idea/testData/debugger/positionManager/trait.kt b/idea/testData/debugger/positionManager/trait.kt index 45ba749af88..a8df4a5355c 100644 --- a/idea/testData/debugger/positionManager/trait.kt +++ b/idea/testData/debugger/positionManager/trait.kt @@ -1,5 +1,5 @@ trait A { fun foo() { - "" // A$$TImpl + "" // A\$\$TImpl } } diff --git a/idea/tests/org/jetbrains/jet/plugin/debugger/AbstractJetPositionManagerTest.java b/idea/tests/org/jetbrains/jet/plugin/debugger/AbstractJetPositionManagerTest.java index e43fa75633e..cfa87856232 100644 --- a/idea/tests/org/jetbrains/jet/plugin/debugger/AbstractJetPositionManagerTest.java +++ b/idea/tests/org/jetbrains/jet/plugin/debugger/AbstractJetPositionManagerTest.java @@ -52,9 +52,9 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; public abstract class AbstractJetPositionManagerTest extends MultiFileTestCase { - // Breakpoint is given as a line comment on a specific line, containing the name of the class, where that line can be found. - // This pattern matches against these line comments and saves the class name in the first group - private static final Pattern BREAKPOINT_PATTERN = Pattern.compile("^.*//\\s*([a-zA-Z0-9._/$]*)\\s*$"); + // Breakpoint is given as a line comment on a specific line, containing the regexp to match the name of the class where that line + // can be found. This pattern matches against these line comments and saves the class name in the first group + private static final Pattern BREAKPOINT_PATTERN = Pattern.compile("^.*//\\s*(.+)\\s*$"); @NotNull @Override @@ -175,10 +175,8 @@ public abstract class AbstractJetPositionManagerTest extends MultiFileTestCase { assertNotNull(classes); assertEquals(1, classes.size()); ReferenceType type = classes.get(0); - if (!breakpoint.className.contains("$src$")) // don't want to deal with hashCodes in test - assertEquals(breakpoint.className, type.name()); - else - assertTrue(type.name().startsWith(breakpoint.className)); + assertTrue("Type name " + type.name() + " doesn't match " + breakpoint.classNameRegexp, + type.name().matches(breakpoint.classNameRegexp)); // JDI names are of form "package.Class$InnerClass" ReferenceType typeWithFqName = new MockReferenceType(type.name().replace('/', '.')); @@ -193,12 +191,12 @@ public abstract class AbstractJetPositionManagerTest extends MultiFileTestCase { private static class Breakpoint { private final JetFile file; private final int lineNumber; // 0-based - private final String className; + private final String classNameRegexp; - private Breakpoint(JetFile file, int lineNumber, String className) { + private Breakpoint(JetFile file, int lineNumber, String classNameRegexp) { this.file = file; this.lineNumber = lineNumber; - this.className = className; + this.classNameRegexp = classNameRegexp; } }