MCPcopy
hub / github.com/scrapy/scrapy / TestItem

Class TestItem

tests/test_item.py:9–267  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7
8
9class TestItem:
10 def assertSortedEqual(self, first, second, msg=None):
11 assert sorted(first) == sorted(second), msg
12
13 def test_simple(self):
14 class TestItem(Item):
15 name = Field()
16
17 i = TestItem()
18 i["name"] = "name"
19 assert i["name"] == "name"
20
21 def test_init(self):
22 class TestItem(Item):
23 name = Field()
24
25 i = TestItem()
26 with pytest.raises(KeyError):
27 i["name"]
28
29 i2 = TestItem(name="john doe")
30 assert i2["name"] == "john doe"
31
32 i3 = TestItem({"name": "john doe"})
33 assert i3["name"] == "john doe"
34
35 i4 = TestItem(i3)
36 assert i4["name"] == "john doe"
37
38 with pytest.raises(KeyError):
39 TestItem({"name": "john doe", "other": "foo"})
40
41 def test_invalid_field(self):
42 class TestItem(Item):
43 pass
44
45 i = TestItem()
46 with pytest.raises(KeyError):
47 i["field"] = "text"
48 with pytest.raises(KeyError):
49 i["field"]
50
51 def test_repr(self):
52 class TestItem(Item):
53 name = Field()
54 number = Field()
55
56 i = TestItem()
57 i["name"] = "John Doe"
58 i["number"] = 123
59 itemrepr = repr(i)
60
61 assert itemrepr == "{'name': 'John Doe', 'number': 123}"
62
63 i2 = eval(itemrepr)
64 assert i2["name"] == "John Doe"
65 assert i2["number"] == 123
66

Callers 14

test_simpleMethod · 0.70
test_initMethod · 0.70
test_invalid_fieldMethod · 0.70
test_reprMethod · 0.70
test_private_attrMethod · 0.70
test_raise_getattrMethod · 0.70
test_raise_setattrMethod · 0.70
test_custom_methodsMethod · 0.70
test_metaclassMethod · 0.70
test_to_dictMethod · 0.70

Calls

no outgoing calls

Tested by 14

test_simpleMethod · 0.56
test_initMethod · 0.56
test_invalid_fieldMethod · 0.56
test_reprMethod · 0.56
test_private_attrMethod · 0.56
test_raise_getattrMethod · 0.56
test_raise_setattrMethod · 0.56
test_custom_methodsMethod · 0.56
test_metaclassMethod · 0.56
test_to_dictMethod · 0.56