mirror of https://github.com/pyodide/pyodide.git
Merge pull request #323 from mdboom/fix-matplotlib
Fix matplotlib wasm backend after undefined attribute behavior changed
This commit is contained in:
commit
f3fcf034ad
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue