| var ScriptContext = javax.script.ScriptContext; | |
| if (key == undefined || key != 'engine value') { | |
| throw "unexpected engine scope value"; | |
| } | |
| // pre-defined context variable refers to current ScriptContext | |
| if (context.getAttribute('key', ScriptContext.GLOBAL_SCOPE) != 'global value') { | |
| throw "unexpected global scope value"; | |
| } | |
| // change the engine scope value | |
| key = 'new engine value'; | |
| if (context.getAttribute('key', ScriptContext.GLOBAL_SCOPE) != 'global value') { | |
| throw "global scope should not change here"; | |
| } | |
| // delete engine scope value | |
| delete key; | |
| if (key == undefined && key != 'global value') { | |
| throw 'global scope should be visible after engine scope removal'; | |
| } |