diff --git a/itemadapter/adapter.py b/itemadapter/adapter.py index 641b319..285c117 100644 --- a/itemadapter/adapter.py +++ b/itemadapter/adapter.py @@ -292,7 +292,7 @@ def item(self) -> Any: def __repr__(self) -> str: values = ", ".join([f"{key}={value!r}" for key, value in self.items()]) - return f"" + return f"<{self.__class__.__name__} for {self.item.__class__.__name__}({values})>" def __getitem__(self, field_name: str) -> Any: return self.adapter.__getitem__(field_name) diff --git a/tests/test_itemadapter.py b/tests/test_itemadapter.py new file mode 100644 index 0000000..1acaaad --- /dev/null +++ b/tests/test_itemadapter.py @@ -0,0 +1,17 @@ +import unittest + +from itemadapter.adapter import ItemAdapter + + +class SubclassedItemAdapter(ItemAdapter): + pass + + +class ItemAdapterTestCase(unittest.TestCase): + def test_repr(self): + adapter = ItemAdapter(dict(foo="bar")) + self.assertEqual(repr(adapter), "") + + def test_repr_subclass(self): + adapter = SubclassedItemAdapter(dict(foo="bar")) + self.assertEqual(repr(adapter), "")