From bd9cfb124bbe0aaf9968ba441862c9a0f6356dd0 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 22 Oct 2018 18:55:16 +1100 Subject: [PATCH] Added ImageGrab.grabclipboard test --- Tests/test_imagegrab.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Tests/test_imagegrab.py b/Tests/test_imagegrab.py index 24521ef20..250a7aefe 100644 --- a/Tests/test_imagegrab.py +++ b/Tests/test_imagegrab.py @@ -1,6 +1,7 @@ from helper import unittest, PillowTestCase import sys +import subprocess try: from PIL import ImageGrab @@ -11,6 +12,21 @@ try: im = ImageGrab.grab() self.assert_image(im, im.mode, im.size) + def test_grabclipboard(self): + if sys.platform == "darwin": + subprocess.call(['screencapture', '-c']) + else: + p = subprocess.Popen(['powershell', '-command', '-'], + stdin=subprocess.PIPE) + p.stdin.write(b'''[Reflection.Assembly]::LoadWithPartialName("System.Drawing") +[Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") +$bmp = New-Object Drawing.Bitmap 200, 200 +[Windows.Forms.Clipboard]::SetImage($bmp)''') + p.communicate() + + im = ImageGrab.grabclipboard() + self.assert_image(im, im.mode, im.size) + except ImportError: class TestImageGrab(PillowTestCase): def test_skip(self):