VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /usr/local/lib/node_modules/browserify/test/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/local/lib/node_modules/browserify/test/multi_bundle_unique.js
var browserify = require('../');
var vm = require('vm');
var fs = require('fs');
var path = require('path');
var test = require('tap').test;
var prelude = fs.readFileSync(path.join(__dirname, 'multi_bundle', '_prelude.js'), 'utf8');

test('unique require', function (t) {
    t.plan(6);

    var core = browserify({
        externalRequireName: 'unique_require',
        prelude: prelude
    });
    core.require(__dirname + '/multi_bundle/b.js', { expose: './b' });

    var app = browserify(
        [__dirname + '/multi_bundle/a.js'],
        { prelude: prelude }
    );
    // inform this bundle that b exists in another bundle
    app.external('./b');

    core.bundle(function (err, src) {
        var c = {
            console: console,
            t : t,
            baton: {
                times: 0
            }
        };

        // loading core will cause no require to run
        vm.runInNewContext(src, c);
        t.equal(c.baton.times, 0);

        // loading the app will require
        app.bundle(function (err, src) {
            vm.runInNewContext(src, c);

            // b required for the first time
            t.equal(c.baton.times, 1);

            // running the file again
            // because it is using the same b, no reloading
            vm.runInNewContext(src, c);

            // b should not have been required again
            // because it was part of the core bundle
            t.equal(c.baton.times, 1);
            
            t.equal(c.unique_require('./b'), 'foo');
        });
    });
});


VaKeR 2022