blob: da0513ed8ae71bc99fefd1ad74802a940d141eed (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
package scala.collection.convert
import java.util.{concurrent => juc}
import java.{lang => jl, util => ju}
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import scala.collection.JavaConverters._
import scala.collection.convert.ImplicitConversions._
import scala.collection.{concurrent, mutable}
// SI-9113: tests to insure that wrappers return null instead of wrapping it as a collection
@RunWith(classOf[JUnit4])
class NullSafetyToJavaTest {
@Test def testIteratorWrapping(): Unit = {
val nullIterator: Iterator[AnyRef] = null
val jIterator: ju.Iterator[AnyRef] = nullIterator
assert(jIterator == null)
}
@Test def testEnumerationWrapping(): Unit = {
val nullEnumeration: Iterator[AnyRef] = null
val enumeration: ju.Iterator[AnyRef] = nullEnumeration
assert(enumeration == null)
}
@Test def testIterableWrapping(): Unit = {
val nullIterable: Iterable[AnyRef] = null
val iterable: jl.Iterable[AnyRef] = asJavaIterable(nullIterable)
assert(iterable == null)
}
@Test def testCollectionWrapping(): Unit = {
val nullCollection: Iterable[AnyRef] = null
val collection: ju.Collection[AnyRef] = nullCollection
assert(collection == null)
}
@Test def testBufferWrapping(): Unit = {
val nullList: mutable.Buffer[AnyRef] = null
val buffer: ju.List[AnyRef] = nullList
assert(buffer == null)
}
@Test def testSetWrapping(): Unit = {
val nullSet: mutable.Set[AnyRef] = null
val set: ju.Set[AnyRef] = nullSet
assert(set == null)
}
@Test def testMapWrapping(): Unit = {
val nullMap: mutable.Map[AnyRef, AnyRef] = null
val map: ju.Map[AnyRef, AnyRef] = nullMap
assert(map == null)
}
@Test def testConcurrentMapWrapping(): Unit = {
val nullConMap: concurrent.Map[AnyRef, AnyRef] = null
val conMap: juc.ConcurrentMap[AnyRef, AnyRef] = nullConMap
assert(conMap == null)
}
@Test def testDictionaryWrapping(): Unit = {
val nullDict: mutable.Map[AnyRef, AnyRef] = null
val dict: ju.Dictionary[AnyRef, AnyRef] = nullDict
assert(dict == null)
}
// Implicit conversion to ju.Properties is not available
@Test def testIteratorDecoration(): Unit = {
val nullIterator: Iterator[AnyRef] = null
assert(nullIterator.asJava == null)
}
@Test def testEnumerationDecoration(): Unit = {
val nullEnumeration: Iterator[AnyRef] = null
assert(nullEnumeration.asJavaEnumeration == null)
}
@Test def testIterableDecoration(): Unit = {
val nullIterable: Iterable[AnyRef] = null
assert(nullIterable.asJava == null)
}
@Test def testCollectionDecoration(): Unit = {
val nullCollection: Iterable[AnyRef] = null
assert(nullCollection.asJavaCollection == null)
}
@Test def testBufferDecoration(): Unit = {
val nullBuffer: mutable.Buffer[AnyRef] = null
assert(nullBuffer.asJava == null)
}
@Test def testSetDecoration(): Unit = {
val nullSet: Set[AnyRef] = null
assert(nullSet.asJava == null)
}
@Test def testMapDecoration(): Unit = {
val nullMap: mutable.Map[AnyRef, AnyRef] = null
assert(nullMap.asJava == null)
}
@Test def testConcurrentMapDecoration(): Unit = {
val nullConMap: concurrent.Map[AnyRef, AnyRef] = null
assert(nullConMap.asJava == null)
}
@Test def testDictionaryDecoration(): Unit = {
val nullDict: mutable.Map[AnyRef, AnyRef] = null
assert(nullDict.asJavaDictionary == null)
}
// Decorator conversion to ju.Properties is not available
}
|