|
Groovy example source code file (Groovy3749Bug.groovy)
The Groovy Groovy3749Bug.groovy source codepackage groovy.bugs class Groovy3749Bug extends GroovyTestCase { void testScriptsProvidingStaticMainMethod() { def scriptStr // test various signatures of main() scriptStr = """ static main(args) { throw new RuntimeException('main called') } """ verifyScriptRun(scriptStr, "RuntimeException") scriptStr = """ static def main(args) { throw new RuntimeException('main called') } """ verifyScriptRun(scriptStr, "RuntimeException") scriptStr = """ static void main(args) { throw new RuntimeException('main called') } """ verifyScriptRun(scriptStr, "RuntimeException") scriptStr = """ static main(String[] args) { throw new RuntimeException('main called') } """ verifyScriptRun(scriptStr, "RuntimeException") scriptStr = """ static def main(String[] args) { throw new RuntimeException('main called') } """ verifyScriptRun(scriptStr, "RuntimeException") scriptStr = """ static void main(String[] args) { throw new RuntimeException('main called') } """ verifyScriptRun(scriptStr, "RuntimeException") // if both main() and the loose statements are provided, then the loose statements should run and not main scriptStr = """ static main(args) { throw new RuntimeException('main called') } throw new Error() """ verifyScriptRun(scriptStr, "Error") assertScript """ def main(args) { throw new RuntimeException('main called') } """ } void verifyScriptRun(scriptText, expectedFailure) { try{ assertScript(scriptText) }catch(Throwable ex) { assertTrue ex.class.name.contains(expectedFailure) } } } Other Groovy examples (source code examples)Here is a short list of links related to this Groovy Groovy3749Bug.groovy source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.