Spaces:
Running
Running
import pytest | |
from ..html import spec_to_html | |
def spec(): | |
return { | |
"data": {"url": "data.json"}, | |
"mark": "point", | |
"encoding": { | |
"x": {"field": "x", "type": "quantitative"}, | |
"y": {"field": "y", "type": "quantitative"}, | |
}, | |
} | |
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 | |