code: def test_empty_number_input_behaves_correctly(
      app: Page, assert_snapshot: ImageCompareFunction
  ):
      """Test that st.number_input behaves correctly when empty."""
      # Enter 10 in the first empty input:
      empty_number_input = app.get_by_test_id("stNumberInput").nth(10)
      empty_number_input_field = empty_number_input.locator(
          "input"
      ).first
      empty_number_input_field.fill("10")
      empty_number_input_field.press("Enter")
  
      expect(app.get_by_test_id("stMarkdown").nth(11)).to_have_text(
          "number input 11 (value=None) - value: 10.0",
          use_inner_text=True,
      )
  
      assert_snapshot(
          empty_number_input, name="st_number_input-clearable_input"
      )
  
      # Press escape to clear value:
      empty_number_input.focus()
      empty_number_input.press("Escape")
      empty_number_input.press("Enter")
  
      # Should be empty again:
      expect(app.get_by_test_id("stMarkdown").nth(11)).to_have_text(
          "number input 11 (value=None) - value: None",
          use_inner_text=True,
      )
  
      # Check with second empty input, this one should be integer since the min_value was
      # set to an integer:
      empty_number_input_with_min = (
          app.get_by_test_id("stNumberInput")
          .nth(11)
          .locator("input")
          .first
      )
      empty_number_input_with_min.fill("15")
      empty_number_input_with_min.press("Enter")
  
      expect(app.get_by_test_id("stMarkdown").nth(12)).to_have_text(
          "number input 12 (value from state & min=1) - value: 15",
          use_inner_text=True,
      )
  
file_path: streamlit/e2e_playwright/st_number_input_test.py
imports: from playwright.sync_api import Page, expect
  from e2e_playwright.conftest import ImageCompareFunction, wait_for_app_run
label_desc: Use image node_id 8 for calling a global function with example usage: test_empty_number_input_behaves_correctly(app, assert_snapshot) without return types