diff options
Diffstat (limited to '')
| -rwxr-xr-x | lang/python/tests/t-data.py | 34 | 
1 files changed, 33 insertions, 1 deletions
| diff --git a/lang/python/tests/t-data.py b/lang/python/tests/t-data.py index af2eb986..6cf10fab 100755 --- a/lang/python/tests/t-data.py +++ b/lang/python/tests/t-data.py @@ -18,7 +18,7 @@  # License along with this program; if not, see <http://www.gnu.org/licenses/>.  import os - +import tempfile  from pyme import core  data = core.Data('Hello world!') @@ -32,6 +32,9 @@ assert data.read() == b''  data = core.Data(b'Hello world!')  assert data.read() == b'Hello world!' +data = core.Data(b'Hello world!', copy=False) +assert data.read() == b'Hello world!' +  data = core.Data()  data.write('Hello world!')  data.seek(0, os.SEEK_SET) @@ -47,3 +50,32 @@ data = core.Data()  data.write(binjunk)  data.seek(0, os.SEEK_SET)  assert data.read() == binjunk + +# Test reading from an existing file. +with tempfile.NamedTemporaryFile() as tmp: +    tmp.write(binjunk) +    tmp.flush() +    tmp.seek(0) + +    # Open using name. +    data = core.Data(file=tmp.name) +    assert data.read() == binjunk + +    # Open using name, without copying. +    if False: +        # delayed reads are not yet supported +        data = core.Data(file=tmp.name, copy=False) +        assert data.read() == binjunk + +    # Open using stream. +    tmp.seek(0) +    data = core.Data(file=tmp) +    assert data.read() == binjunk + +    # Open using stream, offset, and length. +    data = core.Data(file=tmp, offset=0, length=42) +    assert data.read() == binjunk[:42] + +    # Open using name, offset, and length. +    data = core.Data(file=tmp.name, offset=23, length=42) +    assert data.read() == binjunk[23:23+42] | 
