CasperSecurity

Current Path : /var/www/hrms.uiet.co.in/node_modules/process/
Upload File :
Current File : /var/www/hrms.uiet.co.in/node_modules/process/test.js

var assert = require('assert');
var ourProcess = require('./browser');
describe('test against our process', function () {
    test(ourProcess);
});
if (!process.browser) {
  describe('test against node', function () {
    test(process);
  });
  vmtest();
}
function test (ourProcess) {
    describe('test arguments', function () {
        it ('works', function (done) {
          var order = 0;


          ourProcess.nextTick(function (num) {
              assert.equal(num, order++, 'first one works');
              ourProcess.nextTick(function (num) {
                assert.equal(num, order++, 'recursive one is 4th');
              }, 3);
          }, 0);
          ourProcess.nextTick(function (num) {
              assert.equal(num, order++, 'second one starts');
              ourProcess.nextTick(function (num) {
                assert.equal(num, order++, 'this is third');
                ourProcess.nextTick(function (num) {
                    assert.equal(num, order++, 'this is last');
                    done();
                }, 5);
            }, 4);
          }, 1);
          ourProcess.nextTick(function (num) {

              assert.equal(num, order++, '3rd schedualed happens after the error');
          }, 2);
        });
    });
if (!process.browser) {
    describe('test errors', function (t) {
        it ('works', function (done) {
        var order = 0;
        process.removeAllListeners('uncaughtException');
        process.once('uncaughtException', function(err) {
            assert.equal(2, order++, 'error is third');
            ourProcess.nextTick(function () {
                assert.equal(5, order++, 'schedualed in error is last');
                done();
            });
        });
        ourProcess.nextTick(function () {
            assert.equal(0, order++, 'first one works');
            ourProcess.nextTick(function () {
            assert.equal(4, order++, 'recursive one is 4th');
            });
        });
        ourProcess.nextTick(function () {
            assert.equal(1, order++, 'second one starts');
            throw(new Error('an error is thrown'));
        });
        ourProcess.nextTick(function () {
            assert.equal(3, order++, '3rd schedualed happens after the error');
        });
        });
    });
}
    describe('rename globals', function (t) {
      var oldTimeout = setTimeout;
      var oldClear = clearTimeout;

      it('clearTimeout', function (done){

        var ok = true;
        clearTimeout = function () {
          ok = false;
        }
        var ran = false;
        function cleanup() {
          clearTimeout = oldClear;
          var err;
          try {
            assert.ok(ok, 'fake clearTimeout ran');
            assert.ok(ran, 'should have run');
          } catch (e) {
            err = e;
          }
          done(err);
        }
        setTimeout(cleanup, 1000);
        ourProcess.nextTick(function () {
          ran = true;
        });
      });
      it('just setTimeout', function (done){


        setTimeout = function () {
          setTimeout = oldTimeout;
          try {
            assert.ok(false, 'fake setTimeout called')
          } catch (e) {
            done(e);
          }

        }

        ourProcess.nextTick(function () {
          setTimeout = oldTimeout;
          done();
        });
      });
    });
}
function vmtest() {
  var vm = require('vm');
  var fs = require('fs');
  var process =  fs.readFileSync('./browser.js', {encoding: 'utf8'});


  describe('should work in vm in strict mode with no globals', function () {
    it('should parse', function (done) {
      var str = '"use strict";var module = {exports:{}};';
      str += process;
      str += 'this.works = process.browser;';
      var script = new vm.Script(str);
      var context = {
        works: false
      };
      script.runInNewContext(context);
      assert.ok(context.works);
      done();
    });
    it('setTimeout throws error', function (done) {
      var str = '"use strict";var module = {exports:{}};';
      str += process;
      str += 'try {process.nextTick(function () {})} catch (e){this.works = e;}';
      var script = new vm.Script(str);
      var context = {
        works: false
      };
      script.runInNewContext(context);
      assert.ok(context.works);
      done();
    });
    it('should generally work', function (done) {
      var str = '"use strict";var module = {exports:{}};';
      str += process;
      str += 'process.nextTick(function () {assert.ok(true);done();})';
      var script = new vm.Script(str);
      var context = {
        clearTimeout: clearTimeout,
        setTimeout: setTimeout,
        done: done,
        assert: assert
      };
      script.runInNewContext(context);
    });
    it('late defs setTimeout', function (done) {
      var str = '"use strict";var module = {exports:{}};';
      str += process;
      str += 'var setTimeout = hiddenSetTimeout;process.nextTick(function () {assert.ok(true);done();})';
      var script = new vm.Script(str);
      var context = {
        clearTimeout: clearTimeout,
        hiddenSetTimeout: setTimeout,
        done: done,
        assert: assert
      };
      script.runInNewContext(context);
    });
    it('late defs clearTimeout', function (done) {
      var str = '"use strict";var module = {exports:{}};';
      str += process;
      str += 'var clearTimeout = hiddenClearTimeout;process.nextTick(function () {assert.ok(true);done();})';
      var script = new vm.Script(str);
      var context = {
        hiddenClearTimeout: clearTimeout,
        setTimeout: setTimeout,
        done: done,
        assert: assert
      };
      script.runInNewContext(context);
    });
    it('late defs setTimeout and then redefine', function (done) {
      var str = '"use strict";var module = {exports:{}};';
      str += process;
      str += 'var setTimeout = hiddenSetTimeout;process.nextTick(function () {setTimeout = function (){throw new Error("foo")};hiddenSetTimeout(function(){process.nextTick(function (){assert.ok(true);done();});});});';
      var script = new vm.Script(str);
      var context = {
        clearTimeout: clearTimeout,
        hiddenSetTimeout: setTimeout,
        done: done,
        assert: assert
      };
      script.runInNewContext(context);
    });
  });
}
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY