code: def test_calls_callback_on_change(app: Page):
      """Test that it correctly calls the callback on change."""
      app.get_by_test_id("stDateInput").nth(11).click()
  
      # Select '1970/01/02'
      app.locator(
          '[data-baseweb="calendar"] [aria-label^="Choose Friday, January 2nd 1970."]'
      ).first.click()
  
      expect(app.get_by_test_id("stMarkdown").nth(11)).to_have_text(
          "Value 12: 1970-01-02",
          use_inner_text=True,
      )
      expect(app.get_by_test_id("stMarkdown").nth(12)).to_have_text(
          "Date Input Changed: True",
          use_inner_text=True,
      )
  
      # Change different date input to trigger delta path change
      first_date_input_field = app.locator(".stDateInput input").first
      first_date_input_field.type("1971/01/03")
      first_date_input_field.press("Enter")
  
      expect(app.get_by_test_id("stMarkdown").first).to_have_text(
          "Value 1: 1971-01-03", use_inner_text=True
      )
  
      # Test if value is still correct after delta path change
      expect(app.get_by_test_id("stMarkdown").nth(11)).to_have_text(
          "Value 12: 1970-01-02",
          use_inner_text=True,
      )
      expect(app.get_by_test_id("stMarkdown").nth(12)).to_have_text(
          "Date Input Changed: False",
          use_inner_text=True,
      )
  
file_path: streamlit/e2e_playwright/st_date_input_test.py
imports: from playwright.sync_api import Page, expect
  from e2e_playwright.conftest import ImageCompareFunction
label_desc: Use image node_id 8 for calling a global function with example usage: test_calls_callback_on_change(app) without return types