File tree Expand file tree Collapse file tree 1 file changed +39
-0
lines changed
core/koin-core/src/commonTest/kotlin/org/koin/core Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Original file line number Diff line number Diff line change 1
1
package org.koin.core
2
2
3
3
import org.koin.Simple
4
+ import org.koin.core.component.KoinScopeComponent
5
+ import org.koin.core.component.getOrCreateScope
6
+ import org.koin.core.component.inject
7
+ import org.koin.core.context.startKoin
4
8
import org.koin.core.error.ClosedScopeException
9
+ import org.koin.core.logger.Level
10
+ import org.koin.core.module.dsl.scopedOf
11
+ import org.koin.core.module.dsl.singleOf
5
12
import org.koin.core.parameter.parametersOf
6
13
import org.koin.core.qualifier.named
14
+ import org.koin.core.scope.Scope
7
15
import org.koin.dsl.koinApplication
8
16
import org.koin.dsl.module
9
17
import kotlin.test.*
10
18
11
19
class ScopeTest {
12
20
21
+ private class A
22
+ private class B
23
+ @Test
24
+ fun scope_component () {
25
+ abstract class SuperClass : KoinScopeComponent {
26
+ override val scope: Scope by getOrCreateScope()
27
+ }
28
+
29
+ class SubClass : SuperClass () {
30
+ val a: A by inject()
31
+ val b: B by inject()
32
+ }
33
+
34
+ startKoin {
35
+ printLogger(Level .DEBUG )
36
+ modules(
37
+ module {
38
+ singleOf(::A )
39
+ scope<SubClass > {
40
+ scopedOf(::B )
41
+ }
42
+ }
43
+ )
44
+ }
45
+
46
+ with (SubClass ()) {
47
+ assertTrue { a is A }
48
+ assertTrue { b is B }
49
+ }
50
+ }
51
+
13
52
@Test
14
53
fun `get definition from current scopes type` () {
15
54
val koin = koinApplication {
You can’t perform that action at this time.
0 commit comments