| var ScriptContext = javax.script.ScriptContext; | |
| print(count); | |
| switch (count) { | |
| // engine only | |
| case 1: | |
| if (key != 'value in engine') { | |
| throw "unexpected engine scope value"; | |
| } | |
| if (context.getAttribute("key", ScriptContext.GLOBAL_SCOPE ) != null) { | |
| throw "unexpected global scope value"; | |
| } | |
| break; | |
| // both scopes | |
| case 2: | |
| if (key != 'value in engine') { | |
| throw "unexpected engine scope value"; | |
| } | |
| if (context.getAttribute("key", ScriptContext.GLOBAL_SCOPE ) != | |
| "value in global") { | |
| throw "unexpected global scope value"; | |
| } | |
| break; | |
| // global only | |
| case 3: | |
| if (key != 'value in global') { | |
| throw "unexpected global scope value"; | |
| } | |
| if (context.getAttribute("key", ScriptContext.GLOBAL_SCOPE ) != | |
| "value in global") { | |
| throw "unexpected global scope value"; | |
| } | |
| break; | |
| default: | |
| throw "unexpected count"; | |
| break; | |
| } |