| 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/convert-source-map/test/ |
Upload File : |
'use strict';
/*jshint asi: true */
var test = require('tap').test
, generator = require('inline-source-map')
, rx = require('..').commentRegex
, mapFileRx = require('..').mapFileCommentRegex
function comment(prefix, suffix) {
rx.lastIndex = 0;
return rx.test(prefix + 'sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyJmdW5jdGlvbiBmb28oKSB7XG4gY29uc29sZS5sb2coXCJoZWxsbyBJIGFtIGZvb1wiKTtcbiBjb25zb2xlLmxvZyhcIndobyBhcmUgeW91XCIpO1xufVxuXG5mb28oKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSJ9' + suffix)
}
function commentWithCharSet(prefix, suffix, sep) {
sep = sep || ':';
rx.lastIndex = 0;
return rx.test(prefix + 'sourceMappingURL=data:application/json;charset' + sep +'utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyJmdW5jdGlvbiBmb28oKSB7XG4gY29uc29sZS5sb2coXCJoZWxsbyBJIGFtIGZvb1wiKTtcbiBjb25zb2xlLmxvZyhcIndobyBhcmUgeW91XCIpO1xufVxuXG5mb28oKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSJ9' + suffix)
}
// Source Map v2 Tests
test('comment regex old spec - @', function (t) {
[
'//@ ',
' //@ ', // with leading space
'\t//@ ', // with leading tab
'//@ ', // with leading text
'/*@ ', // multi line style
' /*@ ', // multi line style with leading spaces
'\t/*@ ', // multi line style with leading tab
'/*@ ', // multi line style with leading text
].forEach(function (x) {
t.ok(comment(x, ''), 'matches ' + x)
t.ok(commentWithCharSet(x, ''), 'matches ' + x + ' with charset')
t.ok(commentWithCharSet(x, '', '='), 'matches ' + x + ' with charset')
});
[
' @// @',
' @/* @',
].forEach(function (x) { t.ok(!comment(x, ''), 'should not match ' + x) })
t.end()
})
test('comment regex new spec - #', function (t) {
[
' //# ', // with leading spaces
'\t//# ', // with leading tab
'//# ', // with leading text
'/*# ', // multi line style
' /*# ', // multi line style with leading spaces
'\t/*# ', // multi line style with leading tab
'/*# ', // multi line style with leading text
].forEach(function (x) {
t.ok(comment(x, ''), 'matches ' + x)
t.ok(commentWithCharSet(x, ''), 'matches ' + x + ' with charset')
t.ok(commentWithCharSet(x, '', '='), 'matches ' + x + ' with charset')
});
[
' #// #',
' #/* #',
].forEach(function (x) { t.ok(!comment(x, ''), 'should not match ' + x) })
t.end()
})
function mapFileCommentWrap(s1, s2) {
mapFileRx.lastIndex = 0;
return mapFileRx.test(s1 + 'sourceMappingURL=foo.js.map' + s2)
}
test('mapFileComment regex old spec - @', function (t) {
[
['//@ ', ''],
[' //@ ', ''], // with leading spaces
['\t//@ ', ''], // with a leading tab
['///@ ', ''], // with a leading text
[';//@ ', ''], // with a leading text
['return//@ ', ''], // with a leading text
].forEach(function (x) { t.ok(mapFileCommentWrap(x[0], x[1]), 'matches ' + x.join(' :: ')) });
[
[' @// @', ''],
['var sm = "//@ ', '"'], // not inside a string
['var sm = \'//@ ', '\''], // not inside a string
['var sm = \' //@ ', '\''], // not inside a string
].forEach(function (x) { t.ok(!mapFileCommentWrap(x[0], x[1]), 'does not match ' + x.join(' :: ')) })
t.end()
})
test('mapFileComment regex new spec - #', function (t) {
[
['//# ', ''],
[' //# ', ''], // with leading space
['\t//# ', ''], // with leading tab
['///# ', ''], // with leading text
[';//# ', ''], // with leading text
['return//# ', ''], // with leading text
].forEach(function (x) { t.ok(mapFileCommentWrap(x[0], x[1]), 'matches ' + x.join(' :: ')) });
[
[' #// #', ''],
['var sm = "//# ', '"'], // not inside a string
['var sm = \'//# ', '\''], // not inside a string
['var sm = \' //# ', '\''], // not inside a string
].forEach(function (x) { t.ok(!mapFileCommentWrap(x[0], x[1]), 'does not match ' + x.join(' :: ')) })
t.end()
})
test('mapFileComment regex /* */ old spec - @', function (t) {
[ [ '/*@ ', '*/' ]
, [' /*@ ', ' */ ' ] // with leading spaces
, [ '\t/*@ ', ' \t*/\t '] // with a leading tab
, [ 'leading string/*@ ', '*/' ] // with a leading string
, [ '/*@ ', ' \t*/\t '] // with trailing whitespace
].forEach(function (x) { t.ok(mapFileCommentWrap(x[0], x[1]), 'matches ' + x.join(' :: ')) });
[ ['/*@ ', ' */ */ ' ], // not the last thing on its line
['/*@ ', ' */ more text ' ] // not the last thing on its line
].forEach(function (x) { t.ok(!mapFileCommentWrap(x[0], x[1]), 'does not match ' + x.join(' :: ')) });
t.end()
})
test('mapFileComment regex /* */ new spec - #', function (t) {
[ [ '/*# ', '*/' ]
, [' /*# ', ' */ ' ] // with leading spaces
, [ '\t/*# ', ' \t*/\t '] // with a leading tab
, [ 'leading string/*# ', '*/' ] // with a leading string
, [ '/*# ', ' \t*/\t '] // with trailing whitespace
].forEach(function (x) { t.ok(mapFileCommentWrap(x[0], x[1]), 'matches ' + x.join(' :: ')) });
[ ['/*# ', ' */ */ ' ], // not the last thing on its line
['/*# ', ' */ more text ' ] // not the last thing on its line
].forEach(function (x) { t.ok(!mapFileCommentWrap(x[0], x[1]), 'does not match ' + x.join(' :: ')) });
t.end()
})