import { test, expect } from '@playwright/test' import { checkWordPress, WORDPRESS_PLUGIN_VERSION_SELECTOR } from '../../installation_support/check-wordpress' function mockDocument(html, hasMetaTag) { return { documentElement: { outerHTML: `${html}` }, querySelector: (selector) => { if (selector === WORDPRESS_PLUGIN_VERSION_SELECTOR) { return hasMetaTag ? {} : null } return null } } } test.describe('checkWordPress (wordpressPlugin, wordPressLikely)', () => { test('handles document undefined', () => { const result = checkWordPress(undefined) expect(result.wordpressPlugin).toBe(false) expect(result.wordpressLikely).toBe(false) }) test('handles document.querySelector undefined', () => { const document = { documentElement: { outerHTML: '' } } const result = checkWordPress(document) expect(result.wordpressPlugin).toBe(false) expect(result.wordpressLikely).toBe(false) }) test('handles document.documentElement undefined', () => { const document = { documentElement: undefined, querySelector: (_) => null } const result = checkWordPress(document) expect(result.wordpressPlugin).toBe(false) expect(result.wordpressLikely).toBe(false) }) test('both false when no WordPress indicators present', () => { const document = mockDocument('', false) const result = checkWordPress(document) expect(result.wordpressPlugin).toBe(false) expect(result.wordpressLikely).toBe(false) }) test('both true if WordPress plugin version meta tag detected', () => { const document = mockDocument('', true) const result = checkWordPress(document) expect(result.wordpressPlugin).toBe(true) expect(result.wordpressLikely).toBe(true) }) test('detects wordpressLikely by wp-content signature', () => { const document = mockDocument( '', false ) const result = checkWordPress(document) expect(result.wordpressPlugin).toBe(false) expect(result.wordpressLikely).toBe(true) }) test('detects wordpressLikely by wp-includes signature', () => { const document = mockDocument( '', false ) const result = checkWordPress(document) expect(result.wordpressPlugin).toBe(false) expect(result.wordpressLikely).toBe(true) }) test('detects wordpressLikely by wp-json signature', () => { const document = mockDocument( '', false ) const result = checkWordPress(document) expect(result.wordpressPlugin).toBe(false) expect(result.wordpressLikely).toBe(true) }) test('detects wordpressLikely by multiple signatures', () => { const document = mockDocument( ` `, false ) const result = checkWordPress(document) expect(result.wordpressPlugin).toBe(false) expect(result.wordpressLikely).toBe(true) }) })