diff --git a/packages/metascraper-logo-favicon/src/index.js b/packages/metascraper-logo-favicon/src/index.js index 9c38051fe..6b2ed8661 100644 --- a/packages/metascraper-logo-favicon/src/index.js +++ b/packages/metascraper-logo-favicon/src/index.js @@ -70,7 +70,7 @@ const getDomNodeSizes = (domNodes, attr, url) => chain(domNodes) .reduce((acc, domNode) => { const relativeUrl = domNode.attribs[attr] - if (!relativeUrl) return acc + if (!relativeUrl || relativeUrl === url) return acc const normalizedUrl = normalizeUrl(url, relativeUrl) if (!normalizedUrl) return acc return [ diff --git a/packages/metascraper-logo-favicon/test/index.js b/packages/metascraper-logo-favicon/test/index.js index 82bd89141..8f0e9f9bb 100644 --- a/packages/metascraper-logo-favicon/test/index.js +++ b/packages/metascraper-logo-favicon/test/index.js @@ -85,6 +85,19 @@ test('get the biggest icon possible', async t => { t.is(metadata.logo, 'https://cdn.microlink.io/logo/favicon-196x196.png') }) +test("don't resolve root path as logo", async t => { + const url = 'https://thisurldoesnotexist.com' + const metascraper = createMetascraper() + const html = createHtml([ + '', + '', + ``, + '' + ]) + const metadata = await metascraper({ url, html }) + t.is(metadata.logo, null) +}) + test('get the biggest respecting the format', async t => { const url = 'https://github.com' const metascraper = createMetascraper()