大名鼎鼎的java动态脚本语言。已经通过了sun的认证

源代码在线查看: gstringtest.groovy

软件大小: 1630 K
上传用户: hjf
关键词: java sun 动态 脚本
下载地址: 免注册下载 普通下载 VIP

相关代码

				class GStringTest extends GroovyTestCase {								    void check(template, teststr) {				        assert template instanceof GString								        def count = template.getValueCount()				        assert count == 1				        assert template.getValue(0) == "Bob"								        def string = template.toString()				        assert string == teststr				    }								    void testWithOneVariable() {				        def name = "Bob"				        def teststr = "hello Bob how are you?"												    check("hello $name how are you?", teststr)				    check("hello ${name} how are you?", teststr)				    check("hello ${println "feep"; name} how are you?", teststr)				    check(/hello $name how are you?/, teststr)				    check(/hello ${name} how are you?/, teststr)				    check(/hello ${println "feep"; name} how are you?/, teststr)				    }								    void testWithVariableAtEnd() {				        def name = "Bob"				        def teststr = "hello Bob"								        check("hello $name", teststr)				        check("hello ${name}", teststr)				        check(/hello $name/, teststr)				        check(/hello ${name}/, teststr)				    }				    				    void testWithVariableAtBeginning() {				        def name = "Bob"				        def teststr = "Bob hey"				        check("$name hey", teststr)				        check("${name} hey", teststr)				        name = ""				        check("${name += "Bob"; name} hey", teststr)				        assert name == "Bob"				        check(/$name hey/, teststr)				        check(/${name} hey/, teststr)				        name = ""				        check(/${name += "Bob"; name} hey/, teststr)				    }								    void testWithJustVariable() {				        def teststr				        def name = teststr = "Bob"				        check("$name", teststr)				        check("${name}", teststr)				        check("${assert name=="Bob"; name}", teststr)				        // Put punctuation after the variable name:				        check("$name.", "Bob.")				        check("$name...", "Bob...")				        check("$name?", "Bob?")								        check(/$name/, teststr)				        check(/${name}/, teststr)				        check(/${assert name=="Bob"; name}/, teststr)				        // Put punctuation after the variable name:				        check(/$name./, "Bob.")				        check(/$name.../, "Bob...")				        check(/$name?/, "Bob?")				        check(/$name\?/, "Bob\\?")				        check(/$name$/, "Bob\$")								        def guy = [name: name]				        check("${guy.name}", "Bob")				        check("$guy.name", "Bob")				        check("$guy.name.", "Bob.")				        check("$guy.name...", "Bob...")				        check("$guy.name?", "Bob?")				        check(/$guy.name/, "Bob")				        check(/$guy.name./, "Bob.")				        check(/$guy.name.../, "Bob...")				        check(/$guy.name?/, "Bob?")				        check(/$guy.name\?/, "Bob\\?")				        check(/$guy.name$/, "Bob\$")				    }				    				    void testWithTwoVariables() {				        def name = "Bob"				        def template = "${name}${name}"				        def string = template.toString()				        				        assert string == "BobBob"				    }				    				    void testWithTwoVariablesWithSpace() {				        def name = "Bob"				        def template = "${name} ${name}"				        def string = template.toString()				        				        assert string == "Bob Bob"				    }				    				    void testAppendString() {				        def a = "dog" 				        def b = "a ${a}"				        				        def c = b + " cat"								        println("Created ${c}")				        				        assert c.toString() == "a dog cat" , c				        				        b += " cat"				        				        assert b.toString() == "a dog cat" , b				    }				    				    void testAppendGString() {				        def a = "dog" 				        def b = "a ${a}" 				        b += " cat${a}"				        				        assert b.toString() == "a dog catdog" , b				        				        println("Created ${b}")				    }				    				    void testReturnString() {				        def value = dummyMethod()				        assert value == "Hello Gromit!"				    }				    				    String dummyMethod() {				        def name = "Gromit"				        return "Hello ${name}!"				    }				    				    void testCoerce() {				        def enc = "US-ASCII"				        def value = "test".getBytes("${enc}")				        				        println "Created ${value}"				        assert value != null				    }				    				    void testGroovy441() {				        def arg = "test"				        def content = "${arg} ="								        if (arg != "something") {				            content += "?"				        }								        content += "= ${arg}."								        assert content == "test =?= test."				    }								    void testTwoStringsInMiddle() {				        def a = "---"				        def b = "${a} :"				        b += "				        b += ">>"				        b += ": ${a}"				        assert b == "--- :: ---"				    }								    void testAlternatingGStrings() {				        def a = "---"				        def b = "${a} :"				        b += "				        b += " [[${a}]] "				        b += ">>"				        b += ": ${a}"				        assert b == "--- :>: ---"				    }								    // Test case for bug GROOVY-599				    void testGStringInStaticMethod() {				        int value = 2				        String str = "1${value}3"				        int result = Integer.parseInt(str)				        assert result == 123				        result = Integer.parseInt("1${value}3")				        assert result == 123				    }				 }							

相关资源