summaryrefslogtreecommitdiffstats
path: root/tests/test_gio.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_gio.py')
-rw-r--r--tests/test_gio.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/test_gio.py b/tests/test_gio.py
new file mode 100644
index 0000000..696a80a
--- /dev/null
+++ b/tests/test_gio.py
@@ -0,0 +1,49 @@
+# -*- Mode: Python -*-
+
+import os
+import unittest
+
+from common import gio, gobject
+
+
+class TestInputStream(unittest.TestCase):
+ def setUp(self):
+ f = open("inputstream.txt", "w")
+ f.write("testing")
+
+ self._f = open("inputstream.txt", "r")
+ self.stream = gio.unix.InputStream(self._f.fileno(), False)
+
+ def tearDown(self):
+ self._f.close()
+ os.unlink("inputstream.txt")
+
+ def testWrite(self):
+ self.assertEquals(self.stream.read(), "testing")
+
+
+class TestOutputStream(unittest.TestCase):
+ def setUp(self):
+ self._f = open("outputstream.txt", "w")
+ self.stream = gio.unix.OutputStream(self._f.fileno(), False)
+
+ def tearDown(self):
+ self._f.close()
+ os.unlink("outputstream.txt")
+
+ def testWrite(self):
+ self.stream.write("testing")
+ self.stream.close()
+ self.failUnless(os.path.exists("outputstream.txt"))
+ self.assertEquals(open("outputstream.txt").read(), "testing")
+
+ def testWriteAsync(self):
+ def callback(stream, result):
+ loop.quit()
+
+ f = gio.file_new_for_path("outputstream.txt")
+ stream = f.read()
+ stream.read_async(10240, 0, None, callback)
+
+ loop = gobject.MainLoop()
+ loop.run()