[hotfix] Ignore type checking for edge
[platform/framework/web/wrtjs.git] / device_home / node_modules / jake / test / integration / task_base.js
1 let assert=require("assert"),h=require("./helpers"),exec=require("child_process").execSync;suite("taskBase",(function(){this.timeout(7e3),test("default task",(function(){let e;e=exec("./node_modules/.bin/jake -q").toString().trim(),assert.equal(e,"default task"),e=exec("./node_modules/.bin/jake -q default").toString().trim(),assert.equal(e,"default task")})),test("task with no action",(function(){let e=exec("./node_modules/.bin/jake -q noAction").toString().trim();assert.equal(e,"default task")})),test("a task with no action and no prereqs",(function(){exec("./node_modules/.bin/jake noActionNoPrereqs")})),test("a task that exists at the top-level, and not in the specified namespace, should error",(function(){let e=require("child_process").spawnSync("./node_modules/.bin/jake",["asdfasdfasdf:zerbofrangazoomy"]).stderr.toString();assert.ok(e.indexOf(!1))})),test("passing args to a task",(function(){let e=exec("./node_modules/.bin/jake -q argsEnvVars[foo,bar]").toString().trim(),t=h.parse(e).args;assert.equal(t[0],"foo"),assert.equal(t[1],"bar")})),test("a task with environment vars",(function(){let e=exec("./node_modules/.bin/jake -q argsEnvVars foo=bar baz=qux").toString().trim(),t=h.parse(e).env;assert.equal(t.foo,"bar"),assert.equal(t.baz,"qux")})),test("passing args and using environment vars",(function(){let e=exec("./node_modules/.bin/jake -q argsEnvVars[foo,bar] foo=bar baz=qux").toString().trim(),t=h.parse(e),a=t.args,o=t.env;assert.equal(a[0],"foo"),assert.equal(a[1],"bar"),assert.equal(o.foo,"bar"),assert.equal(o.baz,"qux")})),test("a simple prereq",(function(){let e=exec("./node_modules/.bin/jake -q foo:baz").toString().trim();assert.equal(e,"foo:bar task\nfoo:baz task")})),test("a duplicate prereq only runs once",(function(){let e=exec("./node_modules/.bin/jake -q foo:asdf").toString().trim();assert.equal(e,"foo:bar task\nfoo:baz task\nfoo:asdf task")})),test("a prereq with command-line args",(function(){let e=exec("./node_modules/.bin/jake -q foo:qux").toString().trim();assert.equal(e,"foo:bar[asdf,qwer] task\nfoo:qux task")})),test("a prereq with args via invoke",(function(){let e=exec("./node_modules/.bin/jake -q foo:frang[zxcv,uiop]").toString().trim();assert.equal(e,"foo:bar[zxcv,uiop] task\nfoo:frang task")})),test("a prereq with args via execute",(function(){let e=exec("./node_modules/.bin/jake -q foo:zerb[zxcv,uiop]").toString().trim();assert.equal(e,"foo:bar[zxcv,uiop] task\nfoo:zerb task")})),test("repeating the task via execute",(function(){let e=exec("./node_modules/.bin/jake -q foo:voom").toString().trim();assert.equal(e,"foo:bar task\nfoo:bar task\ncomplete\ncomplete")})),test("prereq execution-order",(function(){let e=exec("./node_modules/.bin/jake -q hoge:fuga").toString().trim();assert.equal(e,"hoge:hoge task\nhoge:piyo task\nhoge:fuga task")})),test("basic async task",(function(){let e=exec("./node_modules/.bin/jake -q bar:bar").toString().trim();assert.equal(e,"bar:foo task\nbar:bar task")})),test("promise async task",(function(){let e=exec("./node_modules/.bin/jake -q bar:dependOnpromise").toString().trim();assert.equal(e,"bar:promise task\nbar:dependOnpromise task saw value 123654")})),test("failing promise async task",(function(){try{exec("./node_modules/.bin/jake -q bar:brokenPromise")}catch(e){assert(e.message.indexOf("Command failed")>-1)}})),test("that current-prereq index gets reset",(function(){let e=exec("./node_modules/.bin/jake -q hoge:kira").toString().trim();assert.equal(e,"hoge:hoge task\nhoge:piyo task\nhoge:fuga task\nhoge:charan task\nhoge:gero task\nhoge:kira task")})),test("modifying a task by adding prereq during execution",(function(){let e=exec("./node_modules/.bin/jake -q voom").toString().trim();assert.equal(e,2)})),test("listening for task error-event",(function(){try{exec("./node_modules/.bin/jake -q vronk:groo").toString().trim()}catch(e){assert(e.message.indexOf("OMFGZONG")>-1)}})),test("listening for jake error-event",(function(){let e=exec("./node_modules/.bin/jake -q throwy").toString().trim();assert(e.indexOf("Emitted\nError: I am bad")>-1)})),test("listening for jake unhandledRejection-event",(function(){let e=exec("./node_modules/.bin/jake -q promiseRejecter").toString().trim();assert.equal(e,"<promise rejected on purpose>")})),test("large number of same prereqs",(function(){let e=exec("./node_modules/.bin/jake -q large:same").toString().trim();assert.equal(e,"large:leaf\nlarge:same")})),test("large number of different prereqs",(function(){let e=exec("./node_modules/.bin/jake -q large:different").toString().trim();assert.equal(e,"leaf-12\nleaf-123\nlarge:different")})),test("large number of different prereqs",(function(){let e=exec("./node_modules/.bin/jake -q usingRequire:test").toString().trim();assert.equal(e,"howdy test")})),test("modifying a namespace by adding a new task",(function(){let e=exec("./node_modules/.bin/jake -q one:two").toString().trim();assert.equal("one:one\none:two",e)}))}));