UNPKG

6.28 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/cli.test.js"],"names":["test","require","execa","BIN","resolve","bin","config","err","Error","stdout","stderr","join","Object","assign","extendEnv","t","env","CI","TRAVIS","throws"],"mappings":";;AAAA;AACA;AACA;AACA,MAAMA,OAAOC,QAAQ,KAAR,CAAb;AACA,MAAMC,QAAQD,QAAQ,OAAR,CAAd;AACA;AACA;;AAEA;AACA;AACA,MAAME,MAAMF,QAAQG,OAAR,CAAgB,eAAhB,CAAZ;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,MAAM,CAAOC,SAAS,EAAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2CAGFC,GAHE,EAGG;AAAA;AACb,SAAM,IAAIC,KAAJ,CAAU,CAACD,IAAIE,MAAL,EAAaF,IAAIG,MAAjB,EAAyBC,IAAzB,CAA8B,IAA9B,CAAV,CAAN;AADa;AAAA;AAAA;AAEb,EALU;AACX,KAAI;AACI,yBAAMT,MAAMC,GAAN,EAAWS,OAAOC,MAAP,CAAc,EAACC,WAAW,KAAZ,EAAd,EAAkCR,MAAlC,CAAX,CAAN;AACP,EAFD,CAEE,OAAOC,GAAP,EAAY;AAAA,eAALA,GAAK;AAEb;AALU,aAAZ;;AAQAP,KAAK,oCAAL,EAAiDe,CAAN;AAAA;AACpCC,IADoC,GAC9B;AACXC,MAAI,KADO;AAEXC,UAAQ;AAFG,EAD8B;AAM1C,wBAAMH,EAAEI,MAAF,CACLd,IAAI,EAACW,GAAD,EAAJ,CADK,EAEL,6DAFK,CAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAN0C,aAA3C;;AAYA;;;;;;;;;;;;AAYAhB,KAAK,8DAAL,EAA2Ee,CAAN;AAAA;AAC9DC,IAD8D,GACxD;AACXE,UAAQ,IADG;AAEXD,MAAI;AAFO,EADwD;AAMpE,wBAAMF,EAAEI,MAAF,CAASd,IAAI,EAACW,GAAD,EAAJ,CAAT,EAAqB,eAArB,CAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AANoE,aAArE;;AASA","file":"cli.test.js","sourcesContent":["// Disable ftb\n// const os = require('os');\n// const {git} = require('@commitlint/test');\nconst test = require('ava');\nconst execa = require('execa');\n// Disable ftb\n// const which = require('which');\n\n// Disable ftb\n// const NODE_BIN = which.sync('node');\nconst BIN = require.resolve('../lib/cli.js');\n\n// Disable ftb\n// const TRAVIS_COMMITLINT_BIN = require.resolve('../fixtures/commitlint');\n// const TRAVIS_COMMITLINT_GIT_BIN = require.resolve('../fixtures/git');\n// const TRAVIS_BRANCH = 'TRAVIS_BRANCH';\n// const TRAVIS_COMMIT = 'TRAVIS_COMMIT';\n\nconst bin = async (config = {}) => {\n\ttry {\n\t\treturn await execa(BIN, Object.assign({extendEnv: false}, config));\n\t} catch (err) {\n\t\tthrow new Error([err.stdout, err.stderr].join('\\n'));\n\t}\n};\n\ntest('should throw when not on travis ci', async t => {\n\tconst env = {\n\t\tCI: false,\n\t\tTRAVIS: false\n\t};\n\n\tawait t.throws(\n\t\tbin({env}),\n\t\t/@commitlint\\/travis-cli is intended to be used on Travis CI/\n\t);\n});\n\n/* Test.failing(\n\t'should throw when on travis ci, but env vars are missing',\n\tasync t => {\n\t\tconst env = {\n\t\t\tTRAVIS: true,\n\t\t\tCI: true\n\t\t};\n\n\t\tawait t.throws(bin({env}), /TRAVIS_COMMIT, TRAVIS_BRANCH/);\n\t}\n); */\n\ntest('should throw when on travis ci, but TRAVIS_COMMIT is missing', async t => {\n\tconst env = {\n\t\tTRAVIS: true,\n\t\tCI: true\n\t};\n\n\tawait t.throws(bin({env}), /TRAVIS_COMMIT/);\n});\n\n/* Test.failing(\n\t'should throw when on travis ci, but TRAVIS_BRANCH is missing',\n\tasync t => {\n\t\tconst env = {\n\t\t\tTRAVIS: true,\n\t\t\tCI: true\n\t\t};\n\n\t\tawait t.throws(bin({env}), /TRAVIS_BRANCH/);\n\t}\n);\n\ntest.failing('should call git with expected args on shallow repo', async t => {\n\tif (os.platform() === 'win32') {\n\t\tt.pass();\n\t\treturn;\n\t}\n\n\tconst cwd = await git.clone('https://github.com/conventional-changelog/commitlint.git', [\n\t\t'--depth=10'\n\t]);\n\n\tconst env = {\n\t\tTRAVIS: true,\n\t\tCI: true,\n\t\tTRAVIS_BRANCH,\n\t\tTRAVIS_COMMIT,\n\t\tTRAVIS_COMMITLINT_BIN,\n\t\tTRAVIS_COMMITLINT_GIT_BIN\n\t};\n\n\tconst result = await bin({cwd, env});\n\tconst invocations = await getInvocations(result.stdout);\n\tt.is(invocations.length, 7);\n\n\tconst [\n\t\tstash,\n\t\tbranches,\n\t\tunshallow,\n\t\tcheckout,\n\t\tback,\n\t\tpop,\n\t\tcommilint\n\t] = invocations;\n\n\tt.deepEqual(stash, [NODE_BIN, TRAVIS_COMMITLINT_GIT_BIN, 'stash']);\n\tt.deepEqual(branches, [\n\t\tNODE_BIN,\n\t\tTRAVIS_COMMITLINT_GIT_BIN,\n\t\t'remote',\n\t\t'set-branches',\n\t\t'origin',\n\t\tTRAVIS_BRANCH\n\t]);\n\tt.deepEqual(unshallow, [\n\t\tNODE_BIN,\n\t\tTRAVIS_COMMITLINT_GIT_BIN,\n\t\t'fetch',\n\t\t'--unshallow',\n\t\t'--quiet'\n\t]);\n\tt.deepEqual(checkout, [\n\t\tNODE_BIN,\n\t\tTRAVIS_COMMITLINT_GIT_BIN,\n\t\t'checkout',\n\t\tTRAVIS_BRANCH,\n\t\t'--quiet'\n\t]);\n\tt.deepEqual(back, [\n\t\tNODE_BIN,\n\t\tTRAVIS_COMMITLINT_GIT_BIN,\n\t\t'checkout',\n\t\t'-',\n\t\t'--quiet'\n\t]);\n\tt.deepEqual(pop, [NODE_BIN, TRAVIS_COMMITLINT_GIT_BIN, 'stash', 'pop']);\n\tt.deepEqual(commilint, [\n\t\tNODE_BIN,\n\t\tTRAVIS_COMMITLINT_BIN,\n\t\t'--from',\n\t\tTRAVIS_BRANCH,\n\t\t'--to',\n\t\tTRAVIS_COMMIT\n\t]);\n});\n\ntest.failing(\n\t'should call git with expected args on unshallow repo',\n\tasync t => {\n\t\tif (os.platform() === 'win32') {\n\t\t\tt.pass();\n\t\t\treturn;\n\t\t}\n\n\t\tconst cwd = await git.clone('https://github.com/conventional-changelog/commitlint.git');\n\n\t\tconst env = {\n\t\t\tTRAVIS: true,\n\t\t\tCI: true,\n\t\t\tTRAVIS_BRANCH,\n\t\t\tTRAVIS_COMMIT,\n\t\t\tTRAVIS_COMMITLINT_BIN,\n\t\t\tTRAVIS_COMMITLINT_GIT_BIN\n\t\t};\n\n\t\tconst result = await bin({cwd, env});\n\t\tconst invocations = await getInvocations(result.stdout);\n\t\tt.is(invocations.length, 6);\n\n\t\tconst [stash, branches, checkout, back, pop, commilint] = invocations;\n\n\t\tt.deepEqual(stash, [NODE_BIN, TRAVIS_COMMITLINT_GIT_BIN, 'stash']);\n\t\tt.deepEqual(branches, [\n\t\t\tNODE_BIN,\n\t\t\tTRAVIS_COMMITLINT_GIT_BIN,\n\t\t\t'remote',\n\t\t\t'set-branches',\n\t\t\t'origin',\n\t\t\tTRAVIS_BRANCH\n\t\t]);\n\t\tt.deepEqual(checkout, [\n\t\t\tNODE_BIN,\n\t\t\tTRAVIS_COMMITLINT_GIT_BIN,\n\t\t\t'checkout',\n\t\t\tTRAVIS_BRANCH,\n\t\t\t'--quiet'\n\t\t]);\n\t\tt.deepEqual(back, [\n\t\t\tNODE_BIN,\n\t\t\tTRAVIS_COMMITLINT_GIT_BIN,\n\t\t\t'checkout',\n\t\t\t'-',\n\t\t\t'--quiet'\n\t\t]);\n\t\tt.deepEqual(pop, [NODE_BIN, TRAVIS_COMMITLINT_GIT_BIN, 'stash', 'pop']);\n\t\tt.deepEqual(commilint, [\n\t\t\tNODE_BIN,\n\t\t\tTRAVIS_COMMITLINT_BIN,\n\t\t\t'--from',\n\t\t\tTRAVIS_BRANCH,\n\t\t\t'--to',\n\t\t\tTRAVIS_COMMIT\n\t\t]);\n\t}\n);\n\nfunction getInvocations(stdout) {\n\tconst matches = stdout.match(/[^[\\]]+/g);\n\tconst raw = Array.isArray(matches) ? matches : [];\n\n\treturn raw.filter(invocation => invocation !== '\\n').map(invocation =>\n\t\tinvocation\n\t\t\t.split(',')\n\t\t\t.map(fragment => fragment.trim())\n\t\t\t.map(fragment => fragment.substring(1, fragment.length - 1))\n\t\t\t.filter(Boolean)\n\t);\n}\n*/\n"]}
\No newline at end of file