@@ -21,7 +21,27 @@ public static void main(String[] args) throws Exception {
21
21
// test4();
22
22
// test5();
23
23
// test6();
24
- test7 ();
24
+ // test7();
25
+ test8 ();
26
+ }
27
+
28
+ private static void test8 ()throws ScriptException {
29
+ NashornScriptEngine engine =createEngine ();
30
+
31
+ engine .eval ("var obj = { foo: 23 };" );
32
+
33
+ ScriptContext defaultContext =engine .getContext ();
34
+ Bindings defaultBindings =defaultContext .getBindings (ScriptContext .ENGINE_SCOPE );
35
+
36
+ SimpleScriptContext context1 =new SimpleScriptContext ();
37
+ context1 .setBindings (defaultBindings ,ScriptContext .ENGINE_SCOPE );
38
+
39
+ SimpleScriptContext context2 =new SimpleScriptContext ();
40
+ context2 .getBindings (ScriptContext .ENGINE_SCOPE ).put ("obj" ,defaultBindings .get ("obj" ));
41
+
42
+ engine .eval ("obj.foo = 44;" ,context1 );
43
+ engine .eval ("print(obj.foo);" ,context1 );
44
+ engine .eval ("print(obj.foo);" ,context2 );
25
45
}
26
46
27
47
private static void test7 ()throws ScriptException {
@@ -118,7 +138,10 @@ private static void test3() throws ScriptException {
118
138
private static void test2 ()throws ScriptException {
119
139
NashornScriptEngine engine =createEngine ();
120
140
engine .eval ("function foo() { print('bar') };" );
121
- engine .eval ("foo();" ,new SimpleScriptContext ());
141
+
142
+ SimpleScriptContext context =new SimpleScriptContext ();
143
+ engine .eval ("print(Function);" ,context );
144
+ engine .eval ("foo();" ,context );
122
145
}
123
146
124
147
private static void test1 ()throws ScriptException {