mirror of
https://github.com/rasterio/rasterio.git
synced 2025-12-08 17:36:12 +00:00
* Permit PathLike objects in open. * Import Path from pathlib * Test PathLike inputs to open. * Allow PathLike in merge. * Accept PathLike objects.
38 lines
908 B
Python
38 lines
908 B
Python
import pytest
|
|
import rasterio
|
|
from pathlib import Path
|
|
|
|
|
|
def test_open_bad_path():
|
|
with pytest.raises(TypeError):
|
|
rasterio.open(3.14)
|
|
|
|
|
|
def test_open_bad_mode_1():
|
|
with pytest.raises(TypeError):
|
|
rasterio.open("tests/data/RGB.byte.tif", mode=3.14)
|
|
|
|
|
|
def test_open_bad_mode_2():
|
|
with pytest.raises(ValueError):
|
|
rasterio.open("tests/data/RGB.byte.tif", mode="foo")
|
|
|
|
|
|
def test_open_bad_driver():
|
|
with pytest.raises(TypeError):
|
|
rasterio.open("tests/data/RGB.byte.tif", mode="r", driver=3.14)
|
|
|
|
|
|
def test_open_pathlib_path():
|
|
tif = Path.cwd() / 'tests' / 'data' / 'RGB.byte.tif'
|
|
with rasterio.open(tif) as src:
|
|
assert src.count == 3
|
|
|
|
|
|
def test_open_pathlike():
|
|
class MyPath:
|
|
def __fspath__(self):
|
|
return str(Path.cwd() / 'tests' / 'data' / 'RGB.byte.tif')
|
|
with rasterio.open(MyPath()) as src:
|
|
assert src.count == 3
|