From 45f01528e322b95016e5042a97ebc478e799bd80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Kubitz?= Date: Thu, 9 Nov 2023 13:14:01 +0100 Subject: [PATCH] [test] remove outdated latestBREE project --- .../compiler/regression/TextBlockTest.java | 87 +- org.eclipse.jdt.tests.latestBREE/.classpath | 15 - org.eclipse.jdt.tests.latestBREE/.project | 28 - .../org.eclipse.core.resources.prefs | 3 - .../.settings/org.eclipse.jdt.core.prefs | 115 -- .../META-INF/MANIFEST.MF | 21 - .../build.properties | 4 - org.eclipse.jdt.tests.latestBREE/pom.xml | 109 -- .../compiler/regression/latest/TestAll.java | 34 - .../regression/latest/TextBlockTest.java | 1398 -------------- .../core/tests/model/CompletionTests13.java | 1601 ----------------- .../jdt/tests/latestbree/Activator.java | 22 - org.eclipse.jdt.tests.latestBREE/test.xml | 68 - 13 files changed, 73 insertions(+), 3432 deletions(-) delete mode 100644 org.eclipse.jdt.tests.latestBREE/.classpath delete mode 100644 org.eclipse.jdt.tests.latestBREE/.project delete mode 100644 org.eclipse.jdt.tests.latestBREE/.settings/org.eclipse.core.resources.prefs delete mode 100644 org.eclipse.jdt.tests.latestBREE/.settings/org.eclipse.jdt.core.prefs delete mode 100644 org.eclipse.jdt.tests.latestBREE/META-INF/MANIFEST.MF delete mode 100644 org.eclipse.jdt.tests.latestBREE/build.properties delete mode 100644 org.eclipse.jdt.tests.latestBREE/pom.xml delete mode 100644 org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/core/tests/compiler/regression/latest/TestAll.java delete mode 100644 org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/core/tests/compiler/regression/latest/TextBlockTest.java delete mode 100644 org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/core/tests/model/CompletionTests13.java delete mode 100644 org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/tests/latestbree/Activator.java delete mode 100644 org.eclipse.jdt.tests.latestBREE/test.xml diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TextBlockTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TextBlockTest.java index 5588b14d1cb..95dda688251 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TextBlockTest.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TextBlockTest.java @@ -19,22 +19,8 @@ import junit.framework.Test; -/** - * This is almost a copy of the one in org.eclipse.jdt.tests.latestBREE. - * The other one also includes tests that are coded using the latest language - * features and API. However, the bundle is not yet setup to run with the build - * hence this is a temporary arrangement to keep the tests being run. The recommended - * strategy is to keep this one updated and when the time comes, move this over - * to the other bundle after synch-up of tests from both. - * @author jay - */ public class TextBlockTest extends AbstractRegressionTest { - static { -// TESTS_NUMBERS = new int [] { 40 }; -// TESTS_NAMES = new String[] { "testCompliances_13" }; - } - public static Class testClass() { return TextBlockTest.class; } @@ -1617,4 +1603,77 @@ public void testBug578649_2() { "123\b45", getCompilerOptions()); } + + + /* + * positive - html code with indentation with empty lines + * output compared with String API + */ + public void test016b() { + String text = "\n" + + " \n" + + "

Hello, world

\n" + + " \n" + + " "; + runConformTest( + new String[] { + "X.java", + "public class X {\n" + + " static String html = \"\"\"\n" + + text + "\\n" + + "\"\"\";\n" + + " public static void main(String[] args) {\n" + + " System.out.println(html);\n" + + " }\n" + + "}\n" + }, + text.stripIndent().translateEscapes(), + null, + new String[] {"--enable-preview"}); + + } + /* + * positive - escaped '\', compare with String::translateEscapes + */ + public void test022() { + String text = "abc\\\\def"; + runConformTest( + new String[] { + "X.java", + "public class X {\n" + + " public static String textb = \"\"\"\n" + + text + + "\"\"\";\n" + + " public static void main(String[] args) {\n" + + " System.out.print(textb);\n" + + " }\n" + + "}\n" + }, + text.translateEscapes(), + null, + new String[] {"--enable-preview"}); + } + /* + * positive - escaped """, compare output with + * String::translateEscapes + * String::stripIndent + */ + public void test023() { + String text = "abc\\\"\"\"def\" "; + runConformTest( + new String[] { + "X.java", + "public class X {\n" + + " public static String textb = \"\"\"\n" + + text + + "\"\"\";\n" + + " public static void main(String[] args) {\n" + + " System.out.println(textb);\n" + + " }\n" + + "}\n" + }, + text.translateEscapes().stripIndent(), + null, + new String[] {"--enable-preview"}); + } } diff --git a/org.eclipse.jdt.tests.latestBREE/.classpath b/org.eclipse.jdt.tests.latestBREE/.classpath deleted file mode 100644 index a0ffe6ed8dc..00000000000 --- a/org.eclipse.jdt.tests.latestBREE/.classpath +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/org.eclipse.jdt.tests.latestBREE/.project b/org.eclipse.jdt.tests.latestBREE/.project deleted file mode 100644 index 55a5e828010..00000000000 --- a/org.eclipse.jdt.tests.latestBREE/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.eclipse.jdt.tests.latestBREE - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/org.eclipse.jdt.tests.latestBREE/.settings/org.eclipse.core.resources.prefs b/org.eclipse.jdt.tests.latestBREE/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index 22e9eaec5a4..00000000000 --- a/org.eclipse.jdt.tests.latestBREE/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -encoding//src/org/eclipse/jdt/core/tests/compiler/regression/latest/TextBlockTest.java=UTF-8 -encoding/=UTF-8 diff --git a/org.eclipse.jdt.tests.latestBREE/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.jdt.tests.latestBREE/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 7e69c71939d..00000000000 --- a/org.eclipse.jdt.tests.latestBREE/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,115 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullable.secondary= -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=15 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=15 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.APILeak=warning -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore -org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore -org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning -org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore -org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning -org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled -org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.release=enabled -org.eclipse.jdt.core.compiler.source=15 diff --git a/org.eclipse.jdt.tests.latestBREE/META-INF/MANIFEST.MF b/org.eclipse.jdt.tests.latestBREE/META-INF/MANIFEST.MF deleted file mode 100644 index 085cb61dd10..00000000000 --- a/org.eclipse.jdt.tests.latestBREE/META-INF/MANIFEST.MF +++ /dev/null @@ -1,21 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: LatestBREE -Bundle-SymbolicName: org.eclipse.jdt.tests.latestBREE -Bundle-Version: 1.0.0.qualifier -Bundle-Activator: org.eclipse.jdt.tests.latestbree.Activator -Require-Bundle: org.junit;bundle-version="3.8.1", - org.eclipse.jdt.debug;bundle-version="[3.2.0,4.0.0)", - org.eclipse.jdt.core;bundle-version="[3.36.0,4.0.0)", - org.eclipse.core.runtime;bundle-version="[3.29.0,4.0.0)", - org.eclipse.test.performance;bundle-version="[3.10.0,4.0.0)", - org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)", - org.eclipse.jdt.annotation;bundle-version="[1.1.0,2.0.0)";resolution:=optional, - org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional, - org.eclipse.jdt.core.tests.model;bundle-version="[3.10.0,4.0.0)", - org.eclipse.jdt.core.tests.compiler;bundle-version="[3.10.0,4.0.0)" -Bundle-RequiredExecutionEnvironment: JavaSE-15 -Automatic-Module-Name: org.eclipse.jdt.tests.latestBREE -Bundle-ActivationPolicy: lazy -Export-Package: org.eclipse.jdt.core.tests.compiler.regression.latest, - org.eclipse.jdt.tests.latestbree diff --git a/org.eclipse.jdt.tests.latestBREE/build.properties b/org.eclipse.jdt.tests.latestBREE/build.properties deleted file mode 100644 index 34d2e4d2dad..00000000000 --- a/org.eclipse.jdt.tests.latestBREE/build.properties +++ /dev/null @@ -1,4 +0,0 @@ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - . diff --git a/org.eclipse.jdt.tests.latestBREE/pom.xml b/org.eclipse.jdt.tests.latestBREE/pom.xml deleted file mode 100644 index 5f8606b7e20..00000000000 --- a/org.eclipse.jdt.tests.latestBREE/pom.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - 4.0.0 - - tests-pom - org.eclipse.jdt - 4.13.0-SNAPSHOT - ../tests-pom/ - - org.eclipse.jdt.tests.latestBREE - 1.0.0-SNAPSHOT - eclipse-test-plugin - - - true - - - - - - org.eclipse.tycho - tycho-surefire-plugin - - - org/eclipse/jdt/core/tests/compiler/regression//latest/TestAll.class - - ${tycho.surefire.argLine} - - - - - - - - test-on-javase-13 - - - - org.apache.maven.plugins - maven-toolchains-plugin - - - - JavaSE-13 - - - - - - - - --add-modules ALL-SYSTEM -Dcompliance=1.4,1.7,1.8,13 - - - - test-on-javase-14 - - - - org.apache.maven.plugins - maven-toolchains-plugin - - - - JavaSE-14 - - - - - - - - --add-modules ALL-SYSTEM -Dcompliance=1.4,1.7,1.8,13,14 - - - - test-on-javase-15 - - - - org.apache.maven.plugins - maven-toolchains-plugin - - - - JavaSE-15 - - - - - - - - --add-modules ALL-SYSTEM -Dcompliance=1.4,1.7,1.8,13,14,15 - - - - - diff --git a/org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/core/tests/compiler/regression/latest/TestAll.java b/org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/core/tests/compiler/regression/latest/TestAll.java deleted file mode 100644 index cdf4712cb7a..00000000000 --- a/org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/core/tests/compiler/regression/latest/TestAll.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.eclipse.jdt.core.tests.compiler.regression.latest; - -import java.util.ArrayList; - -import org.eclipse.jdt.core.tests.junit.extension.TestCase; -import org.eclipse.jdt.core.tests.model.CompletionTests13; -import org.eclipse.jdt.core.tests.util.AbstractCompilerTest; -import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants; - -import junit.framework.Test; -import junit.framework.TestSuite; - -@SuppressWarnings({ "unchecked", "rawtypes" }) -public class TestAll extends junit.framework.TestCase { - -public TestAll(String testName) { - super(testName); -} -public static Test suite() { - - // Common test suites - ArrayList standardTests = new ArrayList(); - standardTests.add(TextBlockTest.class); - standardTests.add(CompletionTests13.class); - TestSuite all = new TestSuite(TestAll.class.getName()); - int possibleComplianceLevels = AbstractCompilerTest.getPossibleComplianceLevels(); - if ((possibleComplianceLevels & AbstractCompilerTest.F_13) != 0) { - ArrayList tests_13 = (ArrayList)standardTests.clone(); - TestCase.resetForgottenFilters(tests_13); - all.addTest(AbstractCompilerTest.buildComplianceTestSuite(ClassFileConstants.getComplianceLevelForJavaVersion(ClassFileConstants.MAJOR_VERSION_13), tests_13)); - } - return all; -} -} diff --git a/org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/core/tests/compiler/regression/latest/TextBlockTest.java b/org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/core/tests/compiler/regression/latest/TextBlockTest.java deleted file mode 100644 index c7560b3466c..00000000000 --- a/org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/core/tests/compiler/regression/latest/TextBlockTest.java +++ /dev/null @@ -1,1398 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2019, 2020 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.jdt.core.tests.compiler.regression.latest; - -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest; -import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; - -import junit.framework.Test; - -public class TextBlockTest extends AbstractRegressionTest { - - static { -// TESTS_NUMBERS = new int [] { 40 }; -// TESTS_NAMES = new String[] { "testCompliances_13" }; - } - - public static Class testClass() { - return TextBlockTest.class; - } - public static Test suite() { - return buildMinimalComplianceTestSuite(testClass(), F_14); - } - public TextBlockTest(String testName){ - super(testName); - } - protected Map getCompilerOptions() { - return getCompilerOptions(true); - } - // Enables the tests to run individually - protected Map getCompilerOptions(boolean previewFlag) { - Map defaultOptions = super.getCompilerOptions(); - defaultOptions.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_14); - defaultOptions.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_14); - defaultOptions.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_14); - defaultOptions.put(CompilerOptions.OPTION_EnablePreviews, previewFlag ? CompilerOptions.ENABLED : CompilerOptions.DISABLED); - defaultOptions.put(CompilerOptions.OPTION_ReportPreviewFeatures, CompilerOptions.IGNORE); - return defaultOptions; - } - protected void runConformTest(String[] testFiles, String expectedOutput, Map customOptions, String[] vmArguments) { - runConformTest(testFiles, expectedOutput, customOptions, vmArguments, new JavacTestOptions("-source 14 --enable-preview")); - } - public void test001() { - runNegativeTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(textb);\n" + - " }\n" + - "}\n" - }, - "----------\n" + - "1. ERROR in X.java (at line 2)\n" + - " public static String textb = \"\"\"\"\"\";\n" + - " ^^\n" + - "Syntax error on token \"\"\"\", invalid AssignmentOperator\n" + - "----------\n"); - } - public void test002() { - runNegativeTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\" \"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(textb);\n" + - " }\n" + - "}\n" - }, - "----------\n" + - "1. ERROR in X.java (at line 2)\n" + - " public static String textb = \"\"\" \"\"\";\n" + - " ^^^\n" + - "Syntax error on token \"\" \"\", invalid AssignmentOperator\n" + - "----------\n"); - } - public void test003() { - runNegativeTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - "\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(textb);\n" + - " }\n" + - "}\n" - }, - "----------\n" + - "1. ERROR in X.java (at line 2)\n" + - " public static String textb = \"\"\"\n" + - "\";\n" + - " ^^^^^\n" + - "Text block is not properly closed with the delimiter\n" + - "----------\n"); - } - public void test003a() { - runNegativeTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - "\n" + - " public static void main(String[] args) {\n" + - " System.out.println(textb);\n" + - " }\n" + - "}\n" - }, - "----------\n" + - "1. ERROR in X.java (at line 2)\n" + - " public static String textb = \"\"\"\n" + - "\n" + - " ^^^^\n" + - "Text block is not properly closed with the delimiter\n" + - "----------\n"); - } - /* - * negative - unescaped '\' in a text block - */ - public void test004() { - runNegativeTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - "abc\\def" + - "\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(textb);\n" + - " }\n" + - "}\n" - }, - "----------\n" + - "1. ERROR in X.java (at line 2)\n" + - " public static String textb = \"\"\"\n" + - "abc\\def\"\"\";\n" + - " ^^^^^^^^^\n" + - "Invalid escape sequence (valid ones are \\b \\t \\n \\f \\r \\\" \\\' \\\\ )\n" + - "----------\n"); - } - /* empty text block */ - public void test005() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - "\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(textb);\n" + - " }\n" + - "}\n" - }, - "", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - escaped '\' - */ - public void test006() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - "abc\\\\def" + - "\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.print(textb);\n" + - " }\n" + - "}\n" - }, - "abc\\def", - null, - new String[] {"--enable-preview"}); - } - /* - * Positive - Multi line text block with varying indentation - * and \n - */ - public void test007() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - " line 1\n" + - " line 2\n" + - " \n" + - " line 3\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.print(textb);\n" + - " }\n" + - "}\n" - }, - "line 1\n" + // test framework trims the leading whitespace - " line 2\n" + - "\n" + - "line 3", - null, - new String[] {"--enable-preview"}); - } - /* - * Positive - Multi line text block with varying indentation - * and \n and \r - */ - public void test008() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - " line 1\n" + - " line 2\r" + - " \r" + - " line 3\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(textb);\n" + - " }\n" + - "}\n" - }, - "line 1\n" + - " line 2\n" + - "\n" + - "line 3", // the trailing whitespace is trimmed by the test framework - null, - new String[] {"--enable-preview"}); - } - /* - * Positive - Multi line text block with varying indentation - * and \n and \r - */ - public void test008a() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - " line 1\n" + - " line 2\r" + - " \r" + - " line 3\n\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.print(\"<\");\n" + - " System.out.print(textb);\n" + - " System.out.print(\">\");\n" + - " }\n" + - "}\n" - }, - "< line 1\n" + - " line 2\n" + - "\n" + - " line 3\n" + - ">", // the trailing whitespace is trimmed by the test framework - null, - new String[] {"--enable-preview"}); - } - /* - * positive - using unescaped '"' in text block - */ - public void test009() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - "\"abc-def" + - "\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(textb);\n" + - " }\n" + - "}\n" - }, - "\"abc-def", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - using escaped '"' in text block - */ - public void test010() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - "\"abc-def\\\"\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(textb);\n" + - " }\n" + - "}\n" - }, - "\"abc-def\"", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - using escaped \ and escaped " in text block - */ - public void test011() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - "\"abc\\\"\"\"def\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(textb);\n" + - " }\n" + - "}\n" - }, - "\"abc\"\"\"def", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - using Unicode in text block - * and compare with an equal String literal - */ - public void test012() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - "\\u0ba4\\u0bae\\u0bbf\\u0bb4\"\"\";\n" + - " public static String str = \"\\u0ba4\\u0bae\\u0bbf\\u0bb4\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(str.equals(textb));\n" + - " }\n" + - "}\n" - }, - "true", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - bigger piece of code as text block - */ - public void test013() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - "static String code = \"\"\"\n" + - " public void print(Object o) {\n" + - " System.out.println(Objects.toString(o));\n" + - " }\n" + - " \"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.print(code);\n" + - " }\n" + - "}\n" - }, - "public void print(Object o) {\n" + - " System.out.println(Objects.toString(o));\n" + - "}", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - concatenation of string with text block - */ - public void test014() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " static String code = \"public void print(Object o) {\\n\" +\n" + - " \"\"\"\n" + - " System.out.println(Objects.toString(o));\n" + - " }\n" + - " \"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.print(code);\n" + - " }\n" + - "}\n" - }, - "public void print(Object o) {\n" + - " System.out.println(Objects.toString(o));\n" + - "}", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - freely using quotes - */ - public void test015() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " static String story = \"\"\"\n" + - " \"When I use a word,\" Humpty Dumpty said,\n" + - " in rather a scornful tone, \"it means just what I\n" + - " choose it to mean - neither more nor less.\"\n" + - " \"The question is,\" said Alice, \"whether you\n" + - " can make words mean so many different things.\"\n" + - " \"The question is,\" said Humpty Dumpty,\n" + - " \"which is to be master - that's all.\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.print(story);\n" + - " }\n" + - "}\n" - }, - "\"When I use a word,\" Humpty Dumpty said,\n" + - "in rather a scornful tone, \"it means just what I\n" + - "choose it to mean - neither more nor less.\"\n" + - "\"The question is,\" said Alice, \"whether you\n" + - "can make words mean so many different things.\"\n" + - "\"The question is,\" said Humpty Dumpty,\n" + - "\"which is to be master - that's all.", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - html code with indentation - */ - public void test016() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " static String html = \"\"\"\n" + - " \n" + - " \n" + - "

