code: def test_render_js_cdn_dev_local(
      self, monkeypatch: pytest.MonkeyPatch
  ) -> None:
      monkeypatch.setattr(buv, "__version__", "2.0.0+foo")
      monkeypatch.setattr(resources, "__version__", "2.0.0+foo")
      r = resources.CDN.clone()
      # Skip bokeh-mathjax for older versions
      r.components.remove("bokeh-mathjax")
      out = r.render_js()
      html = bs4.BeautifulSoup(out, "html.parser")
      scripts = html.findAll(name="script")
      for script in scripts:
          if "src" not in script.attrs:
              continue
          assert "crossorigin" not in script.attrs
          assert "integrity" not in script.attrs
  
imports: from __future__ import annotations
  import pytest
  import os
  import re
  import subprocess
  import sys
  import bs4
  from packaging.version import Version
  import bokeh.util.version
  from bokeh.models import Model
  from bokeh.resources import RuntimeMessage, _get_cdn_urls
  from bokeh.settings import LogLevel, settings
  import bokeh.resources
label_desc: Use image node_id 24 for calling the TestResources obj's underlying member method code with example usage: obj.test_render_js_cdn_dev_local(monkeypatch) without return types