| 340 | |
| 341 | @pytest.mark.skipif(not hasattr(m, "load_variant"), reason="no <variant>") |
| 342 | def test_variant(doc): |
| 343 | assert m.load_variant(1) == "int" |
| 344 | assert m.load_variant("1") == "std::string" |
| 345 | assert m.load_variant(1.0) == "double" |
| 346 | assert m.load_variant(None) == "std::nullptr_t" |
| 347 | |
| 348 | assert m.load_variant_2pass(1) == "int" |
| 349 | assert m.load_variant_2pass(1.0) == "double" |
| 350 | |
| 351 | assert m.cast_variant() == (5, "Hello") |
| 352 | |
| 353 | assert ( |
| 354 | doc(m.load_variant) |
| 355 | == "load_variant(arg0: typing.SupportsInt | typing.SupportsIndex | str | typing.SupportsFloat | typing.SupportsIndex | None) -> str" |
| 356 | ) |
| 357 | |
| 358 | |
| 359 | @pytest.mark.skipif( |