()
| 253 | |
| 254 | |
| 255 | def 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") |
nothing calls this directly
no test coverage detected