tor-browser

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

resolving-null.json (2927B)


      1 {
      2  "importMapBaseURL": "https://example.com/app/index.html",
      3  "baseURL": "https://example.com/js/app.mjs",
      4  "name": "Entries with errors shouldn't allow fallback",
      5  "tests": {
      6    "No fallback to less-specific prefixes": {
      7      "importMap": {
      8        "imports": {
      9          "null/": "/1/",
     10          "null/b/": null,
     11          "null/b/c/": "/1/2/",
     12          "invalid-url/": "/1/",
     13          "invalid-url/b/": "https://:invalid-url:/",
     14          "invalid-url/b/c/": "/1/2/",
     15          "without-trailing-slashes/": "/1/",
     16          "without-trailing-slashes/b/": "/x",
     17          "without-trailing-slashes/b/c/": "/1/2/",
     18          "prefix-resolution-error/": "/1/",
     19          "prefix-resolution-error/b/": "data:text/javascript,/",
     20          "prefix-resolution-error/b/c/": "/1/2/"
     21        }
     22      },
     23      "expectedResults": {
     24        "null/x": "https://example.com/1/x",
     25        "null/b/x": null,
     26        "null/b/c/x": "https://example.com/1/2/x",
     27        "invalid-url/x": "https://example.com/1/x",
     28        "invalid-url/b/x": null,
     29        "invalid-url/b/c/x": "https://example.com/1/2/x",
     30        "without-trailing-slashes/x": "https://example.com/1/x",
     31        "without-trailing-slashes/b/x": null,
     32        "without-trailing-slashes/b/c/x": "https://example.com/1/2/x",
     33        "prefix-resolution-error/x": "https://example.com/1/x",
     34        "prefix-resolution-error/b/x": null,
     35        "prefix-resolution-error/b/c/x": "https://example.com/1/2/x"
     36      }
     37    },
     38    "No fallback to less-specific scopes": {
     39      "importMap": {
     40        "imports": {
     41          "null": "https://example.com/a",
     42          "invalid-url": "https://example.com/b",
     43          "without-trailing-slashes/": "https://example.com/c/",
     44          "prefix-resolution-error/": "https://example.com/d/"
     45        },
     46        "scopes": {
     47          "/js/": {
     48            "null": null,
     49            "invalid-url": "https://:invalid-url:/",
     50            "without-trailing-slashes/": "/x",
     51            "prefix-resolution-error/": "data:text/javascript,/"
     52          }
     53        }
     54      },
     55      "expectedResults": {
     56        "null": null,
     57        "invalid-url": null,
     58        "without-trailing-slashes/x": null,
     59        "prefix-resolution-error/x": null
     60      }
     61    },
     62    "No fallback to absolute URL parsing": {
     63      "importMap": {
     64        "imports": {},
     65        "scopes": {
     66          "/js/": {
     67            "https://example.com/null": null,
     68            "https://example.com/invalid-url": "https://:invalid-url:/",
     69            "https://example.com/without-trailing-slashes/": "/x",
     70            "https://example.com/prefix-resolution-error/": "data:text/javascript,/"
     71          }
     72        }
     73      },
     74      "expectedResults": {
     75        "https://example.com/null": null,
     76        "https://example.com/invalid-url": null,
     77        "https://example.com/without-trailing-slashes/x": null,
     78        "https://example.com/prefix-resolution-error/x": null
     79      }
     80    }
     81  }
     82 }