(conn, fmt_out)
| 300 | |
| 301 | @pytest.mark.parametrize("fmt_out", pq.Format) |
| 302 | def test_list_dumper(conn, fmt_out): |
| 303 | t = Transformer(conn) |
| 304 | fmt_in = PyFormat.from_pq(fmt_out) |
| 305 | dint = t.get_dumper([0], fmt_in) |
| 306 | assert isinstance(dint, (ListDumper, ListBinaryDumper)) |
| 307 | assert dint.oid == builtins["int2"].array_oid |
| 308 | assert dint.sub_dumper and dint.sub_dumper.oid == builtins["int2"].oid |
| 309 | |
| 310 | dstr = t.get_dumper([""], fmt_in) |
| 311 | assert dstr is not dint |
| 312 | |
| 313 | assert t.get_dumper([1], fmt_in) is dint |
| 314 | assert t.get_dumper([None, [1]], fmt_in) is dint |
| 315 | |
| 316 | dempty = t.get_dumper([], fmt_in) |
| 317 | assert t.get_dumper([None, [None]], fmt_in) is dempty |
| 318 | assert dempty.oid == 0 |
| 319 | assert dempty.dump([]) == b"{}" |
| 320 | |
| 321 | L: list[list[Any]] = [] |
| 322 | L.append(L) |
| 323 | with pytest.raises(psycopg.DataError): |
| 324 | assert t.get_dumper(L, fmt_in) |
| 325 | |
| 326 | |
| 327 | @pytest.mark.crdb("skip", reason="test in crdb test suite") |
nothing calls this directly
no test coverage detected