import { describe, it, expect } from "bun:test";
describe("url", () => {
it("works", () => {
const inputs: [
[
string,
{
hash: string;
host: string;
hostname: string;
href: string;
origin: string;
password: string;
pathname: string;
port: string;
protocol: string;
search: string;
username: string;
}
]
] = [
[
"https://username:password@api.foo.bar.com:9999/baz/okay/i/123?ran=out&of=things#to-use-as-a-placeholder",
{
hash: "#to-use-as-a-placeholder",
host: "api.foo.bar.com:9999",
hostname: "api.foo.bar.com",
href: "https://username:password@api.foo.bar.com:9999/baz/okay/i/123?ran=out&of=things#to-use-as-a-placeholder",
origin: "https://api.foo.bar.com:9999",
password: "password",
pathname: "/baz/okay/i/123",
port: "9999",
protocol: "https:",
search: "?ran=out&of=things",
username: "username",
},
],
[
"https://url.spec.whatwg.org/#url-serializing",
{
hash: "#url-serializing",
host: "url.spec.whatwg.org",
hostname: "url.spec.whatwg.org",
href: "https://url.spec.whatwg.org/#url-serializing",
origin: "https://url.spec.whatwg.org",
password: "",
pathname: "/",
port: "",
protocol: "https:",
search: "",
username: "",
},
],
[
"https://url.spec.whatwg.org#url-serializing",
{
hash: "#url-serializing",
host: "url.spec.whatwg.org",
hostname: "url.spec.whatwg.org",
href: "https://url.spec.whatwg.org/#url-serializing",
origin: "https://url.spec.whatwg.org",
password: "",
pathname: "/",
port: "",
protocol: "https:",
search: "",
username: "",
},
],
];
for (let [url, values] of inputs) {
const result = new URL(url);
expect(result.hash).toBe(values.hash);
expect(result.host).toBe(values.host);
expect(result.hostname).toBe(values.hostname);
expect(result.href).toBe(values.href);
expect(result.origin).toBe(values.origin);
expect(result.password).toBe(values.password);
expect(result.pathname).toBe(values.pathname);
expect(result.port).toBe(values.port);
expect(result.protocol).toBe(values.protocol);
expect(result.search).toBe(values.search);
expect(result.username).toBe(values.username);
}
expect(new URL("example.com").pathname).toBe("/");
expect(new URL("https://example.com").protocol).toBe("https:");
expect(new URL("http://example.com").protocol).toBe("http:");
expect(new URL("example.com/foo").pathname).toBe("/foo");
expect(new URL("example.com/foo/bar/").pathname).toBe("/foo/bar/");
expect(new URL("example.com/foo/bar/?search=true").search).toBe(
"?search=true"
);
expect(new URL("example.com/foo/bar/?search=true#fragment").search).toBe(
"?search=true"
);
expect(new URL("https://example.com").href).toBe("https://example.com/");
expect(new URL("example.com").hostname).toBe("example.com");
});
});
n value='draft/script-style-bleed'>draft/script-style-bleed
| Unnamed repository; edit this file 'description' to name the repository. | |
| Age | Commit message (Collapse) | Author | Files | Lines |
|
* improve CI times
* improve CI times
|
|
|
|
|
|
* feat: first pass at MDX support
* fix: move built-in JSX renderer to come first
* chore: remove jsx example
* chore: update lockfile
* chore: cleanup example
* fix: missing deps
* refactor: move component render logic to `renderPage`
* chore: update HMR script
* chore: update MDX example
* refactor: prefer unshit
* refactor: remove TODO comment
* fix: remove duplicate identifier
* refactor: cleanup mdx entrypoint
* fix: better html handling
* fix: add tsconfig to mdx package
* chore: update lockfile
* fix: do not sort plugins unless mdx is enabled
* chore: update compiler
* fix(hmr): maybe render head for non-Astro pages
* fix: set initial pageExtensions
* refactor: cleanup addPageExtension
* refactor: remove addPageExtensions from types
* refactor: expose HookParameters type
* fix: only default to astro for MDX
* test: pick up jsx support in test fixtures
* refactor: simplify mdx entrypoint
* test: add basic MDX tests
* test(e2e): add mdx + framework tests
* chore: update lockfile
* test(e2e): fix preact mdx e2e test
* fix(mdx): disable .md support
* test(e2e): fix vue-component test missing mdx
* test(e2e): fix solid component needing import
* fix: allow `client:only="solid"` as an alias to `solid-js`
* chore: move to with-mdx example
* chore: update MDX readme
* chore: update example readme
* chore: bump astro version
* chore: update lockfile
* Update mod.d.ts
* feat: support `export const components` in MDX pages
* chore: update mdx example
* fix: update jsx-runtime with better slot support
* refactor: remove object style support
* chore: cleanup package exports
* chore: add todo comment
* refactor: improve isPage function, move to utils
* refactor: dry up manual HMR updates
* chore: add dev tests for MDX
* chore: prefer set to array
* chore: add changesets
* fix(hmr): flip public/private route
Co-authored-by: Nate Moore <nate@astro.build>
|
|
|
|
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
|
|
* sitemap readme skeleton + first sections
* Revert "sitemap readme skeleton + first sections"
This reverts commit cc55b312b6dc95522645002806d63f32c33d1956.
* sitemap readme skeleton + first sections
* remove canonicalURL option from sitemap
* add customPages option to readme
* sitemap examples
* partytown
* deno run command
* reference deno example
* node readme
* netlify & vercel readmes
* note that telemetry is installed
* telemetry is *enabled*, not installed
* Update packages/integrations/vercel/README.md
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/integrations/vercel/README.md
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* readme -> README
* Update packages/integrations/deno/readme.md
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/integrations/deno/readme.md
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* qualify they
* Update packages/integrations/sitemap/README.md
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Uppercase README names
* Update packages/integrations/partytown/README.md
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* imports -> import typo
* update changeset
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
|
|
|
|
|
|
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
|
|
|
|
|
|
* Fix "Invalid hook call" warning
* Fix eslint warnings
* Apply code review suggestions
|
|
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
|
|
|
|
* lockfile update
* update lockfile gen script
* Update index.ts
|
|
|