Ejemplo n.º 1
0
def test_readable_writable(gfile):
    with gopen(gfile, "rb") as f:
        assert f.readable()
        assert not f.writable()

    with gopen(gfile, "r+b") as f:
        assert f.readable()
        assert f.writable()
Ejemplo n.º 2
0
def test_http():
    gfile = Gio.File.new_for_uri(
        "http://people.xiph.org/~giles/2012/opus/ehren-paper_lights-96.opus")
    with pytest.raises(IOError):
        gopen(gfile, "r+b")

    with gopen(gfile, "rb") as f:
        assert f.name == "ehren-paper_lights-96.opus"
        with pytest.raises(IOError):
            f.fileno()
Ejemplo n.º 3
0
def test_close(gfile):
    with gopen(gfile, "r+b") as f:
        assert not f.closed
        f.close()
        assert f.closed
        f.close()

    with gopen(gfile, "r+b") as f:
        pass
    assert f.closed
Ejemplo n.º 4
0
def test_readline(gfile):
    with gopen(gfile, "r+b") as f:
        with open(f.name, "wb") as h:
            h.write(b"foo\nbar")
        assert f.readline() == b"foo\n"
        assert f.readline() == b"bar"
        assert f.readline() == b""
Ejemplo n.º 5
0
def test_buffered_reader(gfile):
    with gopen(gfile, "rb") as f:
        with open(f.name, "wb") as h:
            h.write(b"foo")
        assert f.peek(3) == b"foo"
        assert f.tell() == 0
        f.read1(10)
Ejemplo n.º 6
0
def test_read_write(gfile):
    with gopen(gfile, "r+b") as f:
        with open(f.name, "wb") as h:
            h.write(b"foo")
        assert f.read(1) == b"f"
        assert f.read() == b"oo"
        assert f.write(b"bar") == 3
Ejemplo n.º 7
0
def test_truncate(gfile):
    with gopen(gfile, "r+b") as f:
        with open(f.name, "wb") as h:
            h.write(b"foo")
        assert f.seek(0, 2) == 3
        f.seek(0, 0)
        f.truncate()
        assert f.seek(0, 2) == 0
Ejemplo n.º 8
0
def test_buffered_writer(gfile):
    cancel = Gio.Cancellable.new()
    with gopen(gfile, "r+b", cancellable=cancel) as f:
        with open(f.name, "wb") as h:
            h.write(b"foo")
        with io.BufferedWriter(f) as b:
            b.write(b"x")
            b.flush()
            f.seek(0)
            assert f.read() == b"xoo"
Ejemplo n.º 9
0
def test_readinto(gfile):
    data = b"x" * (io.DEFAULT_BUFFER_SIZE * 10)
    with gopen(gfile, "r+b") as f:
        with open(f.name, "wb") as h:
            h.write(data)

        assert f.read() == data
        f.seek(0)
        buf = bytearray(len(data))
        f.readinto(buf)
        assert buf == data
Ejemplo n.º 10
0
def test_kwargs(gfile):
    with pytest.raises(TypeError):
        gopen(gfile, foo=1)
Ejemplo n.º 11
0
def test_iter(gfile):
    with gopen(gfile, "r+b") as f:
        with open(f.name, "wb") as h:
            h.write(b"foo\nbar")
        assert [l for l in f] == [b"foo\n", b"bar"]
Ejemplo n.º 12
0
def test_tell(gfile):
    with gopen(gfile, "rb") as f:
        assert f.seek(1, 0) == f.tell()
Ejemplo n.º 13
0
def test_seek(gfile):
    with gopen(gfile, "rb") as f:
        assert f.seekable()
        assert f.seek(0, 0) == 0
Ejemplo n.º 14
0
def test_invalid_buffering(gfile):
    with pytest.raises(ValueError):
        gopen(gfile, "r", buffering=0)

    with pytest.raises(ValueError):
        gopen(gfile, "rb", buffering=1)
Ejemplo n.º 15
0
def test_line_buffering(gfile):
    with gopen(gfile, "r") as f:
        assert not f.line_buffering

    with gopen(gfile, "r", buffering=1) as f:
        assert f.line_buffering
Ejemplo n.º 16
0
def test_isatty(gfile):
    with gopen(gfile, "r+b") as f:
        assert not f.isatty()
Ejemplo n.º 17
0
def test_fileno(gfile):
    with gopen(gfile, "rb") as f:
        assert isinstance(f.fileno(), int)
Ejemplo n.º 18
0
def test_text_mode(gfile):
    with gopen(gfile, "r") as f:
        with open(f.name, "wb") as h:
            h.write(b"foo")
        assert f.read() == u"foo"
Ejemplo n.º 19
0
def test_flush_closed(gfile):
    with gopen(gfile, "r+b") as f:
        pass
    with pytest.raises(ValueError):
        f.flush()