diff options
author | gjoranv <gv@verizonmedia.com> | 2022-05-11 00:00:43 +0200 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2022-06-08 11:45:21 +0200 |
commit | 9bd635fb946b087506dcf83e6fb471bb0dabac5c (patch) | |
tree | d002aaa41cadb635a6a82fa311e53d166a3a2587 /bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassTest.java | |
parent | a740306a3b27782aab5636c9459a7525217196cc (diff) |
Test new language features from Java 11 to 17
- Records, switch statements and pattern matching for instanceof.
Diffstat (limited to 'bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassTest.java')
-rw-r--r-- | bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassTest.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassTest.java b/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassTest.java index 1c061ca49a2..f9f56a31b20 100644 --- a/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassTest.java +++ b/bundle-plugin/src/test/java/com/yahoo/container/plugin/classanalysis/AnalyzeClassTest.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.container.plugin.classanalysis; +import com.google.common.collect.ImmutableList; import com.yahoo.container.plugin.classanalysis.sampleclasses.Base; import com.yahoo.container.plugin.classanalysis.sampleclasses.ClassAnnotation; import com.yahoo.container.plugin.classanalysis.sampleclasses.InvisibleAnnotation; @@ -10,6 +11,8 @@ import com.yahoo.container.plugin.classanalysis.sampleclasses.InvisibleDummyAnno import com.yahoo.container.plugin.classanalysis.sampleclasses.Fields; import com.yahoo.container.plugin.classanalysis.sampleclasses.Interface1; import com.yahoo.container.plugin.classanalysis.sampleclasses.Interface2; +import com.yahoo.container.plugin.classanalysis.sampleclasses.RecordWithOverride; +import com.yahoo.container.plugin.classanalysis.sampleclasses.SwitchStatement; import com.yahoo.container.plugin.classanalysis.sampleclasses.MethodAnnotation; import com.yahoo.container.plugin.classanalysis.sampleclasses.MethodInvocation; import com.yahoo.osgi.annotation.ExportPackage; @@ -169,4 +172,23 @@ public class AnalyzeClassTest { assertTrue(Analyze.analyzeClass(classFile("class/Utf8")).getReferencedClasses() .contains("org.aspectj.weaver.MethodDeclarationLineNumber")); } + + @Test + public void switch_statements_are_analyzed() { + var referencedClasses = analyzeClass(SwitchStatement.class).getReferencedClasses(); + assertTrue(referencedClasses.contains(name(ImmutableList.class))); + assertTrue(referencedClasses.contains(name(IllegalArgumentException.class))); + } + + @Test + public void records_are_analyzed() { + var referencedClasses = analyzeClass(RecordWithOverride.class).getReferencedClasses(); + assertTrue(referencedClasses.containsAll(List.of( + name(java.util.List.class), + name(Byte.class), + name(ImmutableList.class), + name(IllegalArgumentException.class) + ))); + + } } |