Hello, world

\n" + - " \n" + - " \"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.print(html);\n" + - " }\n" + - "}\n" - }, - "\n" + - " \n" + - "

Hello, world

\n" + - " \n" + - "", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - html code with indentation with empty lines - */ - public void test016a() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " static String html = \"\"\"\n" + - " \\r\\n" + - " \\r\\n" + - "

Hello, world

\\r\\n" + - " \\r\\n" + - " \\r\\n" + - " \"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(html);\n" + - " }\n" + - "}\n" - }, - "\n" + - " \n" + - "

Hello, world

\n" + - " \n" + - " ", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - html code with indentation with empty lines - * output compared with String API - */ - public void test016b() { - String text = "\n" + - " \n" + - "

Hello, world

\n" + - " \n" + - " "; - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " static String html = \"\"\"\n" + - text + "\\n" + - "\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(html);\n" + - " }\n" + - "}\n" - }, - text.stripIndent().translateEscapes(), - null, - new String[] {"--enable-preview"}); - - } - /* - * positive - html code with indentation with \r as terminator - */ - public void test016c() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " static String html = \"\"\"\n" + - " \n" + - " \n" + - "

Hello, world

\n" + - " \n" + - " \n" + - " \"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(html);\n" + - " }\n" + - "}\n" - }, - "\n" + - " \n" + - "

Hello, world

\n" + - " \n" + - "", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - html code with indentation and trailing whitespace - */ - public void test017() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " static String html = \"\"\"\n" + - " \n" + - " \n" + - "

Hello, world

\n" + - " \n" + - " \n" + - " \"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(html);\n" + - " }\n" + - "}\n" - }, - "\n" + - " \n" + - "

Hello, world

\n" + - " \n" + - "", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - using octal escape char for trailing whitespace - */ - public void test018() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " static String html = \"\"\"\n" + - " \\040\\040\n" + - " \\040\\040\n" + - "

