def test_svg_pane(document, comm): rect = """ <svg xmlns="http://www.w3.org/2000/svg"> <rect x="10" y="10" height="100" width="100"/> </svg> """ pane = SVG(rect, encode=True) # Create pane model = pane.get_root(document, comm=comm) assert pane._models[model.ref['id']][0] is model assert model.text.startswith('<img src='data:image/svg+xml;base64') assert b64encode(rect.encode('utf-8')).decode('utf-8') in model.text # Replace Pane.object circle = """ <svg xmlns="http://www.w3.org/2000/svg" height="100"> <circle cx="50" cy="50" r="40" /> </svg> """ pane.object = circle assert pane._models[model.ref['id']][0] is model assert model.text.startswith('<img src='data:image/svg+xml;base64') assert b64encode(circle.encode('utf-8')).decode('utf-8') in model.text pane.encode = False assert model.text == escape(circle) # Cleanup pane._cleanup(model) assert pane._models == {}
def test_svg_pane(document, comm): rect = """ <svg xmlns="http://www.w3.org/2000/svg"> <rect x="10" y="10" height="100" width="100"/> </svg> """ pane = SVG(rect) # Create pane model = pane._get_root(document, comm=comm) assert pane._models[model.ref['id']][0] is model assert model.text.startswith('<img') assert b64encode(rect.encode('utf-8')).decode('utf-8') in model.text # Replace Pane.object circle = """ <svg xmlns="http://www.w3.org/2000/svg" height="100"> <circle cx="50" cy="50" r="40" /> </svg> """ pane.object = circle assert pane._models[model.ref['id']][0] is model assert model.text.startswith('<img') assert b64encode(circle.encode('utf-8')).decode('utf-8') in model.text # Cleanup pane._cleanup(model) assert pane._models == {}
def test_svg_pane(document, comm): rect = """ <svg xmlns="http://www.w3.org/2000/svg"> <rect x="10" y="10" height="100" width="100"/> </svg> """ pane = SVG(rect) # Create pane row = pane._get_root(document, comm=comm) assert isinstance(row, BkRow) assert len(row.children) == 1 model = row.children[0] assert model.ref['id'] in pane._callbacks div = get_div(model) assert div.text.startswith('<img') assert b64encode(rect.encode('utf-8')).decode('utf-8') in div.text # Replace Pane.object circle = """ <svg xmlns="http://www.w3.org/2000/svg" height="100"> <circle cx="50" cy="50" r="40" /> </svg> """ pane.object = circle model = row.children[0] assert div is get_div(model) assert model.ref['id'] in pane._callbacks assert div.text.startswith('<img') assert b64encode(circle.encode('utf-8')).decode('utf-8') in div.text # Cleanup pane._cleanup(model) assert pane._callbacks == {}