|
1 | 1 | from quartodoc import get_object, get_function, MdRenderer
|
2 | 2 | from griffe.docstrings import dataclasses as ds
|
| 3 | +from griffe import dataclasses as dc |
3 | 4 |
|
4 | 5 |
|
5 | 6 | def test_get_function():
|
@@ -52,3 +53,34 @@ def test_render_attribute():
|
52 | 53 | MdRenderer().render(a)
|
53 | 54 | == "`tests.example_attribute.a`\n\nI am an attribute docstring"
|
54 | 55 | )
|
| 56 | + |
| 57 | + |
| 58 | +def test_get_object_dynamic_module_root(): |
| 59 | + obj = get_object("quartodoc", dynamic=True) |
| 60 | + assert isinstance(obj, dc.Module) |
| 61 | + assert obj.path == "quartodoc" |
| 62 | + |
| 63 | + |
| 64 | +def test_get_object_dynamic_module(): |
| 65 | + obj = get_object("quartodoc.renderers", dynamic=True) |
| 66 | + assert isinstance(obj, dc.Module) |
| 67 | + assert obj.path == "quartodoc.renderers" |
| 68 | + |
| 69 | + |
| 70 | +def test_get_object_dynamic_function(): |
| 71 | + obj = get_object("quartodoc.tests.example_dynamic:f", dynamic=True) |
| 72 | + assert obj.docstring.value.endswith("I am a note") |
| 73 | + |
| 74 | + |
| 75 | +def test_get_object_dynamic_class_method_doc(): |
| 76 | + obj = get_object("quartodoc.tests.example_dynamic:AClass", dynamic=True) |
| 77 | + |
| 78 | + meth = obj.members["dynamic_doc"] |
| 79 | + assert meth.docstring.value == "A dynamic method" |
| 80 | + |
| 81 | + |
| 82 | +def test_get_object_dynamic_class_method_doc(): |
| 83 | + obj = get_object("quartodoc.tests.example_dynamic:AClass", dynamic=True) |
| 84 | + |
| 85 | + meth = obj.members["dynamic_create"] |
| 86 | + assert meth.docstring.value == "A dynamic method" |
0 commit comments