Hello, world

\\040\\040\\040\n" + - " \\040\\040\n" + - " \"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.print(html);\n" + - " }\n" + - "}\n" - }, - " \n" + - " \n" + - "

Hello, world

\n" + - " \n" + - "", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - using text block as a method argument - */ - public void test019() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static void main(String[] args) {\n" + - " System.out.println(\"\"\"\n" + - " \\n" + - " \\n" + - "

Hello, world

\\n" + - " \\n" + - " \\n" + - " \"\"\");\n" + - " }\n" + - "}\n" - }, - "\n" + - " \n" + - "

Hello, world

\n" + - " \n" + - " ", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - using variable assigned with text block as a method argument - */ - public void test020() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static void main(String[] args) {\n" + - " String html = \"\"\"\n" + - " \n" + - " \n" + - "

Hello, world

\n" + - " \n" + - " \n" + - " \"\"\";\n" + - " System.out.println(html);\n" + - " }\n" + - "}\n" - }, - "\n" + - " \n" + - "

Hello, world

\n" + - " \n" + - "", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - assigning strings and text blocks interchangeably. - */ - public void test021() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static void main(String[] args) {\n" + - " String html = \"\"\"\n" + - " \n" + - " \n" + - "

Hello, world

\n" + - " \n" + - " \n" + - " \"\"\";\n" + - " String s = html;\n" + - " System.out.println(s);\n" + - " }\n" + - "}\n" - }, - "\n" + - " \n" + - "

Hello, world

