code: def test__show_with_state_with_no_notebook(
      mock_get_browser_controller: MagicMock,
      mock__show_file_with_state: MagicMock,
      mock_show_doc: MagicMock,
      mock_get_comms: MagicMock,
  ):
      mock_get_browser_controller.return_value = "controller"
      mock_get_comms.return_value = "comms"
      s = State()
  
      s.output_file("foo.html")
      bis._show_with_state("obj", s, "browser", "new")
      assert s.notebook_type is None
  
      assert mock_show_doc.call_count == 0
  
      assert mock__show_file_with_state.call_count == 1
      assert mock__show_file_with_state.call_args[0] == (
          "obj",
          s,
          "new",
          "controller",
      )
      assert mock__show_file_with_state.call_args[1] == {}
  
file_path: bokeh/tests/unit/bokeh/io/test_showing.py
imports: from __future__ import annotations
  import pytest
  from unittest.mock import MagicMock, Mock, patch
  from bokeh.application.application import Application
  from bokeh.io.doc import curdoc
  from bokeh.io.output import output_notebook
  from bokeh.io.state import State, curstate
  from bokeh.models import ColumnDataSource, GlyphRenderer, Plot
  import bokeh.io.showing
label_desc: Use image node_id 7 for calling a global function with example usage: test__show_with_state_with_no_notebook(mock_get_browser_controller, mock__show_file_with_state, mock_show_doc, mock_get_comms) without return types