403Webshell
Server IP : 146.190.157.162  /  Your IP : 216.73.217.6
Web Server : Apache
System : Linux ubuntu-s-2vcpu-4gb-amd-sfo3-01-KIT-DIGITAL 6.5.0-44-generic #44-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 7 15:10:09 UTC 2024 x86_64
User : businessweek ( 639)
PHP Version : 8.2.10-2ubuntu2.2
Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_signal,pcntl_signal_dispatch,pcntl_getpriority,pcntl_setpriority,dl,putenv,parse_ini_file,show_source
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/share/nodejs/cli-table2/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/nodejs/cli-table2/lib/print-example.js
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('![table image](https://cdn.rawgit.com/jamestalmage/cli-table2/'
                  + commitHash + '/examples/screenshots/' + image + '.png)');
      }
    );

    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
};

Youez - 2016 - github.com/yon3zu
LinuXploit