Seeking and writing file node.
(self)
| 214 | datafile.close() |
| 215 | |
| 216 | def test01_SeekFile(self): |
| 217 | """Seeking and writing file node.""" |
| 218 | |
| 219 | self.fnode.write(b"0123") |
| 220 | self.fnode.seek(8) |
| 221 | self.fnode.write(b"4567") |
| 222 | self.fnode.seek(3) |
| 223 | data = self.fnode.read(6) |
| 224 | self.assertEqual( |
| 225 | data, |
| 226 | b"3\0\0\0\0" b"4", |
| 227 | "Gap caused by forward seek was not properly filled.", |
| 228 | ) |
| 229 | |
| 230 | self.fnode.seek(0) |
| 231 | self.fnode.write(b"test") |
| 232 | |
| 233 | self.fnode.seek(0) |
| 234 | data = self.fnode.read(4) |
| 235 | self.assertNotEqual( |
| 236 | data, b"test", "Data was overwritten instead of appended." |
| 237 | ) |
| 238 | |
| 239 | self.fnode.seek(-4, 2) |
| 240 | data = self.fnode.read(4) |
| 241 | self.assertEqual(data, b"test", "Written data was not appended.") |
| 242 | |
| 243 | self.fnode.seek(0, 2) |
| 244 | oldendoff = self.fnode.tell() |
| 245 | self.fnode.seek(-2, 2) |
| 246 | self.fnode.write(b"test") |
| 247 | newendoff = self.fnode.tell() |
| 248 | self.assertEqual( |
| 249 | newendoff, |
| 250 | oldendoff - 2 + 4, |
| 251 | "Pointer was not correctly moved on append.", |
| 252 | ) |
| 253 | |
| 254 | def test02_TruncateFile(self): |
| 255 | """Truncating a file node.""" |