MCPcopy
hub / github.com/pyodide/pyodide / test_object_map_mapping_methods

Function test_object_map_mapping_methods

src/tests/test_jsproxy.py:1977–2021  ·  view source on GitHub ↗
(selenium)

Source from the content-addressed store, hash-verified

1975
1976@run_in_pyodide
1977def 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

Callers

nothing calls this directly

Calls 12

run_jsFunction · 0.90
setFunction · 0.85
as_object_mapMethod · 0.80
itemsMethod · 0.80
setdefaultMethod · 0.80
updateMethod · 0.80
popitemMethod · 0.80
clearMethod · 0.80
keysMethod · 0.45
valuesMethod · 0.45
getMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…