from pathlib import Path
import json
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
    browser=p.chromium.launch()
    page=browser.new_page()
    page.goto(Path(__file__).with_name('citation-viewer.html').as_uri())
    assert page.locator('#answer').inner_text().startswith('中文😀 é')
    assert page.locator('#answer script').count()==0
    assert page.evaluate('window.injected') is None
    results=page.evaluate('window.renderResults')
    assert results[0]['label']=='中文😀'
    assert results[1]['label']=='😀 é'
    assert results[2]['safe'] is False
    assert results[3]['valid'] is False
    assert page.locator('#sources a').count()==3
    print(json.dumps(results, ensure_ascii=True))
    browser.close()
