diff --git a/Tests/test_imagegrab.py b/Tests/test_imagegrab.py index 87a6956f6..250a7aefe 100644 --- a/Tests/test_imagegrab.py +++ b/Tests/test_imagegrab.py @@ -1,17 +1,32 @@ -from helper import unittest, PillowTestCase, on_appveyor +from helper import unittest, PillowTestCase import sys +import subprocess try: from PIL import ImageGrab class TestImageGrab(PillowTestCase): - @unittest.skipIf(on_appveyor(), "Test fails on appveyor") def test_grab(self): 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):