1ba8a6a5afcbf59bdde0e822c86062b86d98cb8c
[platform/framework/web/wrtjs.git] / device_home / node_modules / jake / test / integration / file_task.js
1 const PROJECT_DIR=process.env.PROJECT_DIR;let assert=require("assert"),fs=require("fs"),exec=require("child_process").execSync,{rmRf:rmRf}=require(`${PROJECT_DIR}/lib/jake`),cleanUpAndNext=function(e){rmRf("./foo",{silent:!0}),e&&e()};suite("fileTask",(function(){this.timeout(7e3),setup((function(){cleanUpAndNext()})),test("where a file-task prereq does not change with --always-make",(function(){let e;e=exec("./node_modules/.bin/jake -q fileTest:foo/from-src1.txt").toString().trim(),assert.equal("fileTest:foo/src1.txt task\nfileTest:foo/from-src1.txt task",e),e=exec("./node_modules/.bin/jake -q -B fileTest:foo/from-src1.txt").toString().trim(),assert.equal("fileTest:foo/src1.txt task\nfileTest:foo/from-src1.txt task",e),cleanUpAndNext()})),test("concating two files",(function(){let e;e=exec("./node_modules/.bin/jake -q fileTest:foo/concat.txt").toString().trim(),assert.equal("fileTest:foo/src1.txt task\ndefault task\nfileTest:foo/src2.txt task\nfileTest:foo/concat.txt task",e);let t=fs.readFileSync(process.cwd()+"/foo/concat.txt");assert.equal("src1src2",t.toString()),cleanUpAndNext()})),test("where a file-task prereq does not change",(function(){let e;e=exec("./node_modules/.bin/jake -q fileTest:foo/from-src1.txt").toString().trim(),assert.equal("fileTest:foo/src1.txt task\nfileTest:foo/from-src1.txt task",e),e=exec("./node_modules/.bin/jake -q fileTest:foo/from-src1.txt").toString().trim(),assert.equal("",e),cleanUpAndNext()})),test("where a file-task prereq does change, then does not",(function(e){exec("mkdir -p ./foo"),exec("touch ./foo/from-src1.txt"),setTimeout((()=>{let t;fs.writeFileSync("./foo/src1.txt","-SRC"),t=exec("./node_modules/.bin/jake -q fileTest:foo/from-src1.txt").toString().trim(),assert.equal("fileTest:foo/from-src1.txt task",t),t=exec("./node_modules/.bin/jake -q fileTest:foo/from-src1.txt").toString().trim(),assert.equal("",t),cleanUpAndNext(e)}),1e3)})),test("a preexisting file",(function(){let e,t="howdy";exec("mkdir -p ./foo"),fs.writeFileSync("foo/prereq.txt",t),e=exec("./node_modules/.bin/jake -q fileTest:foo/from-prereq.txt").toString().trim(),assert.equal("fileTest:foo/from-prereq.txt task",e);let o=fs.readFileSync(process.cwd()+"/foo/from-prereq.txt");assert.equal(t,o.toString()),e=exec("./node_modules/.bin/jake -q fileTest:foo/from-prereq.txt").toString().trim(),assert.equal("",e),cleanUpAndNext()})),test("a preexisting file with --always-make flag",(function(){let e,t="howdy";exec("mkdir -p ./foo"),fs.writeFileSync("foo/prereq.txt",t),e=exec("./node_modules/.bin/jake -q fileTest:foo/from-prereq.txt").toString().trim(),assert.equal("fileTest:foo/from-prereq.txt task",e);let o=fs.readFileSync(process.cwd()+"/foo/from-prereq.txt");assert.equal(t,o.toString()),e=exec("./node_modules/.bin/jake -q -B fileTest:foo/from-prereq.txt").toString().trim(),assert.equal("fileTest:foo/from-prereq.txt task",e),cleanUpAndNext()})),test("nested directory-task",(function(){exec("./node_modules/.bin/jake -q fileTest:foo/bar/baz/bamf.txt");let e=fs.readFileSync(process.cwd()+"/foo/bar/baz/bamf.txt");assert.equal("w00t",e),cleanUpAndNext()}))}));