@@ -10,16 +10,34 @@ object ToStringTest {
10
10
testBoolean(true , " true" ) &&
11
11
testBoolean(false , " false" ) &&
12
12
! testBoolean(true , " tru" ) && // confidence test
13
+ testAny(true , " true" ) &&
14
+ testAny(false , " false" ) &&
13
15
testChar('A' , " A" ) &&
14
- testByte(54 , " 54" ) &&
15
- testShort(6543 , " 6543" ) &&
16
+ testAny('A' , " A" ) &&
17
+ testByte(54 .toByte, " 54" ) &&
18
+ testAny(54 .toByte, " 54" ) &&
19
+ testShort(6543 .toShort, " 6543" ) &&
20
+ testAny(6543 .toShort, " 6543" ) &&
16
21
testInt(- 3423456 , " -3423456" ) &&
17
- // testLong(1234567891011L, "1234567891011") && // TODO does not work yet
22
+ testAny(- 3423456 , " -3423456" ) &&
23
+ testLong(1234567891011L , " 1234567891011" ) &&
24
+ testAny(1234567891011L , " 1234567891011" ) &&
18
25
testFloat(1.5f , " 1.5" ) &&
26
+ testAny(1.5f , " 1.5" ) &&
19
27
testDouble(1.4 , " 1.4" ) &&
28
+ testAny(1.4 , " 1.4" ) &&
20
29
testString(" foo" , " foo" ) &&
30
+ testAny(" foo" , " foo" ) &&
21
31
testString(null , " null" ) &&
32
+ testAny(null , " null" ) &&
22
33
testUndef((), " undefined" ) &&
34
+ testAny((), " undefined" ) &&
35
+ testMyToString(new MyToString (), " my toString" ) &&
36
+ testMyToString(null , " null" ) &&
37
+ testAny(new MyToString (), " my toString" ) &&
38
+ testToStringNull(new ToStringNull (), " null" ) &&
39
+ testToStringNull(null , " null" ) &&
40
+ testAny(new ToStringNull (), " null" ) &&
23
41
testConcat(1 , " foo" , " 1foo" ) &&
24
42
testConcat(2 , null , " 2null" )
25
43
}
@@ -54,6 +72,25 @@ object ToStringTest {
54
72
def testUndef (x : Unit , expected : String ): Boolean =
55
73
" " + x == expected
56
74
75
+ def testMyToString (x : MyToString , expected : String ): Boolean =
76
+ " " + x == expected
77
+
78
+ def testToStringNull (x : ToStringNull , expected : String ): Boolean =
79
+ " " + x == expected
80
+
81
+ def testAny (x : Any , expected : String ): Boolean =
82
+ " " + x == expected
83
+
57
84
def testConcat (x : Int , y : String , expected : String ): Boolean =
58
85
" " + x + y == expected
86
+
87
+ class MyToString {
88
+ @ noinline
89
+ override def toString (): String = " my toString"
90
+ }
91
+
92
+ class ToStringNull {
93
+ @ noinline
94
+ override def toString (): String = null // evil
95
+ }
59
96
}
0 commit comments