@Override public void close() { leaveScope(); }
@Test public void enterScopeTryFinally() { interpreter.getContext().put("foo", "parent"); interpreter.enterScope(); try { interpreter.getContext().put("foo", "child"); assertThat(interpreter.resolveELExpression("foo", 1)).isEqualTo("child"); } finally { interpreter.leaveScope(); } assertThat(interpreter.resolveELExpression("foo", 1)).isEqualTo("parent"); }
@Test public void enterScopeTryFinally() { interpreter.getContext().put("foo", "parent"); interpreter.enterScope(); try { interpreter.getContext().put("foo", "child"); assertThat(interpreter.resolveELExpression("foo", 1)).isEqualTo("child"); } finally { interpreter.leaveScope(); } assertThat(interpreter.resolveELExpression("foo", 1)).isEqualTo("parent"); }
@Test public void bubbleUpDependenciesFromLowerScope() { String dependencyType = "foo"; String dependencyIdentifier = "123"; interpreter.enterScope(); interpreter.getContext().addDependency(dependencyType, dependencyIdentifier); assertThat(interpreter.getContext().getDependencies().get(dependencyType)).contains(dependencyIdentifier); interpreter.leaveScope(); assertThat(interpreter.getContext().getDependencies().get(dependencyType)).contains(dependencyIdentifier); }
@Test public void bubbleUpDependenciesFromLowerScope() { String dependencyType = "foo"; String dependencyIdentifier = "123"; interpreter.enterScope(); interpreter.getContext().addDependency(dependencyType, dependencyIdentifier); assertThat(interpreter.getContext().getDependencies().get(dependencyType)).contains(dependencyIdentifier); interpreter.leaveScope(); assertThat(interpreter.getContext().getDependencies().get(dependencyType)).contains(dependencyIdentifier); }