@@ -33,7 +33,6 @@ import kotlin.reflect.KClass
33
33
import kotlin.reflect.full.functions
34
34
import kotlinx.coroutines.CoroutineScope
35
35
import org.junit.Assert.assertEquals
36
- import org.junit.Assert.assertFalse
37
36
import org.junit.Assert.assertNotNull
38
37
import org.junit.Assert.assertNull
39
38
import org.junit.Assert.assertTrue
@@ -76,8 +75,12 @@ class ContributesActivePluginPointCodeGeneratorTest {
76
75
clazz.kotlin.functions.firstOrNull { it.name == " pluginBarActivePlugin" }!! .annotations
77
76
.firstOrNull { it.annotationClass == Toggle .DefaultValue ::class },
78
77
)
79
- assertTrue(clazz.kotlin.java.methods.find { it.name == " self" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue)
80
- assertTrue(
78
+ assertEquals(
79
+ Toggle .DefaultFeatureValue .TRUE ,
80
+ clazz.kotlin.java.methods.find { it.name == " self" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue,
81
+ )
82
+ assertEquals(
83
+ Toggle .DefaultFeatureValue .TRUE ,
81
84
clazz.kotlin.java.methods.find { it.name == " pluginBarActivePlugin" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue,
82
85
)
83
86
@@ -93,6 +96,8 @@ class ContributesActivePluginPointCodeGeneratorTest {
93
96
fun `test generated foo remote features` () {
94
97
val clazz = Class
95
98
.forName(" com.duckduckgo.feature.toggles.codegen.FooActivePlugin_ActivePlugin_RemoteFeature" )
99
+ val clazzInternal = Class
100
+ .forName(" com.duckduckgo.feature.toggles.codegen.FooActiveInternalPlugin_ActivePlugin_RemoteFeature" )
96
101
97
102
assertNotNull(clazz.methods.find { it.name == " self" && it.returnType.kotlin == Toggle ::class })
98
103
assertNotNull(clazz.methods.find { it.name == " pluginFooActivePlugin" && it.returnType.kotlin == Toggle ::class })
@@ -104,10 +109,18 @@ class ContributesActivePluginPointCodeGeneratorTest {
104
109
clazz.kotlin.functions.firstOrNull { it.name == " pluginFooActivePlugin" }!! .annotations
105
110
.firstOrNull { it.annotationClass == Toggle .DefaultValue ::class },
106
111
)
107
- assertTrue(clazz.kotlin.java.methods.find { it.name == " self" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue)
108
- assertFalse(
112
+ assertEquals(
113
+ Toggle .DefaultFeatureValue .TRUE ,
114
+ clazz.kotlin.java.methods.find { it.name == " self" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue,
115
+ )
116
+ assertEquals(
117
+ Toggle .DefaultFeatureValue .FALSE ,
109
118
clazz.kotlin.java.methods.find { it.name == " pluginFooActivePlugin" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue,
110
119
)
120
+ assertEquals(
121
+ Toggle .DefaultFeatureValue .INTERNAL ,
122
+ clazzInternal.kotlin.java.methods.find { it.name == " pluginFooActiveInternalPlugin" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue,
123
+ )
111
124
112
125
val featureAnnotation = clazz.kotlin.java.getAnnotation(ContributesRemoteFeature ::class .java)!!
113
126
assertEquals(AppScope ::class , featureAnnotation.scope)
@@ -147,8 +160,12 @@ class ContributesActivePluginPointCodeGeneratorTest {
147
160
clazz.kotlin.functions.firstOrNull { it.name == " pluginExperimentActivePlugin" }!! .annotations
148
161
.firstOrNull { it.annotationClass == Toggle .InternalAlwaysEnabled ::class },
149
162
)
150
- assertTrue(clazz.kotlin.java.methods.find { it.name == " self" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue)
151
- assertTrue(
163
+ assertEquals(
164
+ Toggle .DefaultFeatureValue .TRUE ,
165
+ clazz.kotlin.java.methods.find { it.name == " self" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue,
166
+ )
167
+ assertEquals(
168
+ Toggle .DefaultFeatureValue .TRUE ,
152
169
clazz.kotlin.java.methods.find { it.name == " pluginExperimentActivePlugin" }!!
153
170
.getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue,
154
171
)
@@ -191,8 +208,12 @@ class ContributesActivePluginPointCodeGeneratorTest {
191
208
clazz.kotlin.functions.firstOrNull { it.name == " pluginInternalAlwaysEnabledActivePlugin" }!! .annotations
192
209
.firstOrNull { it.annotationClass == Toggle .InternalAlwaysEnabled ::class },
193
210
)
194
- assertTrue(clazz.kotlin.java.methods.find { it.name == " self" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue)
195
- assertTrue(
211
+ assertEquals(
212
+ Toggle .DefaultFeatureValue .TRUE ,
213
+ clazz.kotlin.java.methods.find { it.name == " self" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue,
214
+ )
215
+ assertEquals(
216
+ Toggle .DefaultFeatureValue .TRUE ,
196
217
clazz.kotlin.java.methods.find { it.name == " pluginInternalAlwaysEnabledActivePlugin" }!!
197
218
.getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue,
198
219
)
@@ -225,7 +246,10 @@ class ContributesActivePluginPointCodeGeneratorTest {
225
246
assertNotNull(
226
247
clazz.kotlin.functions.firstOrNull { it.name == " self" }!! .annotations.firstOrNull { it.annotationClass == Toggle .DefaultValue ::class },
227
248
)
228
- assertTrue(clazz.kotlin.java.methods.find { it.name == " self" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue)
249
+ assertEquals(
250
+ Toggle .DefaultFeatureValue .TRUE ,
251
+ clazz.kotlin.java.methods.find { it.name == " self" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue,
252
+ )
229
253
230
254
val featureAnnotation = clazz.kotlin.java.getAnnotation(ContributesRemoteFeature ::class .java)!!
231
255
assertEquals(AppScope ::class , featureAnnotation.scope)
@@ -255,7 +279,10 @@ class ContributesActivePluginPointCodeGeneratorTest {
255
279
assertNotNull(
256
280
clazz.kotlin.functions.firstOrNull { it.name == " self" }!! .annotations.firstOrNull { it.annotationClass == Toggle .DefaultValue ::class },
257
281
)
258
- assertTrue(clazz.kotlin.java.methods.find { it.name == " self" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue)
282
+ assertEquals(
283
+ Toggle .DefaultFeatureValue .TRUE ,
284
+ clazz.kotlin.java.methods.find { it.name == " self" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue,
285
+ )
259
286
260
287
val featureAnnotation = clazz.kotlin.java.getAnnotation(ContributesRemoteFeature ::class .java)!!
261
288
assertEquals(AppScope ::class , featureAnnotation.scope)
@@ -277,8 +304,12 @@ class ContributesActivePluginPointCodeGeneratorTest {
277
304
clazz.kotlin.functions.firstOrNull { it.name == " pluginFooActiveTriggeredMyPlugin" }!! .annotations
278
305
.firstOrNull { it.annotationClass == Toggle .DefaultValue ::class },
279
306
)
280
- assertTrue(clazz.kotlin.java.methods.find { it.name == " self" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue)
281
- assertFalse(
307
+ assertEquals(
308
+ Toggle .DefaultFeatureValue .TRUE ,
309
+ clazz.kotlin.java.methods.find { it.name == " self" }!! .getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue,
310
+ )
311
+ assertEquals(
312
+ Toggle .DefaultFeatureValue .FALSE ,
282
313
clazz.kotlin.java.methods.find { it.name == " pluginFooActiveTriggeredMyPlugin" }!!
283
314
.getAnnotation(Toggle .DefaultValue ::class .java)!! .defaultValue,
284
315
)
0 commit comments