code: def test_disjuction() -> None:
      res = list(
          q.find(
              plot.references(),
              {q.OR: [dict(type=Axis), dict(type=Grid)]},
          ),
      )
      assert len(res) == 5
  
      res = list(
          q.find(
              plot.references(),
              {q.OR: [dict(type=Axis), dict(name="myscatter")]},
          ),
      )
      assert len(res) == 4
  
      res = list(
          q.find(
              plot.references(),
              {
                  q.OR: [
                      dict(type=Axis),
                      dict(tags="foo"),
                      dict(name="myscatter"),
                  ]
              },
          ),
      )
      assert len(res) == 6
  
      res = list(
          q.find(
              plot.references(),
              {
                  q.OR: [
                      dict(type=Axis),
                      dict(tags="foo"),
                      dict(name="myscatter"),
                      dict(name="bad"),
                  ]
              },
          ),
      )
      assert len(res) == 6
  
file_path: bokeh/tests/unit/bokeh/core/test_query.py
imports: from __future__ import annotations
  import pytest
  from bokeh.models import Axis, BoxZoomTool, ColumnDataSource, DatetimeAxis, Glyph, GlyphRenderer, Grid, Line, LinearAxis, LogAxis, PanTool, Plot, Range1d, Rect, ResetTool, SaveTool, Scatter, Tool, WheelZoomTool
  import bokeh.core.query
label_desc: Use image node_id 8 for calling a global function with example usage: test_disjuction() without return types