code: def test_on_listener(self):
      with gr.Blocks() as demo:
          name = gr.Textbox(label="Name")
          output = gr.Textbox(label="Output Box")
          greet_btn = gr.Button("Greet")
  
          def greet(name):
              return "Hello " + name + "!"
  
          gr.on(
              triggers=[name.submit, greet_btn.click, demo.load],
              fn=greet,
              inputs=name,
              outputs=output,
          )
  
          with gr.Row():
              num1 = gr.Slider(1, 10)
              num2 = gr.Slider(1, 10)
              num3 = gr.Slider(1, 10)
          output = gr.Number(label="Sum")
  
          @gr.on(inputs=[num1, num2, num3], outputs=output)
          def sum(a, b, c):
              return a + b + c
  
      assert demo.config["dependencies"][0]["targets"] == [
          (name._id, "submit"),
          (greet_btn._id, "click"),
          (demo._id, "load"),
      ]
      assert demo.config["dependencies"][1]["targets"] == [
          (num1._id, "change"),
          (num2._id, "change"),
          (num3._id, "change"),
      ]
  
file_path: gradio/test/test_events.py
imports: import ast
  import inspect
  from pathlib import Path
  import pytest
  from fastapi.testclient import TestClient
  import gradio
label_desc: Use image node_id 4 for calling the TestEvent obj's underlying member method code with example usage: obj.test_on_listener() and returns: unknown, unknown