+ \r
+ describe("an 'initToEval' method", function() {\r
+ it("limit value analysis", function() {\r
+ base("$ifp").of(\r
+ {a: function(){return 1;}, b: base("$ifp"),\r
+ call: function() {return 2;}\r
+ }\r
+ ).initToEval();\r
+ expect(base("$ifp").a).toBeUndefined();\r
+ expect(base("$ifp").b).toBeUndefined();\r
+ expect(base("$ifp").b__).toBe(base("$ifp"));\r
+ base("$ifp").call();\r
+ expect(base("$ifp").a).toBe(1);\r
+ expect(base("$ifp").b).toBe(2);\r
+ expect(base("$ifp").b__).toBe(base("$ifp"));\r
+ base("$ifp").initToEval().mix( {a__: function(){return 2;}} );\r
+ expect(base("$ifp").a).toBe(1);\r
+ base("$ifp").call();\r
+ expect(base("$ifp").a).toBe(2);\r
+ expect(base("$ifp").b).toBe(2);\r
+ expect(base("$ifp").b__).toBe(base("$ifp"));\r
+ \r
+ } );\r
+ } );\r
+ \r