name: Multisite Search > Pagefind skips an optional index that fails to load steps: - ref: ./background.toolproof.yml - macro: I run Pagefind with "--site root/website_a" - step: stdout should contain "Running Pagefind" - step: The file "root/website_a/pagefind/pagefind.js" should not be empty - macro: I run Pagefind with "--site root/website_b" - step: stdout should contain "Running Pagefind" - step: The file "root/website_b/pagefind/pagefind.js" should not be empty - step: I serve the directory "root" - step: In my browser, I load "/" - step: In my browser, I evaluate {js} js: >- let pagefind = await import("/website_a/pagefind/pagefind.js"); await pagefind.mergeIndex("/website_c/pagefind/", { optional: true }); await pagefind.mergeIndex("/website_b/pagefind/"); let search = await pagefind.search("web"); let pages = await Promise.all(search.results.map(r => r.data())); document.querySelector('[data-result]').innerText = pages.map(p => p.url).join(", "); - step: In my browser, I evaluate {js} js: >- let val = await toolproof.querySelector("[data-result]"); toolproof.assert_eq(val.innerHTML, `/website_a/hello/, /website_b/lorem/`);