async def METHOD_NAME(lona_app_context):
    """
    This test tests the HTML synchronization between two tabs that show same,
    daemonized view, using a TextInput
    """
    from playwright.async_api import async_playwright
    from lona.pytest import eventually
    def setup_app(app):
        from lona.html import TextInput, HTML
        from lona import View
        @app.route('/')
        class DaemonView(View):
            def handle_request(self, request):
                self.daemonize()
                html = HTML(
                    TextInput(value='initial', _id='input'),
                )
                self.show(html)
                self.await_input_event()
    context = await lona_app_context(setup_app)
    async def get_value(page):
        return await page.input_value('#input')
    async def set_value(page, value):
        return await page.fill('#input', str(value))
    async with async_playwright() as p:
        browser1 = await p.chromium.launch()
        browser_context1 = await browser1.new_context()
        page1 = await browser_context1.new_page()
        page2 = await browser_context1.new_page()
        browser2 = await p.chromium.launch()
        browser_context2 = await browser2.new_context()
        page3 = await browser_context2.new_page()
        # initial load
        await page1.goto(context.make_url('/'))
        await page2.goto(context.make_url('/'))
        await page3.goto(context.make_url('/'))
        assert (await get_value(page1)) == 'initial'
        assert (await get_value(page2)) == 'initial'
        assert (await get_value(page3)) == 'initial'
        # set value in first tab
        await set_value(page1, 'foo')
        for attempt in eventually():
            async with attempt:
                assert (await get_value(page1)) == 'foo'
                assert (await get_value(page2)) == 'foo'
                assert (await get_value(page3)) == 'initial'
        # set value in second tab
        await set_value(page2, 'bar')
        for attempt in eventually():
            async with attempt:
                assert (await get_value(page1)) == 'bar'
                assert (await get_value(page2)) == 'bar'
                assert (await get_value(page3)) == 'initial'