summaryrefslogtreecommitdiffstats
path: root/libdimension-python/tests
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2011-05-20 16:34:52 -0600
committerTavian Barnes <tavianator@gmail.com>2011-05-20 16:34:52 -0600
commit250b980002419746fc099c7633b9600a15afb1c6 (patch)
treec146041da19654d565a6dc433eebada324fc9fb9 /libdimension-python/tests
parentad716acc7fa7fd151ff96fe6d17f0ba1a3a66379 (diff)
downloaddimension-250b980002419746fc099c7633b9600a15afb1c6.tar.xz
Add Canvases to the Python module.
Diffstat (limited to 'libdimension-python/tests')
-rw-r--r--libdimension-python/tests/Makefile.am1
-rwxr-xr-xlibdimension-python/tests/canvas.py57
-rwxr-xr-xlibdimension-python/tests/demo.py13
3 files changed, 70 insertions, 1 deletions
diff --git a/libdimension-python/tests/Makefile.am b/libdimension-python/tests/Makefile.am
index 48e1129..70c2f35 100644
--- a/libdimension-python/tests/Makefile.am
+++ b/libdimension-python/tests/Makefile.am
@@ -19,6 +19,7 @@
TESTS = geometry.py \
color.py \
+ canvas.py \
demo.py
TESTS_ENVIRONMENT = PYTHONPATH=$(top_builddir)/libdimension-python/.libs
diff --git a/libdimension-python/tests/canvas.py b/libdimension-python/tests/canvas.py
new file mode 100755
index 0000000..e69d2d9
--- /dev/null
+++ b/libdimension-python/tests/canvas.py
@@ -0,0 +1,57 @@
+#!/usr/bin/python3
+
+#########################################################################
+# Copyright (C) 2010-2011 Tavian Barnes <tavianator@tavianator.com> #
+# #
+# This file is part of The Dimension Test Suite. #
+# #
+# The Dimension Test Suite is free software; you can redistribute it #
+# and/or modify it under the terms of the GNU General Public License as #
+# published by the Free Software Foundation; either version 3 of the #
+# License, or (at your option) any later version. #
+# #
+# The Dimension Test Suite is distributed in the hope that it will be #
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty #
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU #
+# General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+#########################################################################
+
+from dimension import *
+import errno
+
+# Treat warnings as errors for tests
+dieOnWarnings(True)
+
+canvas = Canvas(768, 480)
+
+assert canvas.width == 768, canvas.width
+assert canvas.height == 480, canvas.height
+
+havePNG = True
+try:
+ canvas.optimizePNG()
+except OSError as e:
+ if e.errno == errno.ENOSYS:
+ havePNG = False
+ else:
+ raise
+
+haveGL = True
+try:
+ canvas.optimizeGL()
+except OSError as e:
+ if e.errno == errno.ENOSYS:
+ haveGL = False
+ else:
+ raise
+
+canvas.clear(Blue)
+
+if havePNG:
+ canvas.writePNG('png.png')
+
+#if haveGL:
+# canvas.drawGL()
diff --git a/libdimension-python/tests/demo.py b/libdimension-python/tests/demo.py
index e9cdc7b..187f4ef 100755
--- a/libdimension-python/tests/demo.py
+++ b/libdimension-python/tests/demo.py
@@ -24,4 +24,15 @@ from dimension import *
# Treat warnings as errors for tests
dieOnWarnings(True)
-scene = Scene()
+canvas = Canvas(width = 768, height = 480)
+
+havePNG = True
+try:
+ canvas.optimizePNG()
+except OSError as e:
+ if e.errno == errno.ENOSYS:
+ havePNG = False
+ else:
+ raise
+
+scene = Scene(canvas = canvas)