(self)
| 201 | self.fail('Date value not in %r format' % dateformat) |
| 202 | |
| 203 | def test_reporthook(self): |
| 204 | records = [] |
| 205 | |
| 206 | def recording_reporthook(blocks, block_size, total_size): |
| 207 | records.append((blocks, block_size, total_size)) |
| 208 | |
| 209 | with self.urlretrieve(self.logo, reporthook=recording_reporthook) as ( |
| 210 | file_location, fileheaders): |
| 211 | expected_size = int(fileheaders['Content-Length']) |
| 212 | |
| 213 | records_repr = repr(records) # For use in error messages. |
| 214 | self.assertGreater(len(records), 1, msg="There should always be two " |
| 215 | "calls; the first one before the transfer starts.") |
| 216 | self.assertEqual(records[0][0], 0) |
| 217 | self.assertGreater(records[0][1], 0, |
| 218 | msg="block size can't be 0 in %s" % records_repr) |
| 219 | self.assertEqual(records[0][2], expected_size) |
| 220 | self.assertEqual(records[-1][2], expected_size) |
| 221 | |
| 222 | block_sizes = {block_size for _, block_size, _ in records} |
| 223 | self.assertEqual({records[0][1]}, block_sizes, |
| 224 | msg="block sizes in %s must be equal" % records_repr) |
| 225 | self.assertGreaterEqual(records[-1][0]*records[0][1], expected_size, |
| 226 | msg="number of blocks * block size must be" |
| 227 | " >= total size in %s" % records_repr) |
| 228 | |
| 229 | |
| 230 | if __name__ == "__main__": |
nothing calls this directly
no test coverage detected