1
from twisted.trial import unittest
3
from twisted.web import static
16
def getHeader(self, k):
17
if self._headers is None:
19
return self._headers.get(k)
21
def setHeader(self, k, v):
22
self._setHeaders.setdefault(k, []).append(v)
24
def setLastModified(self, x):
26
def registerProducer(self, producer, x):
27
producer.resumeProducing()
28
def unregisterProducer(self):
33
def write(self, data):
34
self._written = self._written + data
36
class Range(unittest.TestCase):
37
todo = (unittest.FailTest, 'No range support yet.')
40
self.tmpdir = self.mktemp()
42
name = os.path.join(self.tmpdir, 'junk')
46
self.file = static.File(name)
47
self.request = FakeRequest()
49
def testBodyLength(self):
50
self.request._headers['range'] = 'bytes=0-1999'
51
self.file.render(self.request)
52
self.assertEquals(len(self.request._written), 2000)
54
def testContentLength(self):
55
"""Content-Length of a request is correct."""
56
self.request._headers['range'] = 'bytes=0-1999'
57
self.file.render(self.request)
58
self.assertEquals(self.request._setHeaders['content-length'], ['2000'])
60
def testContentRange(self):
61
"""Content-Range of a request is correct."""
62
self.request._headers['range'] = 'bytes=0-1999'
63
self.file.render(self.request)
64
self.assertEquals(self.request._setHeaders.get('content-range'), ['bytes 0-1999/8000'])