def test_arbitrary_chars(fn): z = File(fn) # Avoid hitting the Windows max filename length chunk = 16 for i in range(1, 128, chunk): key = "".join(["foo_"] + [chr(i) for i in range(i, min(128, i + chunk))]) with pytest.raises(KeyError): z[key] z[key] = b"foo" assert z[key] == b"foo" assert list(z) == [key] assert list(z.keys()) == [key] assert list(z.items()) == [(key, b"foo")] assert list(z.values()) == [b"foo"] zz = File(fn) assert zz[key] == b"foo" assert list(zz) == [key] assert list(zz.keys()) == [key] assert list(zz.items()) == [(key, b"foo")] assert list(zz.values()) == [b"foo"] del zz del z[key] with pytest.raises(KeyError): z[key]
def test_arbitrary_chars(fn): z = File(fn) # Avoid hitting the Windows max filename length chunk = 16 for i in range(1, 128, chunk): key = ''.join(['foo_'] + [chr(i) for i in range(i, min(128, i + chunk))]) with pytest.raises(KeyError): z[key] z[key] = b'foo' assert z[key] == b'foo' assert list(z) == [key] assert list(z.keys()) == [key] assert list(z.items()) == [(key, b'foo')] assert list(z.values()) == [b'foo'] zz = File(fn) assert zz[key] == b'foo' assert list(zz) == [key] assert list(zz.keys()) == [key] assert list(zz.items()) == [(key, b'foo')] assert list(zz.values()) == [b'foo'] del zz del z[key] with pytest.raises(KeyError): z[key]
def test_simple(fn): z = File(fn) assert isinstance(z, MutableMapping) assert not z assert list(z) == list(z.keys()) == [] assert list(z.values()) == [] assert list(z.items()) == [] z['x'] = b'123' assert list(z) == list(z.keys()) == ['x'] assert list(z.values()) == [b'123'] assert list(z.items()) == [('x', b'123')] assert z['x'] == b'123' assert os.listdir(fn) == ['x'] with open(os.path.join(fn, 'x'), 'rb') as f: assert f.read() == b'123' z['y'] = b'456' assert z['y'] == b'456'