Uname:Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64

Base Dir : /var/www/html

User : gavin


403WebShell
403Webshell
Server IP : 68.183.124.220  /  Your IP : 216.73.217.137
Web Server : Apache/2.4.18 (Ubuntu)
System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
User : gavin ( 1000)
PHP Version : 7.0.33-0ubuntu0.16.04.16
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/gavin/workspace/happymandarin/node_modules/promise.pipe/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/gavin/workspace/happymandarin/node_modules/promise.pipe/test.js
var test = require('blue-tape')
var pipe = require('./')

function adder (n) {
  return new Promise(function (resolve, reject) {
    resolve(n + 1)
  })
}

function addAsync (n) {
  return new Promise(function (resolve) {
    setTimeout(function () {
      return resolve(adder(n))
    }, 500)
  })
}

test('should chain a single promise', function (t) {
  var addOne = pipe(adder)

  t.ok(addOne)
  return addOne(0).then(function (result) {
    t.equal(result, 1)
  })
})

test('should chain multiple promises', function (t) {
  var addThree = pipe(adder, adder, adder)

  t.ok(addThree)
  return addThree(0).then(function (result) {
    t.equal(result, 3)
  })
})

test('it should persist context', function (t) {
  var math = { addThree: pipe(adder, adder, adder, setIdentity) }

  function setIdentity (val) {
    this.identitiy = val
  }

  t.ok(math.addThree)
  return math.addThree(0).then(function (result) {
    t.ok(math.identitiy)
    t.equals(math.identitiy, 3)
  })
})

test('it should chain IO', function (t) {
  var addThreeAsync = pipe(addAsync, addAsync, addAsync)

  t.ok(addThreeAsync)
  return addThreeAsync(0).then(function (result) {
    t.equal(result, 3)
  })
})

test('it should persist context with IO', function (t) {
  var math = { addThree: pipe(addAsync, addAsync, addAsync, setIdentity) }

  function setIdentity (val) {
    this.identitiy = val
  }

  t.ok(math.addThree)
  return math.addThree(0).then(function (result) {
    t.ok(math.identitiy)
    t.equals(math.identitiy, 3)
  })
})

test('it should accept an array of promises', function (t) {
  var addThreeAsync = pipe([addAsync, addAsync, addAsync])

  t.ok(addThreeAsync)
  return addThreeAsync(0).then(function (result) {
    t.equal(result, 3)
  })
})

test('it should fail with 0 arguments', function (t) {
  try { pipe() } catch (err) {
    t.ok(err)
    t.end()
  }
})

Youez - 2016 - github.com/yon3zu
LinuXploit