Source code
Revision control
Copy as Markdown
Other Tools
browser.test.runTests([
function browserRuntimeGetURLErrorCases() {
browser.test.assertThrows(() => browser.runtime.getURL())
browser.test.assertThrows(() => browser.runtime.getURL(null))
browser.test.assertThrows(() => browser.runtime.getURL(undefined))
browser.test.assertThrows(() => browser.runtime.getURL(42))
browser.test.assertThrows(() => browser.runtime.getURL(/test/))
},
function browserRuntimeGetURLNormalCases() {
browser.test.assertEq(typeof browser.runtime.getURL(""), "string")
browser.test.assertEq(new URL(browser.runtime.getURL("")).pathname, "/")
browser.test.assertEq(new URL(browser.runtime.getURL("test.js")).pathname, "/test.js")
browser.test.assertEq(new URL(browser.runtime.getURL("/test.js")).pathname, "/test.js")
browser.test.assertEq(new URL(browser.runtime.getURL("../../test.js")).pathname, "/test.js")
browser.test.assertEq(new URL(browser.runtime.getURL("./test.js")).pathname, "/test.js")
browser.test.assertEq(new URL(browser.runtime.getURL("././/example")).pathname, "//example")
browser.test.assertEq(new URL(browser.runtime.getURL("../../example/..//test/")).pathname, "//test/")
browser.test.assertEq(new URL(browser.runtime.getURL(".")).pathname, "/")
browser.test.assertEq(new URL(browser.runtime.getURL("..//../")).pathname, "/")
browser.test.assertEq(new URL(browser.runtime.getURL(".././..")).pathname, "/")
browser.test.assertEq(new URL(browser.runtime.getURL("/.././.")).pathname, "/")
},
async function browserRuntimeGetPlatformInfo() {
const platformInfo = await browser.runtime.getPlatformInfo()
browser.test.assertEq(typeof platformInfo, "object")
browser.test.assertEq(typeof platformInfo.os, "string")
browser.test.assertEq(typeof platformInfo.arch, "string")
}
])