Skip to content

Commit ca28c79

Browse files
Add unit tests
1 parent f52d854 commit ca28c79

2 files changed

Lines changed: 25 additions & 9 deletions

File tree

dd-java-agent/agent-tooling/src/test/groovy/datadog/trace/agent/tooling/bytebuddy/outline/OutlineTypeParserTest.groovy

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import spock.lang.Specification
55

66
class OutlineTypeParserTest extends Specification {
77

8-
void 'test anonymous classes are detected'() {
8+
void 'test modifiers are correct and anonymous classes are detected'() {
99
setup:
1010
final parser = new OutlineTypeParser()
1111
final locator = ClassFileLocators.classFileLocator(Thread.currentThread().contextClassLoader)
@@ -16,15 +16,23 @@ class OutlineTypeParserTest extends Specification {
1616

1717
then:
1818
outline.anonymousType == anonymous
19+
outline.interface == isinterface
20+
outline.abstract == isabstract
21+
outline.annotation == annotation
22+
outline.enum == isenum
1923

2024
where:
21-
clazz | anonymous
22-
'datadog.trace.agent.test.EnclosedClasses' | false
23-
'datadog.trace.agent.test.EnclosedClasses$Inner' | false
24-
'datadog.trace.agent.test.EnclosedClasses$InnerStatic' | false
25-
'datadog.trace.agent.test.EnclosedClasses$1' | true
26-
'datadog.trace.agent.test.EnclosedClasses$2' | true
27-
'datadog.trace.agent.test.EnclosedClasses$Inner$1' | true
28-
'datadog.trace.agent.test.EnclosedClasses$InnerStatic$1' | true
25+
clazz | anonymous | isinterface | isabstract | annotation | isenum
26+
'datadog.trace.agent.test.EnclosedClasses' | false | false | false | false | false
27+
'datadog.trace.agent.test.EnclosedClasses$Inner' | false | false | false | false | false
28+
'datadog.trace.agent.test.EnclosedClasses$InnerStatic' | false | false | false | false | false
29+
'datadog.trace.agent.test.EnclosedClasses$1' | true | false | false | false | false
30+
'datadog.trace.agent.test.EnclosedClasses$2' | true | false | false | false | false
31+
'datadog.trace.agent.test.EnclosedClasses$Inner$1' | true | false | false | false | false
32+
'datadog.trace.agent.test.EnclosedClasses$InnerStatic$1' | true | false | false | false | false
33+
'datadog.trace.agent.test.EnclosedClasses$Interface' | false | true | true | false | false
34+
'datadog.trace.agent.test.EnclosedClasses$Abstract' | false | false | true | false | false
35+
'datadog.trace.agent.test.EnclosedClasses$Annotation' | false | true | true | true | false
36+
'datadog.trace.agent.test.EnclosedClasses$Enum' | false | false | false | false | true
2937
}
3038
}

dd-java-agent/agent-tooling/src/test/java/datadog/trace/agent/test/EnclosedClasses.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,12 @@ public String get() {
4848
}.get();
4949
}
5050
}
51+
52+
public interface Interface {}
53+
54+
public abstract static class Abstract {}
55+
56+
public @interface Annotation {}
57+
58+
public enum Enum {}
5159
}

0 commit comments

Comments
 (0)