MCPcopy Create free account
hub / github.com/awolverp/markupever / test_element_attrs

Function test_element_attrs

python/tests/test_rustlib.py:255–314  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

253
254
255def test_element_attrs():
256 dom = rl.TreeDom()
257 x = rl.Element(dom, "body", [("class", "flex"), ("id", "main")], False, False)
258 x = rl.Element(
259 dom, "body", [(rl.QualName("class"), "flex"), (rl.QualName("id"), "main")], False, False
260 )
261
262 with pytest.raises(TypeError):
263 rl.Element(dom, "wolf", (1, ""), False, False)
264
265 with pytest.raises(TypeError):
266 rl.Element(dom, "temple", {}, False, False)
267
268 with pytest.raises(TypeError):
269 rl.Element(dom, "hello", 0, False, False)
270
271 assert len(x.attrs) == 2
272 x.attrs.clear()
273 assert len(x.attrs) == 0
274
275 x.attrs.push("id", "panel")
276 x.attrs.push(rl.QualName("class", "html"), "flex")
277
278 assert _get_attr(x.attrs, "id") == (0, "panel")
279 assert _get_attr(x.attrs, rl.QualName("id")) == (0, "panel")
280
281 assert _get_attr(x.attrs, "class") == (1, "flex")
282 assert _get_attr(x.attrs, rl.QualName("class", "html")) == (1, "flex")
283 assert _get_attr(x.attrs, rl.QualName("class")) is None
284 assert _get_attr(x.attrs, rl.QualName("class", "xml")) is None
285
286 index, _ = _get_attr(x.attrs, "id")
287 x.attrs.update_value(index, "x")
288
289 assert _get_attr(x.attrs, "id") == (0, "x")
290
291 with pytest.raises(IndexError):
292 x.attrs.update_value(10, "x")
293
294 x.attrs.remove(0)
295 assert len(x.attrs) == 1
296 assert _get_attr(x.attrs, "id") is None
297
298 x.attrs.swap_remove(0)
299 assert len(x.attrs) == 0
300 assert _get_attr(x.attrs, "class") is None
301
302 x = rl.Element(
303 dom, "body", [("class", "flex"), ("class", "main"), ("class", "main")], False, False
304 )
305
306 assert len(x.attrs) == 3
307 x.attrs.dedup()
308 assert len(x.attrs) == 2
309
310 assert _get_attr(x.attrs, "class") == (0, "flex")
311 x.attrs.reverse()
312 assert _get_attr(x.attrs, "class") == (0, "main")

Callers

nothing calls this directly

Calls 8

_get_attrFunction · 0.85
pushMethod · 0.80
update_valueMethod · 0.80
swap_removeMethod · 0.80
clearMethod · 0.45
removeMethod · 0.45
dedupMethod · 0.45
reverseMethod · 0.45

Tested by

no test coverage detected