Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,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,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/node_modules/glob-to-regexp/ |
Upload File : |
var globToRegexp = require("./index.js"); var assert = require("assert"); function assertMatch(glob, str, opts) { //console.log(glob, globToRegexp(glob, opts)); assert.ok(globToRegexp(glob, opts).test(str)); } function assertNotMatch(glob, str, opts) { //console.log(glob, globToRegexp(glob, opts)); assert.equal(false, globToRegexp(glob, opts).test(str)); } function test(globstar) { // Match everything assertMatch("*", "foo"); assertMatch("*", "foo", { flags: 'g' }); // Match the end assertMatch("f*", "foo"); assertMatch("f*", "foo", { flags: 'g' }); // Match the start assertMatch("*o", "foo"); assertMatch("*o", "foo", { flags: 'g' }); // Match the middle assertMatch("f*uck", "firetruck"); assertMatch("f*uck", "firetruck", { flags: 'g' }); // Don't match without Regexp 'g' assertNotMatch("uc", "firetruck"); // Match anywhere with RegExp 'g' assertMatch("uc", "firetruck", { flags: 'g' }); // Match zero characters assertMatch("f*uck", "fuck"); assertMatch("f*uck", "fuck", { flags: 'g' }); // More complex matches assertMatch("*.min.js", "http://example.com/jquery.min.js", {globstar: false}); assertMatch("*.min.*", "http://example.com/jquery.min.js", {globstar: false}); assertMatch("*/js/*.js", "http://example.com/js/jquery.min.js", {globstar: false}); // More complex matches with RegExp 'g' flag (complex regression) assertMatch("*.min.*", "http://example.com/jquery.min.js", { flags: 'g' }); assertMatch("*.min.js", "http://example.com/jquery.min.js", { flags: 'g' }); assertMatch("*/js/*.js", "http://example.com/js/jquery.min.js", { flags: 'g' }); var testStr = "\\/$^+?.()=!|{},[].*" assertMatch(testStr, testStr); assertMatch(testStr, testStr, { flags: 'g' }); // Equivalent matches without/with using RegExp 'g' assertNotMatch(".min.", "http://example.com/jquery.min.js"); assertMatch("*.min.*", "http://example.com/jquery.min.js"); assertMatch(".min.", "http://example.com/jquery.min.js", { flags: 'g' }); assertNotMatch("http:", "http://example.com/jquery.min.js"); assertMatch("http:*", "http://example.com/jquery.min.js"); assertMatch("http:", "http://example.com/jquery.min.js", { flags: 'g' }); assertNotMatch("min.js", "http://example.com/jquery.min.js"); assertMatch("*.min.js", "http://example.com/jquery.min.js"); assertMatch("min.js", "http://example.com/jquery.min.js", { flags: 'g' }); // Match anywhere (globally) using RegExp 'g' assertMatch("min", "http://example.com/jquery.min.js", { flags: 'g' }); assertMatch("/js/", "http://example.com/js/jquery.min.js", { flags: 'g' }); assertNotMatch("/js*jq*.js", "http://example.com/js/jquery.min.js"); assertMatch("/js*jq*.js", "http://example.com/js/jquery.min.js", { flags: 'g' }); // Extended mode // ?: Match one character, no more and no less assertMatch("f?o", "foo", { extended: true }); assertNotMatch("f?o", "fooo", { extended: true }); assertNotMatch("f?oo", "foo", { extended: true }); // ?: Match one character with RegExp 'g' assertMatch("f?o", "foo", { extended: true, globstar: globstar, flags: 'g' }); assertMatch("f?o", "fooo", { extended: true, globstar: globstar, flags: 'g' }); assertMatch("f?o?", "fooo", { extended: true, globstar: globstar, flags: 'g' }); assertNotMatch("?fo", "fooo", { extended: true, globstar: globstar, flags: 'g' }); assertNotMatch("f?oo", "foo", { extended: true, globstar: globstar, flags: 'g' }); assertNotMatch("foo?", "foo", { extended: true, globstar: globstar, flags: 'g' }); // []: Match a character range assertMatch("fo[oz]", "foo", { extended: true }); assertMatch("fo[oz]", "foz", { extended: true }); assertNotMatch("fo[oz]", "fog", { extended: true }); // []: Match a character range and RegExp 'g' (regresion) assertMatch("fo[oz]", "foo", { extended: true, globstar: globstar, flags: 'g' }); assertMatch("fo[oz]", "foz", { extended: true, globstar: globstar, flags: 'g' }); assertNotMatch("fo[oz]", "fog", { extended: true, globstar: globstar, flags: 'g' }); // {}: Match a choice of different substrings assertMatch("foo{bar,baaz}", "foobaaz", { extended: true }); assertMatch("foo{bar,baaz}", "foobar", { extended: true }); assertNotMatch("foo{bar,baaz}", "foobuzz", { extended: true }); assertMatch("foo{bar,b*z}", "foobuzz", { extended: true }); // {}: Match a choice of different substrings and RegExp 'g' (regression) assertMatch("foo{bar,baaz}", "foobaaz", { extended: true, globstar: globstar, flags: 'g' }); assertMatch("foo{bar,baaz}", "foobar", { extended: true, globstar: globstar, flags: 'g' }); assertNotMatch("foo{bar,baaz}", "foobuzz", { extended: true, globstar: globstar, flags: 'g' }); assertMatch("foo{bar,b*z}", "foobuzz", { extended: true, globstar: globstar, flags: 'g' }); // More complex extended matches assertMatch("http://?o[oz].b*z.com/{*.js,*.html}", "http://foo.baaz.com/jquery.min.js", { extended: true }); assertMatch("http://?o[oz].b*z.com/{*.js,*.html}", "http://moz.buzz.com/index.html", { extended: true }); assertNotMatch("http://?o[oz].b*z.com/{*.js,*.html}", "http://moz.buzz.com/index.htm", { extended: true }); assertNotMatch("http://?o[oz].b*z.com/{*.js,*.html}", "http://moz.bar.com/index.html", { extended: true }); assertNotMatch("http://?o[oz].b*z.com/{*.js,*.html}", "http://flozz.buzz.com/index.html", { extended: true }); // More complex extended matches and RegExp 'g' (regresion) assertMatch("http://?o[oz].b*z.com/{*.js,*.html}", "http://foo.baaz.com/jquery.min.js", { extended: true, globstar: globstar, flags: 'g' }); assertMatch("http://?o[oz].b*z.com/{*.js,*.html}", "http://moz.buzz.com/index.html", { extended: true, globstar: globstar, flags: 'g' }); assertNotMatch("http://?o[oz].b*z.com/{*.js,*.html}", "http://moz.buzz.com/index.htm", { extended: true, globstar: globstar, flags: 'g' }); assertNotMatch("http://?o[oz].b*z.com/{*.js,*.html}", "http://moz.bar.com/index.html", { extended: true, globstar: globstar, flags: 'g' }); assertNotMatch("http://?o[oz].b*z.com/{*.js,*.html}", "http://flozz.buzz.com/index.html", { extended: true, globstar: globstar, flags: 'g' }); // globstar assertMatch("http://foo.com/**/{*.js,*.html}", "http://foo.com/bar/jquery.min.js", { extended: true, globstar: globstar, flags: 'g' }); assertMatch("http://foo.com/**/{*.js,*.html}", "http://foo.com/bar/baz/jquery.min.js", { extended: true, globstar: globstar, flags: 'g' }); assertMatch("http://foo.com/**", "http://foo.com/bar/baz/jquery.min.js", { extended: true, globstar: globstar, flags: 'g' }); // Remaining special chars should still match themselves var testExtStr = "\\/$^+.()=!|,.*" assertMatch(testExtStr, testExtStr, { extended: true }); assertMatch(testExtStr, testExtStr, { extended: true, globstar: globstar, flags: 'g' }); } // regression // globstar false test(false) // globstar true test(true); // globstar specific tests assertMatch("/foo/*", "/foo/bar.txt", {globstar: true }); assertMatch("/foo/**", "/foo/baz.txt", {globstar: true }); assertMatch("/foo/**", "/foo/bar/baz.txt", {globstar: true }); assertMatch("/foo/*/*.txt", "/foo/bar/baz.txt", {globstar: true }); assertMatch("/foo/**/*.txt", "/foo/bar/baz.txt", {globstar: true }); assertMatch("/foo/**/*.txt", "/foo/bar/baz/qux.txt", {globstar: true }); assertMatch("/foo/**/bar.txt", "/foo/bar.txt", {globstar: true }); assertMatch("/foo/**/**/bar.txt", "/foo/bar.txt", {globstar: true }); assertMatch("/foo/**/*/baz.txt", "/foo/bar/baz.txt", {globstar: true }); assertMatch("/foo/**/*.txt", "/foo/bar.txt", {globstar: true }); assertMatch("/foo/**/**/*.txt", "/foo/bar.txt", {globstar: true }); assertMatch("/foo/**/*/*.txt", "/foo/bar/baz.txt", {globstar: true }); assertMatch("**/*.txt", "/foo/bar/baz/qux.txt", {globstar: true }); assertMatch("**/foo.txt", "foo.txt", {globstar: true }); assertMatch("**/*.txt", "foo.txt", {globstar: true }); assertNotMatch("/foo/*", "/foo/bar/baz.txt", {globstar: true }); assertNotMatch("/foo/*.txt", "/foo/bar/baz.txt", {globstar: true }); assertNotMatch("/foo/*/*.txt", "/foo/bar/baz/qux.txt", {globstar: true }); assertNotMatch("/foo/*/bar.txt", "/foo/bar.txt", {globstar: true }); assertNotMatch("/foo/*/*/baz.txt", "/foo/bar/baz.txt", {globstar: true }); assertNotMatch("/foo/**.txt", "/foo/bar/baz/qux.txt", {globstar: true }); assertNotMatch("/foo/bar**/*.txt", "/foo/bar/baz/qux.txt", {globstar: true }); assertNotMatch("/foo/bar**", "/foo/bar/baz.txt", {globstar: true }); assertNotMatch("**/.txt", "/foo/bar/baz/qux.txt", {globstar: true }); assertNotMatch("*/*.txt", "/foo/bar/baz/qux.txt", {globstar: true }); assertNotMatch("*/*.txt", "foo.txt", {globstar: true }); assertNotMatch("http://foo.com/*", "http://foo.com/bar/baz/jquery.min.js", { extended: true, globstar: true }); assertNotMatch("http://foo.com/*", "http://foo.com/bar/baz/jquery.min.js", { globstar: true }); assertMatch("http://foo.com/*", "http://foo.com/bar/baz/jquery.min.js", { globstar: false }); assertMatch("http://foo.com/**", "http://foo.com/bar/baz/jquery.min.js", { globstar: true }); assertMatch("http://foo.com/*/*/jquery.min.js", "http://foo.com/bar/baz/jquery.min.js", { globstar: true }); assertMatch("http://foo.com/**/jquery.min.js", "http://foo.com/bar/baz/jquery.min.js", { globstar: true }); assertMatch("http://foo.com/*/*/jquery.min.js", "http://foo.com/bar/baz/jquery.min.js", { globstar: false }); assertMatch("http://foo.com/*/jquery.min.js", "http://foo.com/bar/baz/jquery.min.js", { globstar: false }); assertNotMatch("http://foo.com/*/jquery.min.js", "http://foo.com/bar/baz/jquery.min.js", { globstar: true }); console.log("Ok!");