blob: 3cca530c4919d151d717b7621753df93f414131a [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 java.awt.Color color = null
def a = color?.alpha
assert a == 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
}
}