8 lines
848 B
TypeScript
8 lines
848 B
TypeScript
import assert from "node:assert/strict"
|
|
import {readContainersUrl,patchContainersUrl} from "./containers-url-state"
|
|
for(const q of ["server=bad","server=0","server=1.5","server=9007199254740992","server=1&server=2","status=bad","status=running&status=stopped","q=a&q=b","q="+"x".repeat(201)])assert.ok(readContainersUrl(new URLSearchParams(q)).error,q)
|
|
assert.deepEqual(readContainersUrl(new URLSearchParams("server=2&status=unknown&q=test")),{server:"2",status:"unknown",search:"test",error:null})
|
|
assert.deepEqual(readContainersUrl(new URLSearchParams()),{server:"all",status:"all",search:"",error:null})
|
|
assert.equal(patchContainersUrl(new URLSearchParams("server=1&status=running&ref=map"),{server:null,status:null}),"/containers?ref=map")
|
|
console.log("Containers URL: strict/duplicate context, empty defaults, unrelated parameters preserved")
|