├── .gitignore ├── .npmignore ├── HISTORY.md ├── LICENSE-MIT.txt ├── README.md ├── bin └── hux ├── index.js ├── package.json └── source ├── README.md ├── __tests__ ├── getDefaultOpts-test.js ├── runRunnableTasks-test.js └── runTasks-test.js ├── browser ├── __tests__ │ └── browser-test.js └── browser.js ├── constants.js ├── defaultWorkflow ├── __tests__ │ ├── filterExistingRecords-test.js │ ├── filterUnchangedTasks-test.js │ └── removeDirIfOk-test.js ├── defaultWorkflow.js ├── filterExistingRecords.js ├── filterFilesForUnchangedTasks.js ├── filterUnchangedTasks.js ├── getUnchanged.js ├── gitCmds.js └── removeDirIfOk.js ├── fileOps ├── __tests__ │ ├── filterRunnables-test.js │ ├── fixture │ │ ├── Huxleyfile.json │ │ └── nested │ │ │ └── Huxleyfile.json │ └── loadRunnables-test.js ├── filterRunnables.js ├── loadRunnables.js └── utils │ ├── __tests__ │ ├── getFlatUniquePaths-test.js │ └── saveJSON-test.js │ ├── getFlatUniquePaths.js │ ├── loadJSON.js │ └── saveJSON.js ├── getDefaultOpts.js ├── promisified ├── cropP.js ├── execP.js ├── fsP.js ├── globP.js ├── mkdirpP.js ├── outputDiffP.js ├── readP.js └── rimrafP.js ├── record ├── __tests__ │ ├── insertPauses-test.js │ ├── processActions-test.js │ ├── recordCLIUntilQuit-test.js │ └── recordCLIUntilQuitRunner.js ├── actionsTracker │ ├── __tests__ │ │ └── actionsTracker-test.js │ ├── actionsTracker.js │ └── injectedScript.js ├── insertPauses.js ├── processActions.js ├── recordCLIUntilQuit.js ├── recordTask.js └── recordTasks.js ├── replay ├── __tests__ │ ├── actOnScreenshot-test.js │ └── fixture │ │ ├── 1.png │ │ ├── 2.png │ │ └── expectedDiff.png ├── actOnScreenshot.js ├── compareScreenshots.js ├── replay.js ├── simulate │ ├── __tests__ │ │ ├── click-test.js │ │ ├── fixture │ │ │ ├── click-chrome.png │ │ │ ├── click-firefox.png │ │ │ ├── click.html │ │ │ ├── keypress-chrome.png │ │ │ ├── keypress-firefox.png │ │ │ ├── keypress.html │ │ │ ├── scroll-chrome.png │ │ │ ├── scroll-firefox.png │ │ │ └── scroll.html │ │ ├── keypress-test.js │ │ ├── scroll-test.js │ │ └── testScreenshot.js │ ├── click.js │ ├── keypress.js │ ├── pause.js │ ├── screenshot.js │ └── scroll.js ├── writeScreenshots.js └── xScreenshots.js ├── runRunnableTasks.js └── runTasks.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | examples 2 | tests 3 | huxley.sublime-* 4 | -------------------------------------------------------------------------------- /HISTORY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/HISTORY.md -------------------------------------------------------------------------------- /LICENSE-MIT.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/LICENSE-MIT.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/README.md -------------------------------------------------------------------------------- /bin/hux: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/bin/hux -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/index.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/package.json -------------------------------------------------------------------------------- /source/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/README.md -------------------------------------------------------------------------------- /source/__tests__/getDefaultOpts-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/__tests__/getDefaultOpts-test.js -------------------------------------------------------------------------------- /source/__tests__/runRunnableTasks-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/__tests__/runRunnableTasks-test.js -------------------------------------------------------------------------------- /source/__tests__/runTasks-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/__tests__/runTasks-test.js -------------------------------------------------------------------------------- /source/browser/__tests__/browser-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/browser/__tests__/browser-test.js -------------------------------------------------------------------------------- /source/browser/browser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/browser/browser.js -------------------------------------------------------------------------------- /source/constants.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/constants.js -------------------------------------------------------------------------------- /source/defaultWorkflow/__tests__/filterExistingRecords-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/defaultWorkflow/__tests__/filterExistingRecords-test.js -------------------------------------------------------------------------------- /source/defaultWorkflow/__tests__/filterUnchangedTasks-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/defaultWorkflow/__tests__/filterUnchangedTasks-test.js -------------------------------------------------------------------------------- /source/defaultWorkflow/__tests__/removeDirIfOk-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/defaultWorkflow/__tests__/removeDirIfOk-test.js -------------------------------------------------------------------------------- /source/defaultWorkflow/defaultWorkflow.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/defaultWorkflow/defaultWorkflow.js -------------------------------------------------------------------------------- /source/defaultWorkflow/filterExistingRecords.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/defaultWorkflow/filterExistingRecords.js -------------------------------------------------------------------------------- /source/defaultWorkflow/filterFilesForUnchangedTasks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/defaultWorkflow/filterFilesForUnchangedTasks.js -------------------------------------------------------------------------------- /source/defaultWorkflow/filterUnchangedTasks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/defaultWorkflow/filterUnchangedTasks.js -------------------------------------------------------------------------------- /source/defaultWorkflow/getUnchanged.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/defaultWorkflow/getUnchanged.js -------------------------------------------------------------------------------- /source/defaultWorkflow/gitCmds.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/defaultWorkflow/gitCmds.js -------------------------------------------------------------------------------- /source/defaultWorkflow/removeDirIfOk.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/defaultWorkflow/removeDirIfOk.js -------------------------------------------------------------------------------- /source/fileOps/__tests__/filterRunnables-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/fileOps/__tests__/filterRunnables-test.js -------------------------------------------------------------------------------- /source/fileOps/__tests__/fixture/Huxleyfile.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/fileOps/__tests__/fixture/Huxleyfile.json -------------------------------------------------------------------------------- /source/fileOps/__tests__/fixture/nested/Huxleyfile.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/fileOps/__tests__/fixture/nested/Huxleyfile.json -------------------------------------------------------------------------------- /source/fileOps/__tests__/loadRunnables-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/fileOps/__tests__/loadRunnables-test.js -------------------------------------------------------------------------------- /source/fileOps/filterRunnables.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/fileOps/filterRunnables.js -------------------------------------------------------------------------------- /source/fileOps/loadRunnables.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/fileOps/loadRunnables.js -------------------------------------------------------------------------------- /source/fileOps/utils/__tests__/getFlatUniquePaths-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/fileOps/utils/__tests__/getFlatUniquePaths-test.js -------------------------------------------------------------------------------- /source/fileOps/utils/__tests__/saveJSON-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/fileOps/utils/__tests__/saveJSON-test.js -------------------------------------------------------------------------------- /source/fileOps/utils/getFlatUniquePaths.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/fileOps/utils/getFlatUniquePaths.js -------------------------------------------------------------------------------- /source/fileOps/utils/loadJSON.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/fileOps/utils/loadJSON.js -------------------------------------------------------------------------------- /source/fileOps/utils/saveJSON.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/fileOps/utils/saveJSON.js -------------------------------------------------------------------------------- /source/getDefaultOpts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/getDefaultOpts.js -------------------------------------------------------------------------------- /source/promisified/cropP.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/promisified/cropP.js -------------------------------------------------------------------------------- /source/promisified/execP.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/promisified/execP.js -------------------------------------------------------------------------------- /source/promisified/fsP.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/promisified/fsP.js -------------------------------------------------------------------------------- /source/promisified/globP.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/promisified/globP.js -------------------------------------------------------------------------------- /source/promisified/mkdirpP.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/promisified/mkdirpP.js -------------------------------------------------------------------------------- /source/promisified/outputDiffP.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/promisified/outputDiffP.js -------------------------------------------------------------------------------- /source/promisified/readP.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/promisified/readP.js -------------------------------------------------------------------------------- /source/promisified/rimrafP.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/promisified/rimrafP.js -------------------------------------------------------------------------------- /source/record/__tests__/insertPauses-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/record/__tests__/insertPauses-test.js -------------------------------------------------------------------------------- /source/record/__tests__/processActions-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/record/__tests__/processActions-test.js -------------------------------------------------------------------------------- /source/record/__tests__/recordCLIUntilQuit-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/record/__tests__/recordCLIUntilQuit-test.js -------------------------------------------------------------------------------- /source/record/__tests__/recordCLIUntilQuitRunner.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/record/__tests__/recordCLIUntilQuitRunner.js -------------------------------------------------------------------------------- /source/record/actionsTracker/__tests__/actionsTracker-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/record/actionsTracker/__tests__/actionsTracker-test.js -------------------------------------------------------------------------------- /source/record/actionsTracker/actionsTracker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/record/actionsTracker/actionsTracker.js -------------------------------------------------------------------------------- /source/record/actionsTracker/injectedScript.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/record/actionsTracker/injectedScript.js -------------------------------------------------------------------------------- /source/record/insertPauses.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/record/insertPauses.js -------------------------------------------------------------------------------- /source/record/processActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/record/processActions.js -------------------------------------------------------------------------------- /source/record/recordCLIUntilQuit.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/record/recordCLIUntilQuit.js -------------------------------------------------------------------------------- /source/record/recordTask.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/record/recordTask.js -------------------------------------------------------------------------------- /source/record/recordTasks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/record/recordTasks.js -------------------------------------------------------------------------------- /source/replay/__tests__/actOnScreenshot-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/__tests__/actOnScreenshot-test.js -------------------------------------------------------------------------------- /source/replay/__tests__/fixture/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/__tests__/fixture/1.png -------------------------------------------------------------------------------- /source/replay/__tests__/fixture/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/__tests__/fixture/2.png -------------------------------------------------------------------------------- /source/replay/__tests__/fixture/expectedDiff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/__tests__/fixture/expectedDiff.png -------------------------------------------------------------------------------- /source/replay/actOnScreenshot.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/actOnScreenshot.js -------------------------------------------------------------------------------- /source/replay/compareScreenshots.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/compareScreenshots.js -------------------------------------------------------------------------------- /source/replay/replay.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/replay.js -------------------------------------------------------------------------------- /source/replay/simulate/__tests__/click-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/__tests__/click-test.js -------------------------------------------------------------------------------- /source/replay/simulate/__tests__/fixture/click-chrome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/__tests__/fixture/click-chrome.png -------------------------------------------------------------------------------- /source/replay/simulate/__tests__/fixture/click-firefox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/__tests__/fixture/click-firefox.png -------------------------------------------------------------------------------- /source/replay/simulate/__tests__/fixture/click.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/__tests__/fixture/click.html -------------------------------------------------------------------------------- /source/replay/simulate/__tests__/fixture/keypress-chrome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/__tests__/fixture/keypress-chrome.png -------------------------------------------------------------------------------- /source/replay/simulate/__tests__/fixture/keypress-firefox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/__tests__/fixture/keypress-firefox.png -------------------------------------------------------------------------------- /source/replay/simulate/__tests__/fixture/keypress.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/__tests__/fixture/keypress.html -------------------------------------------------------------------------------- /source/replay/simulate/__tests__/fixture/scroll-chrome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/__tests__/fixture/scroll-chrome.png -------------------------------------------------------------------------------- /source/replay/simulate/__tests__/fixture/scroll-firefox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/__tests__/fixture/scroll-firefox.png -------------------------------------------------------------------------------- /source/replay/simulate/__tests__/fixture/scroll.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/__tests__/fixture/scroll.html -------------------------------------------------------------------------------- /source/replay/simulate/__tests__/keypress-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/__tests__/keypress-test.js -------------------------------------------------------------------------------- /source/replay/simulate/__tests__/scroll-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/__tests__/scroll-test.js -------------------------------------------------------------------------------- /source/replay/simulate/__tests__/testScreenshot.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/__tests__/testScreenshot.js -------------------------------------------------------------------------------- /source/replay/simulate/click.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/click.js -------------------------------------------------------------------------------- /source/replay/simulate/keypress.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/keypress.js -------------------------------------------------------------------------------- /source/replay/simulate/pause.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/pause.js -------------------------------------------------------------------------------- /source/replay/simulate/screenshot.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/screenshot.js -------------------------------------------------------------------------------- /source/replay/simulate/scroll.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/simulate/scroll.js -------------------------------------------------------------------------------- /source/replay/writeScreenshots.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/writeScreenshots.js -------------------------------------------------------------------------------- /source/replay/xScreenshots.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/replay/xScreenshots.js -------------------------------------------------------------------------------- /source/runRunnableTasks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/runRunnableTasks.js -------------------------------------------------------------------------------- /source/runTasks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenglou/node-huxley/HEAD/source/runTasks.js --------------------------------------------------------------------------------