<!-- include source files here... -->\r
<script type="text/javascript" src="openfile.js"></script>\r
<script type="text/javascript" src="sleep.js"></script>\r
+<script type="text/javascript" src="base.js"></script>\r
+\r
<script type="text/javascript">\r
(function (file) {\r
describe("Open File to parse XML", function() {\r
}).sleep(0, 12, "he", a);\r
});\r
});\r
+\r
+describe("base.js", function() {\r
+ it("cascading inherit", function() {\r
+ var gl = (function(){ return this; })(); // Global Object\r
+ gl.$parent = gl.base( function() {\r
+ this.hoge = function() {\r
+ return 12;\r
+ };\r
+ this.$child = this.base( function() {\r
+ this.hoge = function() {\r
+ return this.$parent.hoge();\r
+ };\r
+ });\r
+ });\r
+ gl.$parent.$child.hoge(); //12\r
+ });\r
+});\r
</script>\r
<!-- include spec files here... -->\r
\r
\r
if (!this.base) {\r
this.base= function(obj) {\r
- if (!arguments[0] || (typeof arguments[0] !== "string")) {\r
+ if (!arguments[0]) {\r
throw new Error("no arguments error");\r
}\r
var F = function() {},\r
F = void 0;\r
return s;\r
};\r
- this.$parent = this.base( function() {\r
- this.hoge = function() {\r
- return 12;\r
- };\r
- this.$child = this.base( function() {\r
- this.hoge = function() {\r
- return this.$parent.hoge();\r
- };\r
- });\r
- });\r
- this.$parent.$child.hoge(); //12\r
- }
}
\ No newline at end of file