Raise error if grabclipboard is used not on macOS or Windows

This commit is contained in:
Andrew Murray 2019-12-28 22:59:09 +11:00
parent 1ebaf0bd6c
commit 13ab784c51
2 changed files with 7 additions and 1 deletions

View File

@ -26,7 +26,7 @@ class TestImageGrab:
def test_grabclipboard(self):
if sys.platform == "darwin":
subprocess.call(["screencapture", "-cx"])
else:
elif sys.platform == "win32":
p = subprocess.Popen(["powershell", "-command", "-"], stdin=subprocess.PIPE)
p.stdin.write(
b"""[Reflection.Assembly]::LoadWithPartialName("System.Drawing")
@ -35,6 +35,9 @@ $bmp = New-Object Drawing.Bitmap 200, 200
[Windows.Forms.Clipboard]::SetImage($bmp)"""
)
p.communicate()
else:
self.assertRaises(NotImplementedError, ImageGrab.grabclipboard)
return
im = ImageGrab.grabclipboard()
assert_image(im, im.mode, im.size)

View File

@ -110,3 +110,6 @@ def grabclipboard():
return BmpImagePlugin.DibImageFile(io.BytesIO(data))
return data
else:
raise NotImplementedError("grabclipboard is macOS and Windows only")