File tree Expand file tree Collapse file tree 2 files changed +19
-11
lines changed Expand file tree Collapse file tree 2 files changed +19
-11
lines changed Original file line number Diff line number Diff line change @@ -51,17 +51,20 @@ interface TextChangedListener {
51
51
}
52
52
53
53
class PrintingTextChangedListener : TextChangedListener {
54
-
55
- override fun onTextChanged (oldText : String , newText : String ) =
56
- println (" Text is changed $oldText -> $newText " )
54
+
55
+ var text = " "
56
+
57
+ override fun onTextChanged (oldText : String , newText : String ) {
58
+ text = " Text is changed: $oldText -> $newText "
59
+ }
57
60
}
58
61
59
62
class TextView {
60
63
61
- var listener : TextChangedListener ? = null
64
+ val listeners = mutableListOf< TextChangedListener >()
62
65
63
66
var text: String by Delegates .observable(" <empty>" ) { _, old, new ->
64
- listener?. onTextChanged(old, new)
67
+ listeners.forEach { it. onTextChanged(old, new) }
65
68
}
66
69
}
67
70
```
Original file line number Diff line number Diff line change @@ -9,33 +9,38 @@ interface TextChangedListener {
9
9
10
10
class PrintingTextChangedListener : TextChangedListener {
11
11
12
- override fun onTextChanged (oldText : String , newText : String ) =
13
- println (" Text is changed $oldText -> $newText " )
12
+ var text = " "
13
+
14
+ override fun onTextChanged (oldText : String , newText : String ) {
15
+ text = " Text is changed: $oldText -> $newText "
16
+ }
14
17
}
15
18
16
19
class TextView {
17
20
18
- var listener : TextChangedListener ? = null
21
+ val listeners = mutableListOf< TextChangedListener >()
19
22
20
23
var text: String by Delegates .observable(" <empty>" ) { _, old, new ->
21
- listener?. onTextChanged(old, new)
24
+ listeners.forEach { it. onTextChanged(old, new) }
22
25
}
23
26
}
24
27
25
28
class ListenerTest {
26
29
27
30
@Test
28
31
fun `Listener` () {
32
+ val listener = PrintingTextChangedListener ()
33
+
29
34
val textView = TextView ().apply {
30
- listener = PrintingTextChangedListener ( )
35
+ listeners.add(listener )
31
36
}
32
37
33
38
with (textView) {
34
39
text = " Lorem ipsum"
35
40
text = " dolor sit amet"
36
41
}
37
42
38
- assertThat(textView. listener).isNotNull( )
43
+ assertThat(listener.text).isEqualTo( " Text is changed: Lorem ipsum -> dolor sit amet " )
39
44
}
40
45
}
41
46
You can’t perform that action at this time.
0 commit comments