tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

urlpattern-generate-test-data.json (2467B)


      1 [
      2  {
      3    "pattern": { "pathname": "/foo" },
      4    "component": "invalid",
      5    "groups": {},
      6    "expected": null
      7  },
      8  {
      9    "pattern": { "pathname": "/foo" },
     10    "component": "pathname",
     11    "groups": {},
     12    "expected": "/foo"
     13  },
     14  {
     15    "pattern": { "pathname": "/:foo" },
     16    "component": "pathname",
     17    "groups": { "foo": "bar" },
     18    "expected": "/bar"
     19  },
     20  {
     21    "pattern": { "pathname": "/:foo" },
     22    "component": "pathname",
     23    "groups": { "foo": "🍅" },
     24    "expected": "/%F0%9F%8D%85"
     25  },
     26  {
     27    "pattern": { "hostname": "{:foo}.example.com" },
     28    "component": "hostname",
     29    "groups": { "foo": "🍅" },
     30    "expected": "xn--fi8h.example.com"
     31  },
     32  {
     33    "pattern": { "pathname": "/:foo" },
     34    "component": "pathname",
     35    "groups": {},
     36    "expected": null
     37  },
     38  {
     39    "pattern": { "pathname": "/foo/:bar" },
     40    "component": "pathname",
     41    "groups": { "bar": "baz" },
     42    "expected": "/foo/baz"
     43  },
     44  {
     45    "pattern": { "pathname": "/foo:bar" },
     46    "component": "pathname",
     47    "groups": { "bar": "baz" },
     48    "expected": "/foobaz"
     49  },
     50  {
     51    "pattern": { "pathname": "/:foo/:bar" },
     52    "component": "pathname",
     53    "groups": { "foo": "baz", "bar": "qux" },
     54    "expected": "/baz/qux"
     55  },
     56  {
     57    "pattern": "https://example.com/:foo",
     58    "component": "pathname",
     59    "groups": { "foo": " " },
     60    "expected": "/%20"
     61  },
     62  {
     63    "pattern": "original-scheme://example.com/:foo",
     64    "component": "pathname",
     65    "groups": { "foo": " " },
     66    "expected": "/ "
     67  },
     68  {
     69    "pattern": { "pathname": "/:foo" },
     70    "component": "pathname",
     71    "groups": { "foo": "bar/baz" },
     72    "expected": null
     73  },
     74  {
     75    "pattern": { "pathname": "*" },
     76    "component": "pathname",
     77    "groups": {},
     78    "expected": null
     79  },
     80  {
     81    "pattern": { "pathname": "/{foo}+" },
     82    "component": "pathname",
     83    "groups": {},
     84    "expected": null
     85  },
     86  {
     87    "pattern": { "pathname": "/{foo}?" },
     88    "component": "pathname",
     89    "groups": {},
     90    "expected": null
     91  },
     92  {
     93    "pattern": { "pathname": "/{foo}*" },
     94    "component": "pathname",
     95    "groups": {},
     96    "expected": null
     97  },
     98  {
     99    "pattern": { "pathname": "/(regexp)" },
    100    "component": "pathname",
    101    "groups": {},
    102    "expected": null
    103  },
    104  {
    105    "pattern": { "pathname": "/([^\\/]+?)" },
    106    "component": "pathname",
    107    "groups": {},
    108    "expected": null
    109  },
    110  {
    111    "pattern": { "port": "([^\\:]+?)" },
    112    "component": "port",
    113    "groups": {},
    114    "expected": null
    115  }
    116 ]