diff --git a/packages/matplotlib/src/wasm_backend.py b/packages/matplotlib/src/wasm_backend.py index 88a7ac41e..a16ab91c0 100644 --- a/packages/matplotlib/src/wasm_backend.py +++ b/packages/matplotlib/src/wasm_backend.py @@ -90,21 +90,24 @@ class FigureCanvasWasm(backend_agg.FigureCanvasAgg): This is typically 2 on a HiDPI ("Retina") display, and 1 otherwise. """ backing_store = ( - context.backingStorePixelRatio or - context.webkitBackingStorePixel or - context.mozBackingStorePixelRatio or - context.msBackingStorePixelRatio or - context.oBackingStorePixelRatio or - context.backendStorePixelRatio or + getattr(context, 'backingStorePixelRatio', 0) or + getattr(context, 'webkitBackingStorePixel', 0) or + getattr(context, 'mozBackingStorePixelRatio', 0) or + getattr(context, 'msBackingStorePixelRatio', 0) or + getattr(context, 'oBackingStorePixelRatio', 0) or + getattr(context, 'backendStorePixelRatio', 0) or 1 ) - return (window.devicePixelRatio or 1) / backing_store + return (getattr(window, 'devicePixelRatio', 0) or 1) / backing_store def create_root_element(self): # Designed to be overridden by subclasses for use in contexts other # than iodide. from js import iodide - return iodide.output.element('div') + if iodide is not None: + return iodide.output.element('div') + else: + return document.createElement('div') def show(self): # If we've already shown this canvas elsewhere, don't create a new one, diff --git a/test/test_matplotlib.py b/test/test_matplotlib.py index 37776fd0c..b9e51aecd 100644 --- a/test/test_matplotlib.py +++ b/test/test_matplotlib.py @@ -1,8 +1,10 @@ -def test_matplotlib(selenium): +def test_matplotlib(selenium_standalone): + selenium = selenium_standalone selenium.load_package("matplotlib") selenium.run("from matplotlib import pyplot as plt") selenium.run("plt.figure()") - selenium.run("x = plt.plot([1,2,3])") + selenium.run("plt.plot([1,2,3])") + selenium.run("plt.show()") def test_svg(selenium): @@ -26,5 +28,3 @@ def test_pdf(selenium): selenium.run("import io") selenium.run("fd = io.BytesIO()") selenium.run("plt.savefig(fd, format='pdf')") - content = selenium.run("fd.getvalue()") - assert len(content) == 5559