Skip to content

Commit 202a979

Browse files
add KoinScopeComponent test
1 parent d6c8f87 commit 202a979

File tree

1 file changed

+39
-0
lines changed
  • core/koin-core/src/commonTest/kotlin/org/koin/core

1 file changed

+39
-0
lines changed

core/koin-core/src/commonTest/kotlin/org/koin/core/ScopeTest.kt

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,54 @@
11
package org.koin.core
22

33
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
48
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
512
import org.koin.core.parameter.parametersOf
613
import org.koin.core.qualifier.named
14+
import org.koin.core.scope.Scope
715
import org.koin.dsl.koinApplication
816
import org.koin.dsl.module
917
import kotlin.test.*
1018

1119
class ScopeTest {
1220

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+
1352
@Test
1453
fun `get definition from current scopes type`() {
1554
val koin = koinApplication {

0 commit comments

Comments
 (0)