code: def test_cbmt002_canceled_intermediate_callback(dash_duo):
      # see https://github.com/plotly/dash/issues/1053
      app = Dash(__name__)
      app.layout = html.Div(
          [
              dcc.Input(id="a", value="x"),
              html.Div("b", id="b"),
              html.Div("c", id="c"),
              html.Div(id="out"),
          ]
      )
  
      @app.callback(
          Output("out", "children"),
          [
              Input("a", "value"),
              Input("b", "children"),
              Input("c", "children"),
          ],
      )
      def set_out(a, b, c):
          return "{}/{}/{}".format(a, b, c)
  
      @app.callback(Output("b", "children"), [Input("a", "value")])
      def set_b(a):
          raise PreventUpdate
  
      @app.callback(Output("c", "children"), [Input("a", "value")])
      def set_c(a):
          return a
  
      dash_duo.start_server(app)
      dash_duo.wait_for_text_to_equal("#out", "x/b/x")
      chars = "x"
      for i in list(range(10)) * 2:
          dash_duo.find_element("#a").send_keys(str(i))
          chars += str(i)
          dash_duo.wait_for_text_to_equal(
              "#out", "{0}/b/{0}".format(chars)
          )
  
file_path: dash/tests/integration/callbacks/test_multiple_callbacks.py
imports: import time
  from multiprocessing import Value, Lock
  import pytest
  from dash import Dash, Input, Output, State, callback_context, html, dcc, dash_table
  from dash.exceptions import PreventUpdate
  import dash.testing.wait
label_desc: Use image node_id 2 for calling a global function with example usage: test_cbmt002_canceled_intermediate_callback(dash_duo) and returns: str, a