Files
dvc/tests/unit/render/test_image_converter.py
T
Paweł Redzyński ba2e8bdac7 plots: data conversion: adjust for viewer backend (#8421)
* plots: vega: converter: support multi series data split and props inference

Fixes: #7754, #8399
Related: iterative/studio#4369

* plots: converter: make converter infer x and y labels if not provided

* plots: vega: converter: roll back to datapoints format

* plots: vega: converter: refactor

* plots: infer labels on

* plots: get_plot_id: fix naming

* plots: vega: converter: notes regarding converting
2022-11-18 12:36:00 +00:00

46 lines
1.4 KiB
Python

from dvc.render import REVISION_FIELD, SRC_FIELD
from dvc.render.converter.image import ImageConverter
def test_image_converter_no_out():
data = {"image.png": b"content"}
converter = ImageConverter("image.png", data)
datapoints, _ = converter.flat_datapoints("r")
assert datapoints[0] == {
REVISION_FIELD: "r",
"filename": "image.png",
SRC_FIELD: converter._encode_image(b"content"),
}
def test_image_converter_with_out(tmp_dir):
data = {"image.png": b"content"}
converter = ImageConverter("image.png", data, {"out": tmp_dir / "foo"})
datapoints, _ = converter.flat_datapoints("r")
assert datapoints[0] == {
REVISION_FIELD: "r",
"filename": "image.png",
SRC_FIELD: str(tmp_dir / "foo" / "r_image.png"),
}
assert (tmp_dir / "foo" / "r_image.png").read_bytes() == b"content"
def test_image_converter_with_slash_in_revision(tmp_dir):
"""Regression test for #7934"""
data = {"image.png": b"content"}
converter = ImageConverter("image.png", data, {"out": tmp_dir / "foo"})
datapoints, _ = converter.flat_datapoints("feature/r")
assert datapoints[0] == {
REVISION_FIELD: "feature/r",
"filename": "image.png",
SRC_FIELD: str(tmp_dir / "foo" / "feature_r_image.png"),
}
assert (tmp_dir / "foo" / "feature_r_image.png").read_bytes() == b"content"