| 131 | |
| 132 | |
| 133 | def test_frame_getargs() -> None: |
| 134 | def f1(x) -> FrameType: |
| 135 | return sys._getframe(0) |
| 136 | |
| 137 | fr1 = Frame(f1("a")) |
| 138 | assert fr1.getargs(var=True) == [("x", "a")] |
| 139 | |
| 140 | def f2(x, *y) -> FrameType: |
| 141 | return sys._getframe(0) |
| 142 | |
| 143 | fr2 = Frame(f2("a", "b", "c")) |
| 144 | assert fr2.getargs(var=True) == [("x", "a"), ("y", ("b", "c"))] |
| 145 | |
| 146 | def f3(x, **z) -> FrameType: |
| 147 | return sys._getframe(0) |
| 148 | |
| 149 | fr3 = Frame(f3("a", b="c")) |
| 150 | assert fr3.getargs(var=True) == [("x", "a"), ("z", {"b": "c"})] |
| 151 | |
| 152 | def f4(x, *y, **z) -> FrameType: |
| 153 | return sys._getframe(0) |
| 154 | |
| 155 | fr4 = Frame(f4("a", "b", c="d")) |
| 156 | assert fr4.getargs(var=True) == [("x", "a"), ("y", ("b",)), ("z", {"c": "d"})] |
| 157 | |
| 158 | |
| 159 | class TestExceptionInfo: |