Merge pull request #906 from hugovk/ImageGrab

Improve error message for ImageGrab on non-Windows
This commit is contained in:
wiredfool 2014-09-18 09:08:07 -07:00
commit 5dc418b8de
2 changed files with 27 additions and 1 deletions

View File

@ -17,6 +17,9 @@
from PIL import Image
import sys
if sys.platform != "win32":
raise ImportError("ImageGrab is Windows only")
try:
# built-in driver (1.1.3 and later)
@ -40,7 +43,7 @@ def grab(bbox=None):
def grabclipboard():
debug = 0 # temporary interface
debug = 0 # temporary interface
data = Image.core.grabclipboard(debug)
if isinstance(data, bytes):
from PIL import BmpImagePlugin

View File

@ -1,5 +1,7 @@
from helper import unittest, PillowTestCase
import sys
try:
from PIL import ImageGrab
@ -19,6 +21,27 @@ except ImportError:
self.skipTest("ImportError")
class TestImageGrabImport(PillowTestCase):
def test_import(self):
# Arrange
exception = None
# Act
try:
from PIL import ImageGrab
ImageGrab.__name__ # dummy to prevent Pyflakes warning
except Exception as e:
exception = e
# Assert
if sys.platform == 'win32':
self.assertIsNone(exception, None)
else:
self.assertIsInstance(exception, ImportError)
self.assertEqual(str(exception), "ImageGrab is Windows only")
if __name__ == '__main__':
unittest.main()