| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | --TEST--Test V8Js::setModuleNormaliser : Custom normalisation #005--SKIPIF--<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>--FILE--<?php$v8 = new V8Js();$v8->setModuleNormaliser(function ($base, $moduleName) {    var_dump($base, $moduleName);    if ($base == '' && $moduleName == './tags') {        return ['./tags', 'index.js'];    }    if ($base == './tags' && $moduleName == './if.js') {        return ['./tags', 'if.js'];    }    return [$base, $moduleName];});$v8->setModuleLoader(function ($moduleName) {    print("setModuleLoader called for ".$moduleName."\n");    switch ($moduleName) {        case './app.js':            return "require('./tags')";        case './tags/index.js':            return "require('./if.js')";    }});$v8->executeString("require('./app.js')");echo "------------------------------------------------\n";$v8 = new V8Js();$v8->setModuleNormaliser(function ($base, $moduleName) {    var_dump($base, $moduleName);    if ($base == '' && $moduleName == './tags') {        return ['./tags', 'index.js'];    }    if ($base == './tags' && $moduleName == './if.js') {        return ['./tags', 'if.js'];    }    return [$base, $moduleName];});$v8->setModuleLoader(function ($moduleName) {    print("setModuleLoader called for ".$moduleName."\n");    switch ($moduleName) {        case './app.js':            return "require('./tags')()"; // different        case './tags/index.js':            return "module.exports = function() {require('./if.js')}"; // different    }});$v8->executeString("require('./app.js')");?>===EOF===--EXPECT--string(0) ""string(8) "./app.js"setModuleLoader called for ./app.jsstring(0) ""string(6) "./tags"setModuleLoader called for ./tags/index.jsstring(6) "./tags"string(7) "./if.js"setModuleLoader called for ./tags/if.js------------------------------------------------string(0) ""string(8) "./app.js"setModuleLoader called for ./app.jsstring(0) ""string(6) "./tags"setModuleLoader called for ./tags/index.jsstring(6) "./tags"string(7) "./if.js"setModuleLoader called for ./tags/if.js===EOF===
 |