Esempio 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()
Esempio 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()
Esempio 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
Esempio 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""
Esempio 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)
Esempio 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
Esempio 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
Esempio 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"
Esempio 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
Esempio n. 10
0
def test_kwargs(gfile):
    with pytest.raises(TypeError):
        gopen(gfile, foo=1)
Esempio 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"]
Esempio n. 12
0
def test_tell(gfile):
    with gopen(gfile, "rb") as f:
        assert f.seek(1, 0) == f.tell()
Esempio n. 13
0
def test_seek(gfile):
    with gopen(gfile, "rb") as f:
        assert f.seekable()
        assert f.seek(0, 0) == 0
Esempio 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)
Esempio 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
Esempio n. 16
0
def test_isatty(gfile):
    with gopen(gfile, "r+b") as f:
        assert not f.isatty()
Esempio n. 17
0
def test_fileno(gfile):
    with gopen(gfile, "rb") as f:
        assert isinstance(f.fileno(), int)
Esempio 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"
Esempio n. 19
0
def test_flush_closed(gfile):
    with gopen(gfile, "r+b") as f:
        pass
    with pytest.raises(ValueError):
        f.flush()