1
2from filelike.wrappers import *
3from filelike import tests
4
5import os
6import tempfile
7import unittest
8from StringIO import StringIO
9
10
11class Test_FileWrapper(tests.Test_ReadWriteSeek):
12    """Testcases for FileWrapper base class."""
13
14    def makeFile(self,contents,mode):
15        s = StringIO(contents)
16        f = FileWrapper(s,mode)
17        def getvalue():
18            return s.getvalue()
19        f.getvalue = getvalue
20        return f
21
22
23class Test_OpenerDecoders(unittest.TestCase):
24    """Testcases for the filelike.Opener decoder functions."""
25
26    def setUp(self):
27        import tempfile
28        fd, self.tfilename = tempfile.mkstemp()
29        os.close(fd)
30
31    def tearDown(self):
32        os.unlink(self.tfilename)
33
34    def test_LocalFile(self):
35        """Test opening a simple local file."""
36        f = open(self.tfilename,"w")
37        f.write("contents")
38        f.close()
39        f = filelike.open(self.tfilename,"r")
40        self.assertEquals(f.name,self.tfilename)
41        self.assertEquals(f.read(),"contents")
42        f.close()
43
44    def test_RemoteBzFile(self):
45        """Test opening a remote BZ2 file."""
46        f = filelike.open("http://www.rfk.id.au/static/test.txt.bz2","r-")
47        self.assertEquals(f.read(),"contents goes here if you please.\n\n")
48
49