REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 3.49 KB
Close
//opt/alt/alt-nodejs9/root/lib/node_modules/npm/node_modules/cli-table2/lib/print-example.js
Text
Base64
var chai = require('chai'); var expect = chai.expect; var colors = require('colors/safe'); var _ = require('lodash'); var fs = require('fs'); var git = require('git-rev'); function logExample(fn){ runPrintingExample(fn, function logName(name){ console.log(colors.gray('========= ') + name + colors.gray(' ================')); }, console.log, //logTable console.log, //logCode console.log, //logSeparator identity //screenShot ) } function mdExample(fn,file,cb){ git.long(function(commitHash){ var buffer = []; runPrintingExample(fn, function logName(name){ buffer.push('##### ' + name); }, function logTable(table){ //md files won't render color strings properly. table = stripColors(table); // indent table so is displayed preformatted text table = ' ' + (table.split('\n').join('\n ')); buffer.push(table); }, function logCode(code){ buffer.push('```javascript'); buffer.push(stripColors(code)); buffer.push('```'); }, function logSeparator(sep){ buffer.push(stripColors(sep)); }, function logScreenShot(image){ buffer.push(''); } ); fs.writeFileSync(file,buffer.join('\n')); if(cb){cb();} }); } /** * Actually runs the tests and verifies the functions create the expected output. * @param name of the test suite, used in the mocha.describe call. * @param fn a function which creates the test suite. */ function runTest(name,fn){ function testExample(name,fn,expected){ it(name,function(){ expect(fn().toString()).to.equal(expected.join('\n')); }); } describe(name,function () { fn(testExample,identity); }); } /** * Common execution for runs that print output (either to console or to a Markdown file); * @param fn - a function containing the tests/demos. * @param logName - callback to print the name of this test to the console or file. * @param logTable - callback to print the output of the table to the console or file. * @param logCode - callback to print the output of the table to the console or file. * @param logSeparator - callback to print extra whitespace between demos. * @param logScreenShot - write out a link to the screenShot image. */ function runPrintingExample(fn,logName,logTable,logCode,logSeparator,logScreenShot){ /** * Called by every test/demo * @param name - the name of this test. * @param makeTable - a function which builds the table under test. Also, The contents of this function will be printed. * @param expected - The expected result. * @param screenshot - If present, there is an image containing a screenshot of the output */ function printExample(name,makeTable,expected,screenshot){ var code = makeTable.toString().split('\n').slice(1,-2).join('\n'); logName(name); if(screenshot && logScreenShot){ logScreenShot(screenshot); } else { logTable(makeTable().toString()); } logCode(code); logSeparator('\n'); } fn(printExample); } // removes all the color characters from a string function stripColors(str){ return str.split( /\u001b\[(?:\d*;){0,5}\d*m/g).join(''); } // returns the first arg - used as snapshot function function identity(str){ return str; } module.exports = { mdExample:mdExample, logExample:logExample, runTest:runTest };
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 1
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
print-example.js
3.49 KB
lrw-r--r--
2021-09-28 11:28:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).