fix display multiple append with target (#1126)

* fix display multiple append with target

* flake8 ignore long lines

* fix img render test
This commit is contained in:
Madhur Tandon
2023-01-24 22:01:19 +05:30
committed by GitHub
parent 357fbc644d
commit 4e8281c749
2 changed files with 27 additions and 5 deletions

View File

@@ -250,7 +250,7 @@ class Element:
child = js.document.createElement("div")
self.element.appendChild(child)
if self.element.children:
if append and self.element.children:
out_element = self.element.children[-1]
else:
out_element = self.element

View File

@@ -219,6 +219,31 @@ class TestOutput(PyScriptTest):
pattern = r'<py-script id="py-.*">world</py-script>'
assert re.search(pattern, inner_html)
def test_display_multiple_append_false_with_target(self):
self.pyscript_run(
"""
<div id="circle-div"></div>
<py-script>
class Circle:
r = 0
def _repr_svg_(self):
return f'<svg height="{self.r*2}" width="{self.r*2}"><circle cx="{self.r}" cy="{self.r}" r="{self.r}" fill="red" /></svg>' # noqa: E501
circle = Circle()
circle.r += 5
display(circle, target="circle-div", append=False)
circle.r += 5
display(circle, target="circle-div", append=False)
</py-script>
"""
)
innerhtml = self.page.locator("id=circle-div").inner_html()
assert (
innerhtml
== '<svg height="20" width="20"><circle cx="10" cy="10" r="10" fill="red"></circle></svg>' # noqa: E501
)
def test_display_list_dict_tuple(self):
self.pyscript_run(
"""
@@ -353,8 +378,5 @@ class TestOutput(PyScriptTest):
"""
)
# TODO: This seems to be a py-script tag, should it?
rendered_img_src = self.page.locator("#py-internal-0 > img").get_attribute(
"src"
)
rendered_img_src = self.page.locator("img").get_attribute("src")
assert rendered_img_src == expected_img_src