Skip to content

Commit

Permalink
Add tests capturing expectation of custom loaders. Ref #268.
Browse files Browse the repository at this point in the history
  • Loading branch information
jaraco committed Feb 17, 2023
1 parent f9d039d commit 2bd9048
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions importlib_resources/tests/test_custom.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import unittest
import contextlib
import pathlib

import importlib_resources as resources
from ..abc import TraversableResources, ResourceReader
from . import util
from ._compat import os_helper


class SimpleLoader:
"""
A simple loader that only implements a resource reader.
"""

def __init__(self, reader: ResourceReader):
self.reader = reader

def get_resource_reader(self, package):
return self.reader


class MagicResources(TraversableResources):
"""
Magically returns the resources at path.
"""

def __init__(self, path: pathlib.Path):
self.path = path

def files(self):
return self.path


class CustomTraversableResourcesTests(unittest.TestCase):
def setUp(self):
self.fixtures = contextlib.ExitStack()
self.addCleanup(self.fixtures.close)

def test_custom_loader(self):
temp_dir = self.fixtures.enter_context(os_helper.temp_dir())
loader = SimpleLoader(MagicResources(temp_dir))
pkg = util.create_package_from_loader(loader)
files = resources.files(pkg)
assert files is temp_dir

0 comments on commit 2bd9048

Please sign in to comment.