diff options
| author | Jonathan Matthew <jonathan@d14n.org> | 2008-08-10 03:28:03 +0000 |
|---|---|---|
| committer | Jonathan Matthew <jmatthew@src.gnome.org> | 2008-08-10 03:28:03 +0000 |
| commit | fa274210cccf8db816a24f1d55195fa79c9a2ad4 (patch) | |
| tree | 08ce01d42e8e9808229db768dd6e69357144cda7 /tests | |
| parent | 6ec9a71b8ae621203fa546b60867f1198bf723bc (diff) | |
| download | pygobject-fa274210cccf8db816a24f1d55195fa79c9a2ad4.tar.gz pygobject-fa274210cccf8db816a24f1d55195fa79c9a2ad4.tar.xz pygobject-fa274210cccf8db816a24f1d55195fa79c9a2ad4.zip | |
Bug 547067 – add File.replace_contents, replace_contents_async,
2008-08-10 Jonathan Matthew <jonathan@d14n.org>
Bug 547067 – add File.replace_contents, replace_contents_async,
replace_contents_finish.
* gio/gfile.override:
* gio/gio.defs:
* tests/test_gio.py:
Add overrides, docs, and tests for File.replace_contents,
replace_contents_async, and replace_contents_finish.
svn path=/trunk/; revision=935
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_gio.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/test_gio.py b/tests/test_gio.py index ad186fe..8244852 100644 --- a/tests/test_gio.py +++ b/tests/test_gio.py @@ -373,6 +373,47 @@ class TestFile(unittest.TestCase): 10, gio.FILE_QUERY_INFO_NONE) self.assertEqual(ret, True) + def testReplaceContents(self): + self.file.replace_contents("testing replace_contents") + cont, leng, etag = self.file.load_contents() + self.assertEqual(cont, "testing replace_contents") + + caught = False + try: + self.file.replace_contents("this won't work", etag="wrong") + except gio.Error, e: + self.assertEqual(e.code, gio.ERROR_WRONG_ETAG) + caught = True + self.failUnless(caught) + + self.file.replace_contents("testing replace_contents again", etag=etag) + cont, leng, etag = self.file.load_contents() + self.assertEqual(cont, "testing replace_contents again") + + self.file.replace_contents("testing replace_contents yet again", etag=None) + cont, leng, etag = self.file.load_contents() + self.assertEqual(cont, "testing replace_contents yet again") + + def testReplaceContentsAsync(self): + + def callback(contents, result): + try: + newetag = contents.replace_contents_finish(result) + cont, leng, etag = self.file.load_contents() + self.assertEqual(cont, "testing replace_contents_async") + self.assertEqual(leng, 30) + self.assertEqual(etag, newetag) + self.assertNotEqual(newetag, '') + finally: + loop.quit() + + canc = gio.Cancellable() + self.file.replace_contents_async("testing replace_contents_async", callback, cancellable=canc) + + loop = glib.MainLoop() + loop.run() + + class TestGFileEnumerator(unittest.TestCase): def setUp(self): |
