package groovy | |
class KeywordsInPropertyNamesTest extends GroovyTestCase { | |
void testKeywords() { | |
def value = "returnValue" | |
StaticAndDefaultClass.metaClass.static.dynStaticMethod = {-> value } | |
assert value == StaticAndDefaultClass.dynStaticMethod() | |
StaticAndDefaultClass.metaClass.default = value | |
StaticAndDefaultClass.metaClass.goto = value | |
assert value == new StaticAndDefaultClass().default | |
assert value == new StaticAndDefaultClass().goto | |
assert String.package.name == 'java.lang' | |
} | |
void testKeywordsAsMapKeys() { | |
def map = [goto: 1, default: 2, static: 3] | |
assert 1 == map.goto | |
assert 2 == map.default | |
assert 3 == map.static | |
} | |
void testMapWithKeywords() { | |
def map = [ | |
transient : 'breeze', | |
public : 'bar', | |
private : 'message', | |
static : 'electricity', | |
new : 'car', | |
true : 'love', | |
(new Date()) : 'foo', | |
null : 'bar', | |
(null) : 'baz' | |
] | |
assert map.transient == 'breeze' | |
assert map.new == 'car' | |
assert map.static == 'electricity' | |
assert map.true == 'love' | |
assert map.null == 'bar' | |
assert map[null] == 'baz' | |
} | |
} | |
class StaticAndDefaultClass {} |