333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
/**
 * Module dependencies.
 */
 
var assert = require('assert');
var shExpMatch = require('../shExpMatch');
 
describe('shExpMatch(str, shexp)', function () {
 
  var tests = [
    ["http://home.netscape.com/people/ari/index.html", "*/ari/*", true],
    ["http://home.netscape.com/people/montulli/index.html", "*/ari/*", false],
    ["http://home.example.com/people/index.html", ".*/people/.*", true],
    ["http://home.example.com/people/yourpage/index.html", ".*/mypage/.*", false],
    ["www.hotmail.com", "*hotmail.com*", true],
    ["phishing-scam.com?email=someone@hotmail.com", "*hotmail.com*", true],
    ["abcdomain.com", "(*.abcdomain.com|abcdomain.com)", true],
    ["foo.abcdomain.com", "(*.abcdomain.com|abcdomain.com)", true],
    ["abddomain.com", "(*.abcdomain.com|abcdomain.com)", false],
    ["a.com", "?.com", true],
    ["b.com", "?.com", true],
    ["ab.com", "?.com", false]
  ];
 
  tests.forEach(function (test) {
    var expected = test.pop();
    it('should return `' + expected +'` for "' + test.join('", "') + '"', function () {
      assert.equal(expected, shExpMatch(test[0], test[1]));
    });
  });
 
});