blob: bee7aeee0457d1997e41d7318273f125eb7d96d1 [file] [log] [blame]
package groovy
class SafeNavigationTest extends GroovyTestCase {
void testNullNavigation() {
def x = null
def y = x?.bar
assert y == null
}
void testNormalPropertyNavigation() {
def x = ['a':456, 'foo':['bar':123, 'x':456], 'z':99]
def y = x?.foo?.bar
println("found y ${x?.foo?.bar}")
assert y == 123
}
void testNullPropertyNavigation() {
def x = null
def y = x?.foo?.bar
assert y == null
def Date d = null
def t = d?.time
assert t == null
}
void testNormalMethodCall() {
def x = 1234
def y = x?.toString()
assert y == "1234"
}
void testNullMethodCall() {
def x = null
def y = x?.toString()
assert y == null
}
}