\n" + - " \n" + - "", - null, - new String[] {"--enable-preview"}); - } - /* - * positive - escaped '\', compare with String::translateEscapes - */ - public void test022() { - String text = "abc\\\\def"; - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - text + - "\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.print(textb);\n" + - " }\n" + - "}\n" - }, - text.translateEscapes(), - null, - new String[] {"--enable-preview"}); - } - /* - * positive - escaped """, compare output with - * String::translateEscapes - * String::stripIndent - */ - public void test023() { - String text = "abc\\\"\"\"def\" "; - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - text + - "\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(textb);\n" + - " }\n" + - "}\n" - }, - text.translateEscapes().stripIndent(), - null, - new String[] {"--enable-preview"}); - } - public void test024() { - runConformTest( - new String[] { - "Main.java", - "@SuppressWarnings(\"preview\")\n" + - "public class Main {\n" + - " public static void main(String[] args) {\n" + - " runConformTest(\n" + - " new String[] {\n" + - " \"XYZ.java\",\n" + - " \"\"\"\n" + - " public class XYZ {\n" + - " public static String textb = \\\"\"\"\n" + - " abc\\\\\\\"\"\"def\" \n" + - " \\\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(textb);\n" + - " }\n" + - " }\"\"\"" + - " }, \n" + - " \"\",\n" + - " null,\n" + - " new String[] {\"--enable-preview\"});\n" + - " }\n" + - " private static void runConformTest(String[] strings, String text, Object object, String[] strings2) {\n" + - " System.out.println(strings[1]);\n" + - " }\n" + - "}" - }, - "public class XYZ {\n" + - " public static String textb = \"\"\"\n" + - " abc\\\"\"\"def\"\n" + - " \"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(textb);\n" + - " }\n" + - "}", - null, - new String[] {"--enable-preview"}); - } - public void test025() { - runNegativeTest( - new String[] { - """ - X.java""", - """ - public class X { - public static String textb = \""" - abc\\def\"""; - public static void main(String[] args) { - System.out.println(textb); - } - } - """ - }, - "----------\n" + - "1. ERROR in X.java (at line 2)\n" + - " public static String textb = \"\"\"\n" + - " abc\\def\"\"\";\n" + - " ^^^^^^^^^^^^\n" + - "Invalid escape sequence (valid ones are \\b \\t \\n \\f \\r \\\" \\\' \\\\ )\n" + - "----------\n", - null, - true, - getCompilerOptions()); - } - public void test026() { - String text = "abc\\\\def"; - runConformTest( - new String[] { - """ - X.java""", - """ - public class X { - public static String textb = \""" - abc\\\\def\"""; - public static void main(String[] args) { - System.out.println(textb); - } - } - """ - }, - text.translateEscapes(), - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void test027() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static void main (String[] args) {\n" + - " String xyz = \n" + - " \"\"\"\n" + - " public class Switch {\n" + - " public static void bar(int arg0) {\n" + - " int arg1 = 0;\n" + - " pointer: foo(\n" + - " switch (0 + arg0) {\n" + - " case 1 -> 1;\n" + - " default -> {break p;}\\n\"\n" + - " }\n" + - " });\n" + - " public static void foo(int arg0) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - " }\\n\"\"\"; \n" + - " System.out.println(xyz);\n" + - " }\n" + - "}" - }, - "public class Switch {\n" + - " public static void bar(int arg0) {\n" + - " int arg1 = 0;\n" + - " pointer: foo(\n" + - " switch (0 + arg0) {\n" + - " case 1 -> 1;\n" + - " default -> {break p;}\n" + - "\"\n" + - " }\n" + - " });\n" + - " public static void foo(int arg0) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - " }", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - // An empty text block - public void test028() { - runConformTest( - new String[] { - "X.java", - "public class X {\n" + - " public static void main (String[] args) {\n" + - " String xyz = \n" + - " \"\"\"\n" + - " \\n\"\"\"; \n" + - " System.out.println(xyz);\n" + - " }\n" + - "}" - }, - "", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - // An empty text block - public void test029() { - runConformTest( - new String[] { - "Cls2.java", - "@SuppressWarnings(\"preview\")\n" + - "public class Cls2 {\n" + - " public static String str = \"\"\"\n" + - " Hello Guru \n" + - " \n" + - " \"\"\";\n" + - " public static void main (String[] args) {\n" + - " System.out.println(str);\n" + - " }\n" + - "}" - }, - "Hello Guru", // output comparison tool strips off all trailing whitespace - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testBug550356() { - Map options = getCompilerOptions(false); - runNegativeTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - "\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(textb);\n" + - " }\n" + - "}\n" - }, - "----------\n" + - "1. ERROR in X.java (at line 2)\n" + - " public static String textb = \"\"\"\n" + - "\"\"\";\n" + - " ^^^^^^^\n" + - "Text Blocks is a preview feature and disabled by default. Use --enable-preview to enable\n" + - "----------\n", - null, - true, - options); - } - public void testBug551948_1() { - runConformTest( - new String[] { - "Cls2.java", - "@SuppressWarnings(\"preview\")\n" + - "public class Cls2 {\n" + - "static String text = \"\"\"\n" + - " Lorem ipsum dolor sit amet, consectetur adipiscing \\\n" + - " elit, sed do eiusmod tempor incididunt ut labore \\\n" + - " et dolore magna aliqua.\\\n" + - " \"\"\";\n" + - " public static void main (String[] args) {\n" + - " System.out.print(text);\n" + - " }\n" + - "}" - }, - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.", // output comparison tool strips off all trailing whitespace - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testBug551948_2() { - runConformTest( - new String[] { - "Cls2.java", - "@SuppressWarnings(\"preview\")\n" + - "public class Cls2 {\n" + - "static String noLastLF = \"\"\"\n" + - " abc\n" + - " def\\\n" + - " ghi\"\"\";\n" + - " public static void main (String[] args) {\n" + - " System.out.print(noLastLF);\n" + - " }\n" + - "}" - }, - "abc\n defghi", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testBug551948_3() { - runConformTest( - new String[] { - "Cls2.java", - "@SuppressWarnings(\"preview\")\n" + - "public class Cls2 {\n" + - "static String python = \"\"\"\n" + - " if x == True and \\\\\n" + - " y == False\n" + - " \"\"\";\n" + - " public static void main (String[] args) {\n" + - " System.out.print(python);\n" + - " }\n" + - "}" - }, - "if x == True and \\\n" + - " y == False", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testBug551948_4() { - runConformTest( - new String[] { - "Cls2.java", - "@SuppressWarnings(\"preview\")\n" + - "public class Cls2 {\n" + - "static String colors = \"\"\"\n" + - " red \\\n" + - " green \\\n" + - " blue \\\n" + - " orange\"\"\"; \n" + - " public static void main (String[] args) {\n" + - " System.out.print(colors);\n" + - " }\n" + - "}" - }, - "red green blue orange", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testBug551948_5() { - runNegativeTest( - new String[] { - "Cls2.java", - "@SuppressWarnings(\"preview\")\n" + - "public class Cls2 {\n" + - "static String colors = \"\"\"\n" + - " \\red \n" + - " \\green \n" + - " \\blue \n" + - " \\orange\"\"\"; \n" + - " public static void main (String[] args) {\n" + - " System.out.print(colors);\n" + - " }\n" + - "}" - }, - "----------\n" + - "1. ERROR in Cls2.java (at line 3)\n" + - " static String colors = \"\"\"\n" + - " \\red \n" + - " \\green \n" + - " ^^^^^^^^^^^^^^^^^^^^^^\n" + - "Invalid escape sequence (valid ones are \\b \\t \\n \\f \\r \\\" \\\' \\\\ )\n" + - "----------\n", - null, - true, - getCompilerOptions(true)); - } - public void testBug551948_6() { - runConformTest( - new String[] { - "Cls2.java", - "@SuppressWarnings(\"preview\")\n" + - "public class Cls2 {\n" + - "static String str = \"A\\sline\\swith\\sspaces\";\n" + - " public static void main (String[] args) {\n" + - " System.out.print(str);\n" + - " }\n" + - "}" - }, - "A line with spaces", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testBug551948_7() { - runConformTest( - new String[] { - "Cls2.java", - "@SuppressWarnings(\"preview\")\n" + - "public class Cls2 {\n" + - "static String colors = \"\"\"\n" + - " red \\s\n" + - " green\\s\n" + - " blue \\s\n" + - " \"\"\";\n" + - " public static void main (String[] args) {\n" + - " System.out.print(colors);\n" + - " }\n" + - "}" - }, - "red \ngreen \nblue", // trailing whitespaces are trimmed - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testBug551948_8() { - runConformTest( - new String[] { - "Cls2.java", - "@SuppressWarnings(\"preview\")\n" + - "public class Cls2 {\n" + - "static String s = \"\"\"\n" + - "aaa\n" + - "\n" + - "bbb\n" + - "\n" + - "\n" + - "ccc" + - "\"\"\";\n" + - " public static void main (String[] args) {\n" + - " System.out.print(s);\n" + - " }\n" + - "}" - }, - "aaa\n\n" + - "bbb\n\n\n" + - "ccc", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testCompliances_1() { - runConformTest( - new String[] { - "C.java", - "@SuppressWarnings(\"preview\")\n" + - "public class C {\n" + - " public static void main(String argv[]) {\n" + - " String textBlock = \"\"\"\n" + - "\n" + - " aa\"\"\";\n" + - " System.out.print(compare(textBlock));\n" + - " }\n" + - " private static boolean compare(String textBlock) {\n" + - " char LF = (char) 0x000A;\n" + - " String str = \"\" + LF + \"aa\";\n" + - " return textBlock.equals(str);\n" + - " }\n" + - "}" - }, - "true", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testCompliances_2() { - runConformTest( - new String[] { - "C.java", - "@SuppressWarnings(\"preview\")\n" + - "public class C {\n" + - " public static void main(String argv[]) {\n" + - " String textBlock = \"\"\"\n" + - "\\n" + - "\\n" + - "\"\"\";\n" + - " System.out.print(compare(textBlock));\n" + - " }\n" + - " private static boolean compare(String textBlock) {\n" + - " char LF = (char) 0x000A;\n" + - " String str = \"\" + LF + LF + \"\";\n" + - " return textBlock.equals(str);\n" + - " }\n" + - "}" - }, - "true", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testCompliances_3() { - runConformTest( - new String[] { - "C.java", - "@SuppressWarnings(\"preview\")\n" + - "public class C {\n" + - " public static void main(String argv[]) {\n" + - " String textBlock = \"\"\"\n" + - "\n" + - "\"\"\";\n" + - " System.out.print(textBlock);\n" + - " System.out.print(compare(textBlock));\n" + - " }\n" + - " private static boolean compare(String textBlock) {\n" + - " char LF = (char) 0x000A;\n" + - " String str = \"\" + '\\u0015' + LF + \"\";\n" + - " return textBlock.equals(str.stripIndent());\n" + - " }\n" + - "}" - }, - "true", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testCompliances_4() { - runConformTest( - new String[] { - "C.java", - "@SuppressWarnings(\"preview\")\n" + - "public class C {\n" + - " public static void main(String argv[]) {\n" + - " String textBlock = \"\"\"\n" + - "v\r" + - "\r" + - "vaa\"\"\";\n" + - " char[] cs = textBlock.toCharArray();\n" + - " for (char c : cs) {\n" + - " //System.out.print((int)c);\n" + - " //System.out.print(',');\n" + - " }\n" + - " //System.out.println();\n" + - " System.out.print(compare(textBlock));\n" + - " }\n" + - " private static boolean compare(String textBlock) {\n" + - " char LF = (char) 0x000A;\n" + - " String str = \"v\" + LF + LF + '\\u0076' + \"aa\";\n" + - " return textBlock.equals(str.stripIndent());\n" + - " }\n" + - "}" - }, - "true", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testCompliances_5() { - runConformTest( - new String[] { - "C.java", - "@SuppressWarnings(\"preview\")\n" + - "public class C {\n" + - " public static void main(String argv[]) {\n" + - " String textBlock = \"\"\"\n" + - "aa\f" + - "\f" + - "\"\"\";\n" + - " System.out.print(compare(textBlock));\n" + - " }\n" + - " private static boolean compare(String textBlock) {\n" + - " char LF = (char) 0x000A;\n" + - " String str = \"aa\" + LF + LF + \"\";\n" + - " return textBlock.equals(str);\n" + - " }\n" + - "}" - }, - "false", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testCompliances_6() { - runConformTest( - new String[] { - "C.java", - "@SuppressWarnings(\"preview\")\n" + - "public class C {\n" + - " public static void main(String argv[]) {\n" + - " String textBlock = \"\"\"\n" + - "\n" + - "\"\"\";\n" + - " System.out.print(compare(textBlock));\n" + - " }\n" + - " private static boolean compare(String textBlock) {\n" + - " char LF = (char) 0x000A;\n" + - " String str = \"\" + '\\u0015' + LF + \"\";\n" + - " return textBlock.equals(str);\n" + - " }\n" + - "}" - }, - "true", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testCompliances_7() { - runConformTest( - new String[] { - "C.java", - "@SuppressWarnings(\"preview\")\n" + - "public class C {\n" + - " public static void main(String argv[]) {\n" + - " String textBlock = \"\"\"\n" + - "aav\n" + - "\"\"\";\n" + - " System.out.print(compare(textBlock));\n" + - " }\n" + - " private static boolean compare(String textBlock) {\n" + - " char LF = (char) 0x000A;\n" + - " String str = \"aa\" + '\\u0076' + LF + \"\";\n" + - " return textBlock.equals(str.stripIndent());\n" + - " }\n" + - "}" - }, - "true", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testCompliances_8() { - runConformTest( - new String[] { - "C.java", - "@SuppressWarnings(\"preview\")\n" + - "public class C {\n" + - " public static void main(String argv[]) {\n" + - " String textBlock = \"\"\"\n" + - "\\\"some\\\"\\n \\\"string\\\" \\n \\\"here\\\"\\n\"\"\";\n" + - " System.out.print(textBlock.length());\n" + - " }\n" + - "}" - }, - "26", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - // Escaped """ with escaping at the first '"' - public void testCompliances_9() { - runConformTest( - new String[] { - "C.java", - "@SuppressWarnings(\"preview\")\n" + - "public class C {\n" + - " public static void main(String argv[]) {\n" + - " String textBlock = \"\"\"\n" + - "some string ends with \\\"\"\"\\n\"\"\";\n" + - " System.out.print(textBlock.length());\n" + - " }\n" + - "}" - }, - "26", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - // Escaped """ with escaping at the second '"' - public void testCompliances_10() { - runConformTest( - new String[] { - "C.java", - "@SuppressWarnings(\"preview\")\n" + - "public class C {\n" + - " public static void main(String argv[]) {\n" + - " String textBlock = \"\"\"\n" + - "some string ends with \"\\\"\"\\n\"\"\";\n" + - " System.out.print(textBlock.length());\n" + - " }\n" + - "}" - }, - "26", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - // Escaped """ with escaping at the third '"' - public void testCompliances_11() { - runConformTest( - new String[] { - "C.java", - "@SuppressWarnings(\"preview\")\n" + - "public class C {\n" + - " public static void main(String argv[]) {\n" + - " String textBlock = \"\"\"\n" + - "some string ends with \"\"\\\"\\n\"\"\";\n" + - " System.out.print(textBlock.length());\n" + - " }\n" + - "}" - }, - "26", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testCompliances_12() { - runConformTest( - new String[] { - "C.java", - "@SuppressWarnings(\"preview\")\n" + - "public class C {\n" + - " public static void main(String argv[]) {\n" + - " String textBlock = \"\"\"\n" + - "\r\n" + - " aa\"\"\";\n" + - " System.out.print(compare(textBlock));\n" + - " }\n" + - " private static boolean compare(String textBlock) {\n" + - " char LF = (char) 0x000A;\n" + - " String str = \"\" + LF + \"aa\";\n" + - " return textBlock.equals(str);\n" + - " }\n" + - "}" - }, - "true", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testCompliances_13() { - runConformTest( - new String[] { - "C.java", - "@SuppressWarnings(\"preview\")\n" + - "public class C {\n" + - " public static void main(String argv[]) {\n" + - " String textb = \"\"\"\n" + - "\\0\\1\\2\\3\\4\\5\\6\\7\\10\\11\\12\\13\\14\\15\\16\\17\\20\\21\\22\\23\\24\\25\\26\\27\\30\\31\\32\\33\\34\\35\\36\\37\\40\\41\\42\\43\\44\\45\\46\\47\\50\\51\\52\\53\\54\\55\\56\\57\\60\\61\\62\\63\\64\\65\\66\\67\\70\\71\\72\\73\\74\\75\\76\\77\\100\\101\\102\\103\\104\\105\\106\\107\\110\\111\\112\\113\\114\\115\\116\\117\\120\\121\\122\\123\\124\\125\\126\\127\\130\\131\\132\\133\\134\\135\\136\\137\\140\\141\\142\\143\\144\\145\\146\\147\\150\\151\\152\\153\\154\\155\\156\\157\\160\\161\\162\\163\\164\\165\\166\\167\\170\\171\\172\\173\\174\\175\\176\\177\\200\\201\\202\\203\\204\\205\\206\\207\\210\\211\\212\\213\\214\\215\\216\\217\\220\\221\\222\\223\\224\\225\\226\\227\\230\\231\\232\\233\\234\\235\\236\\237\\240\\241\\242\\243\\244\\245\\246\\247\\250\\251\\252\\253\\254\\255\\256\\257\\260\\261\\262\\263\\264\\265\\266\\267\\270\\271\\272\\273\\274\\275\\276\\277\\300\\301\\302\\303\\304\\305\\306\\307\\310\\311\\312\\313\\314\\315\\316\\317\\320\\321\\322\\323\\324\\325\\326\\327\\330\\331\\332\\333\\334\\335\\336\\337\\340\\341\\342\\343\\344\\345\\346\\347\\350\\351\\352\\353\\354\\355\\356\\357\\360\\361\\362\\363\\364\\365\\366\\367\\370\\371\\372\\373\\374\\375\\376\\377\"\"\";\n" + - " System.out.println(textb.length());\n" + - " for (int i=0; i<=0xFF; i++) {\n" + - " if (i != (int)textb.charAt(i)) {\n" + - " System.out.println(\"Error in octal escape :\" + i);\n" + - " }\n" + - " }\n" + - " }\n" + - "}" - }, - "256", - getCompilerOptions(), - new String[] {"--enable-preview"}); - } - public void testBug553252() { - Map defaultOptions = super.getCompilerOptions(); - Map copy = new HashMap(defaultOptions); - copy.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_13); - copy.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_13); - copy.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_13); - copy.put(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - copy.put(CompilerOptions.OPTION_ReportPreviewFeatures, CompilerOptions.IGNORE); - runNegativeTest( - new String[] { - "X.java", - "public class X {\n" + - " public static String textb = \"\"\"\n" + - "\"\"\";\n" + - " public static void main(String[] args) {\n" + - " System.out.println(textb);\n" + - " }\n" + - "}\n" - }, - "----------\n" + - "1. ERROR in X.java (at line 0)\n" + - " public class X {\n" + - " ^\n" + - "Preview features enabled at an invalid source release level 13, preview can be enabled only at source level 14\n" + - "----------\n", - null, - true, - copy); - } -} diff --git a/org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/core/tests/model/CompletionTests13.java b/org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/core/tests/model/CompletionTests13.java deleted file mode 100644 index 1f6c244471f..00000000000 --- a/org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/core/tests/model/CompletionTests13.java +++ /dev/null @@ -1,1601 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2019 IBM and others. - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License 2.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-2.0/ - * - * SPDX-License-Identifier: EPL-2.0 - * - *******************************************************************************/ -package org.eclipse.jdt.core.tests.model; - -import org.eclipse.jdt.core.ICompilationUnit; -import org.eclipse.jdt.core.JavaModelException; -import org.eclipse.jdt.internal.codeassist.RelevanceConstants; -import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; - -import junit.framework.Test; - -public class CompletionTests13 extends AbstractJavaModelCompletionTests { - - static { -// TESTS_NAMES = new String[]{"test034"}; - } - - public CompletionTests13(String name) { - super(name); - } - public void setUpSuite() throws Exception { - if (COMPLETION_PROJECT == null) { - COMPLETION_PROJECT = setUpJavaProject("Completion", "13"); - } else { - setUpProjectCompliance(COMPLETION_PROJECT, "13"); - } - super.setUpSuite(); - } - public static Test suite() { - return buildModelTestSuite(CompletionTests13.class); - } - public void test001() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/Switch.java", - "public class Switch {\n" + - " public static void bar(MyDay day) {\n" + - " switch (day) {\n" + - " case SATURDAY, SUN ->\n" + - " System.out.println(day.toString());\n" + - " }\n" + - " }\n" + - " public static void main(String[] args) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n" + - "enum MyDay { SATURDAY, SUNDAY}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "SATURDAY, SUN"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "SUNDAY[FIELD_REF]{SUNDAY, LMyDay;, LMyDay;, SUNDAY, null, "+ - (RelevanceConstants.R_DEFAULT + RelevanceConstants.R_RESOLVED + RelevanceConstants.R_INTERESTING+ - RelevanceConstants.R_CASE + RelevanceConstants.R_EXACT_EXPECTED_TYPE + - RelevanceConstants.R_ENUM + RelevanceConstants.R_ENUM_CONSTANT + - RelevanceConstants.R_UNQUALIFIED + RelevanceConstants.R_NON_RESTRICTED)+ "}", - requestor.getResults()); - } - public void test002() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/Switch.java", - "public class Switch {\n" + - " public static void bar(MyDay day) {\n" + - " switch (day) {\n" + - " case SATURDAY, SUN :\n" + - " System.out.println(day.toString());\n" + - " }\n" + - " }\n" + - " public static void main(String[] args) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n" + - "enum MyDay { SATURDAY, SUNDAY}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "SATURDAY, SUN"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "SUNDAY[FIELD_REF]{SUNDAY, LMyDay;, LMyDay;, SUNDAY, null, "+ - (RelevanceConstants.R_DEFAULT + RelevanceConstants.R_RESOLVED + RelevanceConstants.R_INTERESTING+ - RelevanceConstants.R_CASE + RelevanceConstants.R_EXACT_EXPECTED_TYPE + - RelevanceConstants.R_ENUM + RelevanceConstants.R_ENUM_CONSTANT + - RelevanceConstants.R_UNQUALIFIED + RelevanceConstants.R_NON_RESTRICTED)+ "}", - requestor.getResults()); - } - public void test003() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/Switch.java", - "public class Switch {\n" + - " public static void bar(MyDay day) {\n" + - " switch (day) {\n" + - " case SATU -> \n" + - " System.out.println(day.toString());\n" + - " }\n" + - " }\n" + - " public static void main(String[] args) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n" + - "enum MyDay { SATURDAY, SUNDAY}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "SATU"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "SATURDAY[FIELD_REF]{SATURDAY, LMyDay;, LMyDay;, SATURDAY, null, "+ - (RelevanceConstants.R_DEFAULT + RelevanceConstants.R_RESOLVED + RelevanceConstants.R_INTERESTING+ - RelevanceConstants.R_CASE + RelevanceConstants.R_EXACT_EXPECTED_TYPE + - RelevanceConstants.R_ENUM + RelevanceConstants.R_ENUM_CONSTANT + - RelevanceConstants.R_UNQUALIFIED + RelevanceConstants.R_NON_RESTRICTED)+ "}", - requestor.getResults()); - } - public void test004() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/Switch.java", - "public class Switch {\n" + - " public static void bar(MyDay day) {\n" + - " switch (day) {\n" + - " case SATURDAY, SUNDAY, MOND -> \n" + - " System.out.println(day.toString());\n" + - " }\n" + - " }\n" + - " public static void main(String[] args) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n" + - "enum MyDay { SATURDAY, SUNDAY, MONDAY}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "MOND"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "MONDAY[FIELD_REF]{MONDAY, LMyDay;, LMyDay;, MONDAY, null, "+ - (RelevanceConstants.R_DEFAULT + RelevanceConstants.R_RESOLVED + RelevanceConstants.R_INTERESTING+ - RelevanceConstants.R_CASE + RelevanceConstants.R_EXACT_EXPECTED_TYPE + - RelevanceConstants.R_ENUM + RelevanceConstants.R_ENUM_CONSTANT + - RelevanceConstants.R_UNQUALIFIED + RelevanceConstants.R_NON_RESTRICTED)+ "}", - requestor.getResults()); - } - public void test005() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/Switch.java", - "public class Switch {\n" + - " public static void bar(MyDay day) {\n" + - " switch (day) {\n" + - " case SATURDAY, SUND, MONDAY -> \n" + - " System.out.println(day.toString());\n" + - " }\n" + - " }\n" + - " public static void main(String[] args) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n" + - "enum MyDay { SATURDAY, SUNDAY, MONDAY}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "SUND"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "SUNDAY[FIELD_REF]{SUNDAY, LMyDay;, LMyDay;, SUNDAY, null, "+ - (RelevanceConstants.R_DEFAULT + RelevanceConstants.R_RESOLVED + RelevanceConstants.R_INTERESTING+ - RelevanceConstants.R_CASE + RelevanceConstants.R_EXACT_EXPECTED_TYPE + - RelevanceConstants.R_ENUM + RelevanceConstants.R_ENUM_CONSTANT + - RelevanceConstants.R_UNQUALIFIED + RelevanceConstants.R_NON_RESTRICTED)+ "}", - requestor.getResults()); - } - public void test005a() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/Switch.java", - "public class Switch {\n" + - " public static void bar(MyDay day) {\n" + - " switch (day) {\n" + - " case SATURDAY, SUNDAY -> \n" + - " System.out.println(day.toString());\n" + - " case MON -> \n" + - " System.out.println(day.toString());\n" + - " }\n" + - " }\n" + - " public static void main(String[] args) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n" + - "enum MyDay { SATURDAY, SUNDAY, MONDAY}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "case MON"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "MONDAY[FIELD_REF]{MONDAY, LMyDay;, LMyDay;, MONDAY, null, "+ - (RelevanceConstants.R_DEFAULT + RelevanceConstants.R_RESOLVED + RelevanceConstants.R_INTERESTING+ - RelevanceConstants.R_CASE + RelevanceConstants.R_EXACT_EXPECTED_TYPE + - RelevanceConstants.R_ENUM + RelevanceConstants.R_ENUM_CONSTANT + - RelevanceConstants.R_UNQUALIFIED + RelevanceConstants.R_NON_RESTRICTED)+ "}", - requestor.getResults()); - } - public void test006() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/Switch.java", - """ - public class Switch { - public static void bar(MyDay day) { - switch (day.toS) { - case "SATURDAY" -> - System.out.println(day.toString()); - } - } - public static void main(String[] args) { - bar(MyDay.SUNDAY); - } - } - enum MyDay { SATURDAY, SUNDAY} - """ - ); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "day.toS"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "toString[METHOD_REF]{toString(), Ljava.lang.Object;, ()Ljava.lang.String;, toString, null, 60}", - requestor.getResults()); - } - public void test007() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/Switch.java", - "public class Switch {\n" + - " public static void bar(MyDay day) {\n" + - " switch (day.o) {\n" + - " case 0 -> \n" + - " System.out.println(day.toString());\n" + - " }\n" + - " }\n" + - " public static void main(String[] args) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n" + - "enum MyDay { SATURDAY, SUNDAY}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "day.o"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "ordinal[METHOD_REF]{ordinal(), Ljava.lang.Enum;, ()I, ordinal, null, 60}", - requestor.getResults()); - } - public void test008() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/Switch.java", - "public class Switch {\n" + - " public static void bar(MyDay day) {\n" + - " switch (1 + day.o) {\n" + - " case 0 -> \n" + - " System.out.println(day.toString());\n" + - " }\n" + - " }\n" + - " public static void main(String[] args) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n" + - "enum MyDay { SATURDAY, SUNDAY}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "day.o"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "ordinal[METHOD_REF]{ordinal(), Ljava.lang.Enum;, ()I, ordinal, null, 90}", - requestor.getResults()); - } - public void test009() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/Switch.java", - "public class Switch {\n" + - " public static void bar(MyDay day) {\n" + - " switch (1 + da) {\n" + - " case 0 -> \n" + - " System.out.println(day.toString());\n" + - " }\n" + - " }\n" + - " public static void main(String[] args) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n" + - "enum MyDay { SATURDAY, SUNDAY}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "1 + da"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "day[LOCAL_VARIABLE_REF]{day, null, LMyDay;, day, null, 52}", - requestor.getResults()); - } - public void test010() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/Switch.java", - "public class Switch {\n" + - " public static void bar(MyDay day) {\n" + - " switch (1 + da + 1) {\n" + - " case 0 -> \n" + - " System.out.println(day.toString());\n" + - " }\n" + - " }\n" + - " public static void main(String[] args) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n" + - "enum MyDay { SATURDAY, SUNDAY}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "1 + da"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "day[LOCAL_VARIABLE_REF]{day, null, LMyDay;, day, null, 52}", - requestor.getResults()); - } - public void test011() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/Switch.java", - "public class Switch {\n" + - " public static void bar(int arg0) {\n" + - " foo(\n" + - " switch (arg) {\n" + - " case 1 -> 1;\n" + - " default -> 0;\n" + - " }\n" + - " });\n" + - " public static void foo(int arg0) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "switch (arg"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "arg0[LOCAL_VARIABLE_REF]{arg0, null, I, arg0, null, 52}", - requestor.getResults()); - } - public void test012() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/Switch.java", - "public class Switch {\n" + - " public static void bar(int arg0) {\n" + - " foo(\n" + - " switch (arg0) {\n" + - " case 1 -> arg;\n" + - " default -> 0;\n" + - " }\n" + - " });\n" + - " public static void foo(int arg0) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "-> arg"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "arg0[LOCAL_VARIABLE_REF]{arg0, null, I, arg0, null, 52}", - requestor.getResults()); - } - public void test013() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/Switch.java", - "public class Switch {\n" + - " public static void bar(int arg0) {\n" + - " foo(\n" + - " switch (0 + arg) {\n" + - " case 1 -> 1;\n" + - " default -> 0;\n" + - " }\n" + - " });\n" + - " public static void foo(int arg0) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "0 + arg"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "arg0[LOCAL_VARIABLE_REF]{arg0, null, I, arg0, null, 82}", - requestor.getResults()); - } - public void test014() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "public class X {\n" + - " public static void bar(int arg0) {\n" + - " foo(\n" + - " swi);\n" + - " public static void foo(int arg0) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "swi"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "switch[KEYWORD]{switch, null, null, switch, null, 49}", - requestor.getResults()); - } - public void test015() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - """ - public class Switch { - public static void bar(int arg0) { - pointer: foo( - switch (0 + arg0) { - case 1 -> {break ;} - default -> 0; - } - }); - public static void foo(int arg0) { - bar(MyDay.SUNDAY); - } - }"""); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "break "; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "pointer[LABEL_REF]{pointer, null, null, pointer, null, 49}", - requestor.getResults()); - } - public void test016() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "public class Switch {\n" + - " public static void bar(int arg0) {\n" + - " foo(\n" + - " switch (0 + arg0) {\n" + - " case 1 -> {break 1;}\n" + - " default -> ar;\n" + - " }\n" + - " });\n" + - " public static void foo(int arg0) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "-> ar"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "arg0[LOCAL_VARIABLE_REF]{arg0, null, I, arg0, null, 52}", - requestor.getResults()); - } - public void test017() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - """ - public class Switch { - public static void bar(int arg0) { - int arg1 = 0; - pointer: foo( - switch (0 + arg0) { - case 1 -> 1; - default -> {break p;} - } - }); - public static void foo(int arg0) { - bar(MyDay.SUNDAY); - } - }"""); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "break p"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "pointer[LABEL_REF]{pointer, null, null, pointer, null, 49}", - requestor.getResults()); - } - public void test017a() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "public class Switch {\n" + - " public static void bar(int arg0) {\n" + - " foo(\n" + - " argLabel: switch (0 + arg0) {\n" + - " case 1 -> 1;\n" + - " default -> {break ar;}\n" + - " }\n" + - " });\n" + - " public static void foo(int arg0) {\n" + - " bar(MyDay.SUNDAY);\n" + - " }\n" + - "}\n"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "break ar"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "argLabel[LABEL_REF]{argLabel, null, null, argLabel, null, 49}", - requestor.getResults()); - } - public void test018a() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "import org.eclipse.jdt.annotation.*;\n" + - "import java.util.function.*;\n" + - "interface IN0 {} \n" + - "interface IN1 extends IN0 {} \n" + - "interface IN2 extends IN0 {}\n" + - "public class X {\n" + - " @NonNull IN1 n_1() { return new IN1() {}; } \n" + - " IN2 n_2() { return null; } \n" + - " void m(@NonNull Supplier<@NonNull M> m2) { } \n" + - " void testSw(int i) { \n" + - " m(switch(i) { \n" + - " case 1 -> this::n_; \n" + - " case 2 -> () -> n1(); \n" + - " case 3 -> null; \n" + - " case 4 -> () -> n2(); \n" + - " default -> this::n2; }); \n" + - " }\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "this::n_"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "n_1[METHOD_NAME_REFERENCE]{n_1, LX;, ()LIN1;, n_1, null, 60}\n" + - "n_2[METHOD_NAME_REFERENCE]{n_2, LX;, ()LIN2;, n_2, null, 60}", - requestor.getResults()); - } - public void test018b() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "import org.eclipse.jdt.annotation.*;\n" + - "interface IN0 {} \n" + - "interface IN1 extends IN0 {} \n" + - "interface IN2 extends IN0 {}\n" + - "public class X {\n" + - " @NonNull IN1 n_1() { return new IN1() {}; } \n" + - " IN2 n_2() { return null; } \n" + - " void m(@NonNull Supplier<@NonNull M> m2) { } \n" + - " void testSw(int i) { \n" + - " m(switch(i) { \n" + - " case 2 -> () -> n_; \n" + - " }\n" + - "}\n" + - "interface Supplier {\n" + - " T get();\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "-> n_"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "n_1[METHOD_REF]{n_1(), LX;, ()LIN1;, n_1, null, 52}\n" + - "n_2[METHOD_REF]{n_2(), LX;, ()LIN2;, n_2, null, 52}", - requestor.getResults()); - } - public void test018c() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "import org.eclipse.jdt.annotation.*;\n" + - "interface IN0 {} \n" + - "interface IN1 extends IN0 {} \n" + - "interface IN2 extends IN0 {}\n" + - "public class X {\n" + - " @NonNull IN1 n_1() { return new IN1() {}; } \n" + - " IN2 n_2() { return null; } \n" + - " void m(@NonNull Supplier<@NonNull M> m2) { } \n" + - " void testSw(int i) { \n" + - " m(switch(i) { \n" + - " default -> this::n_; }); \n" + - " }\n" + - "}\n" + - "interface Supplier {\n" + - " T get();\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "this::n_"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "n_1[METHOD_NAME_REFERENCE]{n_1, LX;, ()LIN1;, n_1, null, 60}\n" + - "n_2[METHOD_NAME_REFERENCE]{n_2, LX;, ()LIN2;, n_2, null, 60}", - requestor.getResults()); - } - public void test018d() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "import org.eclipse.jdt.annotation.*;\n" + - "interface IN0 {} \n" + - "interface IN1 extends IN0 {} \n" + - "interface IN2 extends IN0 {}\n" + - "public class X {\n" + - " @NonNull IN1 n_1() { return new IN1() {}; } \n" + - " IN2 n_2() { return null; } \n" + - " void m(@NonNull Supplier<@NonNull M> m2) { } \n" + - " void testSw(int i) { \n" + - " m(switch(i) { \n" + - " default -> () -> n_; }); \n" + - " }\n" + - "}\n" + - "interface Supplier {\n" + - " T get();\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "() -> n_"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "n_1[METHOD_REF]{n_1(), LX;, ()LIN1;, n_1, null, 52}\n" + - "n_2[METHOD_REF]{n_2(), LX;, ()LIN2;, n_2, null, 52}", - requestor.getResults()); - } - public void test018e() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "import org.eclipse.jdt.annotation.*;\n" + - "interface IN0 {} \n" + - "interface IN1 extends IN0 {} \n" + - "interface IN2 extends IN0 {}\n" + - "public class X {\n" + - " @NonNull IN1 n_1() { return new IN1() {}; } \n" + - " IN2 n_2() { return null; } \n" + - " void m(@NonNull Supplier<@NonNull M> m2) { } \n" + - " void testSw(int i) { \n" + - " m(switch(i) { \n" + - " case 1 -> this::n_1; \n" + - " case 2 -> () -> n_; \n" + - " }\n" + - "}\n" + - "interface Supplier {\n" + - " T get();\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "() -> n_"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "n_1[LOCAL_VARIABLE_REF]{n_1, null, Ljava.lang.Object;, n_1, null, 51}\n" + - "n_1[METHOD_REF]{n_1(), LX;, ()LIN1;, n_1, null, 52}\n" + - "n_2[METHOD_REF]{n_2(), LX;, ()LIN2;, n_2, null, 52}", - requestor.getResults()); - } - public void test018f() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "import org.eclipse.jdt.annotation.*;\n" + - "interface IN0 {} \n" + - "interface IN1 extends IN0 {} \n" + - "interface IN2 extends IN0 {}\n" + - "public class X {\n" + - " @NonNull IN1 n_1() { return new IN1() {}; } \n" + - " IN2 n_2() { return null; } \n" + - " void m(@NonNull Supplier<@NonNull M> m2) { } \n" + - " void testSw(int i) { \n" + - " m(switch(i) { \n" + - " case 1 -> () -> n_1; \n" + - " case 2 -> this::n_; \n" + - " }\n" + - "}\n" + - "interface Supplier {\n" + - " T get();\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "this::n_"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "n_1[METHOD_NAME_REFERENCE]{n_1, LX;, ()LIN1;, n_1, null, 60}\n" + - "n_2[METHOD_NAME_REFERENCE]{n_2, LX;, ()LIN2;, n_2, null, 60}", - requestor.getResults()); - } - public void test019() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "import org.eclipse.jdt.annotation.*;\n" + - " void m(@NonNull Supplier<@NonNull M> m2) { } \n" + - "public class X {\n" + - " void testSw(int i) { \n" + - " m(swi);\n" + - "}\n" + - "interface Supplier {\n" + - " T get();\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "swi"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "switch[KEYWORD]{switch, null, null, switch, null, 49}", - requestor.getResults()); - } - public void test020() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "public class X {\n" + - " static final String MONDAY = \"MONDAY\";\n" + - " static final String TUESDAY = \"TUESDAY\";\n" + - " static final String WEDNESDAY = \"WEDNESDAY\";\n" + - " static final String THURSDAY = \"THURSDAY\";\n" + - " static final String FRIDAY = \"FRIDAY\";\n" + - " static final String SATURDAY = \"SATURDAY\";\n" + - " static final String SUNDAY = \"SUNDAY\"; \n" + - " @SuppressWarnings(\"preview\")\n" + - " public static void main(String[] args) {\n" + - " String day = \"MONDAY\";\n" + - " switch (day) {\n" + - " case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);\n" + - " case TUESDAY -> System.out.println(7);\n" + - " case THURSDAY, SATURDAY -> System.out.println(8);\n" + - " case WEDNESDAY -> System.out.println(9);\n" + - " }\n" + - " int k = switch (day) {\n" + - " case MONDAY -> throw new NullPointerException();\n" + - " case TUESDAY -> 1;\n" + - " case WEDNESDAY -> {break 10;}\n" + - " default -> {\n" + - " int g = day.h();\n" + - " int result = f(g);\n" + - " break result;\n" + - " }};\n" + - " }\n" + - " static int f(int k) {\n" + - " return k*k;\n" + - " }\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "day.h"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "hashCode[METHOD_REF]{hashCode, Ljava.lang.Object;, ()I, hashCode, null, 90}", - requestor.getResults()); - } - public void test021() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "public class X {\n" + - " static final String MONDAY = \"MONDAY\";\n" + - " static final String TUESDAY = \"TUESDAY\";\n" + - " static final String WEDNESDAY = \"WEDNESDAY\";\n" + - " static final String THURSDAY = \"THURSDAY\";\n" + - " static final String FRIDAY = \"FRIDAY\";\n" + - " static final String SATURDAY = \"SATURDAY\";\n" + - " static final String SUNDAY = \"SUNDAY\"; \n" + - " @SuppressWarnings(\"preview\")\n" + - " public static void main(String[] args) {\n" + - " String day = \"MONDAY\";\n" + - " int k = switch (day) {\n" + - " case MONDAY -> throw new NullPointerException();\n" + - " case TUESDAY -> 1;\n" + - " case WEDNESDAY -> {break 10;}\n" + - " default -> {\n" + - " int g = day.h();\n" + - " int result = f(g);\n" + - " break result;\n" + - " }};\n" + - " }\n" + - " static int f(int k) {\n" + - " return k*k;\n" + - " }\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "day.h"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "hashCode[METHOD_REF]{hashCode, Ljava.lang.Object;, ()I, hashCode, null, 90}", - requestor.getResults()); - } - /* - * Try completion for break keyword inside switch expression - negative - */ - public void test022() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "public class X {\n" + - " static final String MONDAY = \"MONDAY\";\n" + - " static final String TUESDAY = \"TUESDAY\";\n" + - " static final String WEDNESDAY = \"WEDNESDAY\";\n" + - " @SuppressWarnings(\"preview\")\n" + - " public static void main(String[] args) {\n" + - " String day = \"MONDAY\";\n" + - " int k = switch (day) {\n" + - " case MONDAY -> throw new NullPointerException();\n" + - " case TUESDAY -> 1;\n" + - " case WEDNESDAY -> {br;}\n" + - " default -> {\n" + - " int g = day.hashCode();\n" + - " int result = f(g);\n" + - " yield result;\n" + - " }};\n" + - " }\n" + - " static int f(int k) {\n" + - " return k*k;\n" + - " }\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "case WEDNESDAY -> {br"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "break[KEYWORD]{break, null, null, break, null, 49}", - requestor.getResults()); - } - /* - * Try completion for yield keyword - positive - */ - public void test023() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - """ - public class X { - @SuppressWarnings("preview") - public static void main(String[] args) { - String day = "MONDAY"; - int k = switch (day) { - case "M" -> throw new NullPointerException(); - case "T" -> 1; - case "W" -> {yi ;} - default -> { - int g = day.hashCode(); - int result = f(g); - yield result; - }}; - } - static int f(int k) { - return k*k; - } - } - """); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "case \"W\" -> {yi"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "yield[KEYWORD]{yield, null, null, yield, null, 49}", - requestor.getResults()); - } - /* - * Try completion for yield with identifier - positive - */ - public void test024() throws JavaModelException { - String old = COMPLETION_PROJECT.getOption(CompilerOptions.OPTION_EnablePreviews, true); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "public class X {\n" + - " @SuppressWarnings(\"preview\")\n" + - " public static void main(String day) {\n" + - " int k = switch (day) {\n" + - " default -> {\n" + - " int g = day.hashCode();\n" + - " int result = f(g);\n" + - " yield res;\n" + - " }};\n" + - " }\n" + - " static int f(int k) {\n" + - " return k*k;\n" + - " }\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "yield res"; - int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "result[LOCAL_VARIABLE_REF]{result, null, I, result, null, 52}", - requestor.getResults()); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, old); - } - /* - * Try completion for yield with identifier with a preceding case with yield - positive - */ - public void test024a() throws JavaModelException { - String old = COMPLETION_PROJECT.getOption(CompilerOptions.OPTION_EnablePreviews, true); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "public class X {\n" + - " @SuppressWarnings(\"preview\")\n" + - " public static void main(String day) {\n" + - " int k = switch (day) {\n" + - " case TUESDAY -> { yield 1;}\n" + - " default -> {\n" + - " int g = day.hashCode();\n" + - " int result = f(g);\n" + - " yield res;\n" + - " }};\n" + - " }\n" + - " static int f(int k) {\n" + - " return k*k;\n" + - " }\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "yield res"; - int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "result[LOCAL_VARIABLE_REF]{result, null, I, result, null, 52}", - requestor.getResults()); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, old); - } - /* - * Try completion for yield with identifier with a preceding case with yield - positive - */ - public void test024b() throws JavaModelException { - String old = COMPLETION_PROJECT.getOption(CompilerOptions.OPTION_EnablePreviews, true); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "public class X {\n" + - " @SuppressWarnings(\"preview\")\n" + - " public static void main(String day) {\n" + - " int k = switch (day) {\n" + - " case TUESDAY -> { yield 1;}\n" + - " default -> {\n" + - " int g = day.hashCode();\n" + - " int result = f(g);\n" + - " yield 0 + res;\n" + - " }};\n" + - " }\n" + - " static int f(int k) {\n" + - " return k*k;\n" + - " }\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "yield 0 + res"; - int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "result[LOCAL_VARIABLE_REF]{result, null, I, result, null, 52}", - requestor.getResults()); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, old); - } - /* - * Try completion in a switch expression case block without any assist keyword - */ - public void test024c() throws JavaModelException { - String old = COMPLETION_PROJECT.getOption(CompilerOptions.OPTION_EnablePreviews, true); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "public class X {\n" + - " @SuppressWarnings(\"preview\")\n" + - " public static void main(String day) {\n" + - " int k = switch (day) {\n" + - " case TUESDAY -> { yield 1;}\n" + - " default -> {\n" + - " int[] g = new int[0];\n" + - " yield g.;\n" + - " }};\n" + - " }\n" + - " static int f(int k) {\n" + - " return k*k;\n" + - " }\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "yield g."; - int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "length[FIELD_REF]{length, [I, I, length, null, 49}\n" + - "clone[METHOD_REF]{clone(), [I, ()[I, clone, null, 60}\n" + - "equals[METHOD_REF]{equals(), Ljava.lang.Object;, (Ljava.lang.Object;)Z, equals, (obj), 60}\n" + - "finalize[METHOD_REF]{finalize(), Ljava.lang.Object;, ()V, finalize, null, 60}\n" + - "getClass[METHOD_REF]{getClass(), Ljava.lang.Object;, ()Ljava.lang.Class<+Ljava.lang.Object;>;, getClass, null, 60}\n" + - "hashCode[METHOD_REF]{hashCode(), Ljava.lang.Object;, ()I, hashCode, null, 60}\n" + - "notify[METHOD_REF]{notify(), Ljava.lang.Object;, ()V, notify, null, 60}\n" + - "notifyAll[METHOD_REF]{notifyAll(), Ljava.lang.Object;, ()V, notifyAll, null, 60}\n" + - "toString[METHOD_REF]{toString(), Ljava.lang.Object;, ()Ljava.lang.String;, toString, null, 60}\n" + - "wait[METHOD_REF]{wait(), Ljava.lang.Object;, ()V, wait, null, 60}\n" + - "wait[METHOD_REF]{wait(), Ljava.lang.Object;, (J)V, wait, (millis), 60}\n" + - "wait[METHOD_REF]{wait(), Ljava.lang.Object;, (JI)V, wait, (millis, nanos), 60}", - requestor.getResults()); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, old); - } - /* - * Try completion in a switch expression case block without any assist keyword - */ - public void test024d() throws JavaModelException { - String old = COMPLETION_PROJECT.getOption(CompilerOptions.OPTION_EnablePreviews, true); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "public class X {\n" + - " @SuppressWarnings(\"preview\")\n" + - " public static void main(String[] args) {\n" + - " String day = args[0];\n" + - " int k = switch (day) {\n" + - " case TUESDAY -> { yield 1;}\n" + - " default -> {\n" + - " int[] g = args.;\n" + - " yield g;\n" + - " }};\n" + - " }\n" + - " static int f(int k) {\n" + - " return k*k;\n" + - " }\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "int[] g = args."; - int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "length[FIELD_REF]{length, [Ljava.lang.String;, I, length, null, 49}\n" + - "finalize[METHOD_REF]{finalize(), Ljava.lang.Object;, ()V, finalize, null, 55}\n" + - "notify[METHOD_REF]{notify(), Ljava.lang.Object;, ()V, notify, null, 55}\n" + - "notifyAll[METHOD_REF]{notifyAll(), Ljava.lang.Object;, ()V, notifyAll, null, 55}\n" + - "wait[METHOD_REF]{wait(), Ljava.lang.Object;, ()V, wait, null, 55}\n" + - "wait[METHOD_REF]{wait(), Ljava.lang.Object;, (J)V, wait, (millis), 55}\n" + - "wait[METHOD_REF]{wait(), Ljava.lang.Object;, (JI)V, wait, (millis, nanos), 55}\n" + - "clone[METHOD_REF]{clone(), [Ljava.lang.String;, ()[Ljava.lang.String;, clone, null, 60}\n" + - "equals[METHOD_REF]{equals(), Ljava.lang.Object;, (Ljava.lang.Object;)Z, equals, (obj), 60}\n" + - "getClass[METHOD_REF]{getClass(), Ljava.lang.Object;, ()Ljava.lang.Class<+Ljava.lang.Object;>;, getClass, null, 60}\n" + - "hashCode[METHOD_REF]{hashCode(), Ljava.lang.Object;, ()I, hashCode, null, 60}\n" + - "toString[METHOD_REF]{toString(), Ljava.lang.Object;, ()Ljava.lang.String;, toString, null, 60}", - requestor.getResults()); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, old); - } - /* - * Try completion for yield with value inside switch - positive - */ - public void test025() throws JavaModelException { - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - "public class X {\n" + - " static final String MONDAY = \"MONDAY\";\n" + - " static final String TUESDAY = \"TUESDAY\";\n" + - " static final String WEDNESDAY = \"WEDNESDAY\";\n" + - " @SuppressWarnings(\"preview\")\n" + - " public static void main(String[] args) {\n" + - " resolve: {" + - " String day = \"MONDAY\";\n" + - " int k = switch (day) {\n" + - " case MONDAY -> throw new NullPointerException();\n" + - " case TUESDAY -> 1;\n" + - " case WEDNESDAY -> {yield 10;}\n" + - " default -> {\n" + - " yield day.h;\n" + - " }};\n" + - " }" + - " }\n" + - " static int f(int k) {\n" + - " return k*k;\n" + - " }\n" + - "}"); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "yield day.h"; - int cursorLocation = str.indexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "hashCode[METHOD_REF]{hashCode(), Ljava.lang.Object;, ()I, hashCode, null, 60}", - requestor.getResults()); - } - /* - * Try completion for yield keyword - inside nested block - */ - public void test026() throws JavaModelException { - String old = COMPLETION_PROJECT.getOption(CompilerOptions.OPTION_EnablePreviews, true); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - """ - public class X { - @SuppressWarnings("preview") - public static void main(String day) { - int k = switch (day) { - case "W" -> {yield 2;} - default -> { - int g = day.hashCode(); - int result = f(g); - { - yie; - } - }}; - } - static int f(int k) { - return k*k; - } - } - """); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "yie"; - int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "yield[KEYWORD]{yield, null, null, yield, null, 49}", - requestor.getResults()); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, old); - } - /* - * Try completion for yield - inside nested block - */ - public void test027() throws JavaModelException { - String old = COMPLETION_PROJECT.getOption(CompilerOptions.OPTION_EnablePreviews, true); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - """ - public class X { - @SuppressWarnings("preview") - public static void main(String day) { - int k = switch (day) { - case "W" -> {yield 2;} - default -> { - int g = day.hashCode(); - int result = f(g); - { - yield res; - } - }}; - } - static int f(int k) { - return k*k; - } - } - """); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "yield res"; - int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "result[LOCAL_VARIABLE_REF]{result, null, I, result, null, 52}", - requestor.getResults()); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, old); - } - /* - * Try completion for yield - inside nested block - */ - public void test028() throws JavaModelException { - String old = COMPLETION_PROJECT.getOption(CompilerOptions.OPTION_EnablePreviews, true); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - """ - public class X { - @SuppressWarnings("preview") - public static void main(String day) { - int k = switch (day) { - case "W" -> {yield 2;} - default -> { - int g = day.hashCode(); - int result = f(g); - { - for(int i = 0; i < 3; i++) { - if (i == 0) { - yield day.h - } - } - yield 0; - } - }}; - } - static int f(int k) { - return k*k; - } - } - """); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "yield day.h"; - int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "hashCode[METHOD_REF]{hashCode(), Ljava.lang.Object;, ()I, hashCode, null, 60}", - requestor.getResults()); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, old); - } - /* - * Try completion of other keywords inside switch expression nested block - */ - public void test029() throws JavaModelException { - String old = COMPLETION_PROJECT.getOption(CompilerOptions.OPTION_EnablePreviews, true); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - """ - public class X { - @SuppressWarnings("preview") - public static void main(String day) { - int k = switch (day) { - case "W" -> {yield 2;} - default -> { - int g = day.hashCode(); - int result = f(g); - { - for(int i = 0; i < 3; i++) { - if (i == 0) { - thr - } - } - yield 0; - } - }}; - } - static int f(int k) { - return k*k; - } - } - """); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "thr"; - int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "Throwable[TYPE_REF]{Throwable, java.lang, Ljava.lang.Throwable;, null, null, 42}\n" + - "throw[KEYWORD]{throw, null, null, throw, null, 49}", - requestor.getResults()); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, old); - } - /* - * Try completion of other keywords inside switch expression nested block - */ - public void test030() throws JavaModelException { - String old = COMPLETION_PROJECT.getOption(CompilerOptions.OPTION_EnablePreviews, true); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - """ - public class X { - @SuppressWarnings("preview") - public static void main(String day) { - int k = switch (day) { - case "W" -> {yield 2;} - default -> { - int g = day.hashCode(); - int result = f(g); - { - for(int i = 0; i < 3; i++) { - if (i == 0) { - throw Exc - } - } - yield 0; - } - }}; - } - static int f(int k) { - return k*k; - } - } - """); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "throw Exc"; - int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "Exception[TYPE_REF]{Exception, java.lang, Ljava.lang.Exception;, null, null, 52}", - requestor.getResults()); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, old); - } - /* - * Try completion inside a lambda nested inside a switch expression - */ - public void test031() throws JavaModelException { - String old = COMPLETION_PROJECT.getOption(CompilerOptions.OPTION_EnablePreviews, true); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - """ - public class X { - @SuppressWarnings("preview") - public static void main(String[] args) { - String day = ""; - int i = switch (day) { - default -> { - for (int j = 0; j < 3; j++) { - if (j == 0) { - IntPredicate pre = (_value) -> !test(_v); - }; - } - } - yield 0; - } - }; - } - private static boolean test(int value) { - return false; - } - } - interface IntPredicate { - boolean test(int value); - } - """); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "test(_v"; - int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "_value[LOCAL_VARIABLE_REF]{_value, null, I, _value, null, 52}", - requestor.getResults()); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, old); - } - /* - * Try completion inside a lambda (block) nested inside a switch expression - */ - public void test032() throws JavaModelException { - String old = COMPLETION_PROJECT.getOption(CompilerOptions.OPTION_EnablePreviews, true); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - """ - public class X { - @SuppressWarnings("preview") - public static void main(String[] args) { - String day = ""; - int i = switch (day) { - default -> { - for (int j = 0; j < 3; j++) { - if (j == 0) { - IntPredicate pre = (_value) -> { - return !test(_v); - }; - } - } - yield 0; - } - }; - } - private static boolean test(int value) { - return false; - } - } - interface IntPredicate { - boolean test(int value); - } - """); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "test(_v"; - int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "_value[LOCAL_VARIABLE_REF]{_value, null, I, _value, null, 52}", - requestor.getResults()); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, old); - } - /* - * Try completion inside a switch expression nested inside a lambda expression - */ - public void test033() throws JavaModelException { - String old = COMPLETION_PROJECT.getOption(CompilerOptions.OPTION_EnablePreviews, true); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - """ - public class X { - @SuppressWarnings("preview") - public static void main(String[] args) { - IntPredicate pre = (_value) -> !test( - switch (_value) { - default -> { - yield _v; - } - } - ); - } - private static boolean test(int value) { - return false; - } - } - interface IntPredicate { - boolean test(int value); - } - """); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "yield _v"; - int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "_value[LOCAL_VARIABLE_REF]{_value, null, I, _value, null, 52}", - requestor.getResults()); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, old); - } - /* - * Try completion inside a switch expression nested inside a lambda expression - */ - public void test034() throws JavaModelException { - String old = COMPLETION_PROJECT.getOption(CompilerOptions.OPTION_EnablePreviews, true); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/X.java", - """ - public class X { - @SuppressWarnings("preview") - public static void main(String[] args) { - IntPredicate pre = (_value) -> { - return !test( - switch (_value) { - default -> { - yield _v; - } - } - ); - }; - } - private static boolean test(int value) { - return false; - } - } - interface IntPredicate { - boolean test(int value); - } - """); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "yield _v"; - int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "_value[LOCAL_VARIABLE_REF]{_value, null, I, _value, null, 52}", - requestor.getResults()); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, old); - } - public void testBug545783() throws JavaModelException { - String old = COMPLETION_PROJECT.getOption(CompilerOptions.OPTION_EnablePreviews, true); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, CompilerOptions.ENABLED); - this.workingCopies = new ICompilationUnit[1]; - this.workingCopies[0] = getWorkingCopy( - "/Completion/src/bugs/C.java", - """ - package bugs; - public class C { - int foo(String str) { - return switch (str) { - case "x", "y" -> { - yield 0; - } - default -> { - i: for (int i = 0; i < 10; i++) { - if (str.) { - yield i; - } - } - yield -1; - } - }; - } - } - """); - CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true); - requestor.allowAllRequiredProposals(); - String str = this.workingCopies[0].getSource(); - String completeBehind = "if (str."; - int cursorLocation = str.lastIndexOf(completeBehind) + completeBehind.length(); - this.workingCopies[0].codeComplete(cursorLocation, requestor, this.wcOwner); - assertResults( - "finalize[METHOD_REF]{finalize(), Ljava.lang.Object;, ()V, finalize, null, 55}\n" + - "notify[METHOD_REF]{notify(), Ljava.lang.Object;, ()V, notify, null, 55}\n" + - "notifyAll[METHOD_REF]{notifyAll(), Ljava.lang.Object;, ()V, notifyAll, null, 55}\n" + - "wait[METHOD_REF]{wait(), Ljava.lang.Object;, ()V, wait, null, 55}\n" + - "wait[METHOD_REF]{wait(), Ljava.lang.Object;, (J)V, wait, (millis), 55}\n" + - "wait[METHOD_REF]{wait(), Ljava.lang.Object;, (JI)V, wait, (millis, nanos), 55}\n" + - "clone[METHOD_REF]{clone(), Ljava.lang.Object;, ()Ljava.lang.Object;, clone, null, 60}\n" + - "getClass[METHOD_REF]{getClass(), Ljava.lang.Object;, ()Ljava.lang.Class<+Ljava.lang.Object;>;, getClass, null, 60}\n" + - "hashCode[METHOD_REF]{hashCode(), Ljava.lang.Object;, ()I, hashCode, null, 60}\n" + - "length[METHOD_REF]{length(), Ljava.lang.String;, ()I, length, null, 60}\n" + - "toString[METHOD_REF]{toString(), Ljava.lang.Object;, ()Ljava.lang.String;, toString, null, 60}\n" + - "equals[METHOD_REF]{equals(), Ljava.lang.Object;, (Ljava.lang.Object;)Z, equals, (obj), 90}", - requestor.getResults()); - COMPLETION_PROJECT.setOption(CompilerOptions.OPTION_EnablePreviews, old); - } -} diff --git a/org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/tests/latestbree/Activator.java b/org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/tests/latestbree/Activator.java deleted file mode 100644 index 30cd86bce64..00000000000 --- a/org.eclipse.jdt.tests.latestBREE/src/org/eclipse/jdt/tests/latestbree/Activator.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.eclipse.jdt.tests.latestbree; - -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; - -public class Activator implements BundleActivator { - - private static BundleContext context; - - static BundleContext getContext() { - return context; - } - - public void start(BundleContext bundleContext) throws Exception { - Activator.context = bundleContext; - } - - public void stop(BundleContext bundleContext) throws Exception { - Activator.context = null; - } - -} diff --git a/org.eclipse.jdt.tests.latestBREE/test.xml b/org.eclipse.jdt.tests.latestBREE/test.xml deleted file mode 100644 index c5b0caf3d9c..00000000000 --- a/org.eclipse.jdt.tests.latestBREE/test.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -