|
@@ -246,6 +246,17 @@ class FunctionalTests(SimpleTestCase):
|
|
|
self.assertEqual(lazy_a() * 5, "aaaaa")
|
|
|
self.assertEqual(lazy_a() * lazy_5(), "aaaaa")
|
|
|
|
|
|
+ def test_lazy_format(self):
|
|
|
+ class QuotedString(str):
|
|
|
+ def __format__(self, format_spec):
|
|
|
+ value = super().__format__(format_spec)
|
|
|
+ return f"“{value}”"
|
|
|
+
|
|
|
+ lazy_f = lazy(lambda: QuotedString("Hello!"), QuotedString)
|
|
|
+ self.assertEqual(format(lazy_f(), ""), "“Hello!”")
|
|
|
+ f = lazy_f()
|
|
|
+ self.assertEqual(f"I said, {f}", "I said, “Hello!”")
|
|
|
+
|
|
|
def test_lazy_equality(self):
|
|
|
"""
|
|
|
== and != work correctly for Promises.
|