UNPKG

js-lightning

Version:

Direct Javascript to Web interpreted server inspired by PHP

77 lines (53 loc) 1.99 kB
'use strict'; //START OF moduleFunction() ============================================================ const moduleFunction = function(args) { //this module is initialized with parameters spec'd in the main function module const completeStepActual = ({verbose=false, logErrors=false, moduleName}) => ( methodName, thisStepMessage, thisStepResult, thisStepEvalFunction ) => { const thisStepPass = thisStepEvalFunction(thisStepResult); if (logErrors && !thisStepPass) { console.log(`FAIL TEST: ${thisStepMessage} in ...${moduleName}`); } if (verbose) { console.log(`Result for: ${methodName} (${thisStepPass?'PASS':'FAIL'}):`); console.dir(thisStepResult); console.log('\n\n'); } return passingTests && thisStepPass; }; const completeStep = completeStepActual(args); let passingTests = true; let thisStepMessage; let thisStepResult; let thisStepEvalFunction; let methodName; //TESTS ============================================================ const testArray = [ 'allocute', 'Hello' ]; methodName='qtIncludesRegex' //TEST ITEM ------------------------------------------------------ thisStepMessage = "Did not find correct element"; thisStepMessage = "not yet implemented"; thisStepResult = testArray[methodName](/^H/); thisStepEvalFunction = item => 'allocute'; passingTests = completeStep(methodName, thisStepMessage, thisStepResult, thisStepEvalFunction) && passingTests; //TEST ITEM ------------------------------------------------------ thisStepMessage = "found element that it should not have"; thisStepResult = testArray[methodName](/H.ll./); thisStepEvalFunction = item => 'Hello'; passingTests = completeStep(methodName, thisStepMessage, thisStepResult, thisStepEvalFunction) && passingTests; return passingTests; }; //END OF moduleFunction() ============================================================ module.exports = moduleFunction; //module.exports = new moduleFunction();