(selenium)
| 1975 | |
| 1976 | @run_in_pyodide |
| 1977 | def test_object_map_mapping_methods(selenium): |
| 1978 | import pytest |
| 1979 | |
| 1980 | from pyodide.code import run_js |
| 1981 | from pyodide.ffi import JsMap, JsMutableMap |
| 1982 | |
| 1983 | m = run_js("({1:2, 3:4})").as_object_map() |
| 1984 | assert isinstance(m, JsMap) |
| 1985 | assert isinstance(m, JsMutableMap) |
| 1986 | # Iterate using keys() function |
| 1987 | assert set(m) == {"1", "3"} |
| 1988 | assert "1" in m.keys() |
| 1989 | assert 1 not in m.keys() |
| 1990 | assert m.keys() | {"2"} == {"1", "2", "3"} |
| 1991 | assert 2 in m.values() |
| 1992 | assert set(m.values()) == {2, 4} |
| 1993 | assert ("1", 2) in m.items() |
| 1994 | assert set(m.items()) == {("1", 2), ("3", 4)} |
| 1995 | |
| 1996 | assert m.get("1", 7) == 2 |
| 1997 | assert m.get("2", 7) == 7 |
| 1998 | |
| 1999 | assert m.pop("1") == 2 |
| 2000 | assert m.pop("1", 7) == 7 |
| 2001 | m["1"] = 2 |
| 2002 | assert m.pop("1", 7) == 2 |
| 2003 | assert m.pop("1", 7) == 7 |
| 2004 | assert "1" not in m |
| 2005 | with pytest.raises(KeyError): |
| 2006 | m.pop("1") |
| 2007 | |
| 2008 | assert m.setdefault("1", 8) == 8 |
| 2009 | assert m.setdefault("3", 8) == 4 |
| 2010 | assert m.setdefault("3") == 4 |
| 2011 | assert m.setdefault("4") is None |
| 2012 | assert "1" in m |
| 2013 | assert m["1"] == 8 |
| 2014 | |
| 2015 | m.update({"6": 7, "8": 9}) |
| 2016 | assert dict(m) == {"1": 8, "3": 4, "4": None, "6": 7, "8": 9} |
| 2017 | |
| 2018 | assert m.popitem() in set({"1": 8, "3": 4, "4": None, "6": 7, "8": 9}.items()) |
| 2019 | assert len(m) == 4 |
| 2020 | m.clear() |
| 2021 | assert dict(m) == {} |
| 2022 | |
| 2023 | |
| 2024 | @run_in_pyodide |
nothing calls this directly
no test coverage detected
searching dependent graphs…