new_contents: import pytest
  
  from ..html import spec_to_html
  
  
  @pytest.fixture
  def spec():
      return {
        'data': {'url': 'data.json'},
        'mark': 'point',
        'encoding': {
          'x': {'field': 'x', 'type': 'quantitative'},
          'y': {'field': 'y', 'type': 'quantitative'}
        }
      }
  
  
  @pytest.mark.parametrize('requirejs', [True, False])
  @pytest.mark.parametrize('fullhtml', [True, False])
  def test_spec_to_html(requirejs, fullhtml, spec):
      # We can't test that the html actually renders, but we'll test aspects of
      # it to make certain that the keywords are respected.
      vegaembed_version="3.12",
      vegalite_version="3.0",
      vega_version="4.0"
  
      html = spec_to_html(spec, mode='vega-lite',
                          requirejs=requirejs, fullhtml=fullhtml,
                          vegalite_version=vegalite_version,
                          vegaembed_version=vegaembed_version,
                          vega_version=vega_version)
      html = html.strip()
  
      if fullhtml:
          assert html.startswith("<!DOCTYPE html>")
          assert html.endswith("</html>")
      else:
          assert html.startswith("<style>")
          assert html.endswith("</script>")
  
      if requirejs:
          assert "require(" in html
      else:
          assert "require(" not in html
  
      assert "vega-lite@{}".format(vegalite_version) in html
      assert "vega@{}".format(vega_version) in html
      assert "vega-embed@{}".format(vegaembed_version) in html
  
subject: add test of utils/html