function testRecursion() { $ctx = $this->ctx; $ctx->push(array("foo" => "bar")); $this->assertEqual($ctx["foo"], "bar"); $ctx->push($ctx); $this->assertEqual($ctx["foo"], "bar"); $ctx->push($ctx); $this->assertEqual($ctx["foo"], "bar"); $ctx2 = new Proust\Context($this->m); $ctx2->push(array("foo" => "blorg")); $ctx->push($ctx2); $this->assertEqual($ctx["foo"], "blorg"); $ctx->push($ctx); $this->assertEqual($ctx["foo"], "blorg"); $ctx->pop(); $ctx->pop(); $this->assertEqual($ctx["foo"], "bar"); }