UNPKG

jsx

Version:

a faster, safer, easier JavaScript

43 lines (39 loc) 1.14 kB
// do not run if --minify is set /*JSX_OPTS */ /*EXPECTED importing#say imported#say inner.say */ import "js.jsx"; // FIXME only run this test on js emitter import "064.JSX_file/foo.jsx"; import "064.JSX_file/inner.jsx"; class _Private { function constructor(x : number) { } static function say() : void { log "importing#say"; } } class _Main { static function testInner() : void { // "unclassify" optimizer changes the interface, thus disabled // js.eval("(new (JSX.require('t/run/064.JSX_file/inner.jsx')['Outer.Inner$'])).say$()"); js.eval("JSX.require('t/run/064.JSX_file/inner.jsx')['Outer.Inner'].say$()"); } static function main(args : string[]) : void { var doit = (function () : function (: string) : void { var jsx = js.global["JSX"] as Map.<variant>; var require = jsx["require"] as function (: string) : Map.<variant>; return function (path : string) : void { var klass = require(path)["_Private"] as Map.<variant>; var say = klass["say$"] as function () : void; say(); }; })(); doit("t/run/064.JSX_file.jsx"); doit("t/run/064.JSX_file/foo.jsx"); _Main.testInner(); } }