import { describe, expect, it } from
"vitest" ;
import { resolveEmojiAndHomepage } from
"./entry-metadata.js" ;
describe(
"shared/entry-metadata" , () => {
it(
"prefers metadata emoji and homepage when present" , () => {
expect(
resolveEmojiAndHomepage({
metadata: { emoji:
"" , homepage:
" https://openclaw.ai " },
frontmatter: { emoji:
"" , homepage:
"https://example.com " },
}),
).toEqual({
emoji:
"" ,
homepage:
"https://openclaw.ai ",
});
});
it(
"keeps metadata precedence even when metadata values are blank" , () => {
expect(
resolveEmojiAndHomepage({
metadata: { emoji:
"" , homepage:
" " },
frontmatter: { emoji:
"" , homepage:
"https://example.com " },
}),
).toEqual({});
});
it(
"falls back through frontmatter homepage aliases and drops blanks" , () => {
expect(
resolveEmojiAndHomepage({
frontmatter: { emoji:
"" , website:
" https://docs.openclaw.ai " },
}),
).toEqual({
emoji:
"" ,
homepage:
"https://docs.openclaw.ai ",
});
expect(
resolveEmojiAndHomepage({
metadata: { homepage:
" " },
frontmatter: { url:
" " },
}),
).toEqual({});
expect(
resolveEmojiAndHomepage({
frontmatter: { url:
" https://openclaw.ai/install " },
}),
).toEqual({
homepage:
"https://openclaw.ai/install ",
});
});
it(
"does not fall back once frontmatter homepage aliases are present but blank" , () => {
expect(
resolveEmojiAndHomepage({
frontmatter: {
homepage:
" " ,
website:
"https://docs.openclaw.ai ",
url:
"https://openclaw.ai/install ",
},
}),
).toEqual({});
});
});
Messung V0.5 in Prozent C=84 H=100 G=92
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-09)
¤
*© Formatika GbR, Deutschland