Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 # This file is part of Adblock Plus <https://adblockplus.org/>, | 1 # This file is part of Adblock Plus <https://adblockplus.org/>, |
2 # Copyright (C) 2006-present eyeo GmbH | 2 # Copyright (C) 2006-present eyeo GmbH |
3 # | 3 # |
4 # Adblock Plus is free software: you can redistribute it and/or modify | 4 # Adblock Plus is free software: you can redistribute it and/or modify |
5 # it under the terms of the GNU General Public License version 3 as | 5 # it under the terms of the GNU General Public License version 3 as |
6 # published by the Free Software Foundation. | 6 # published by the Free Software Foundation. |
7 # | 7 # |
8 # Adblock Plus is distributed in the hope that it will be useful, | 8 # Adblock Plus is distributed in the hope that it will be useful, |
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
142 """Test that the API result has the appropriate format. | 142 """Test that the API result has the appropriate format. |
143 | 143 |
144 Checks for both keys and datatypes. | 144 Checks for both keys and datatypes. |
145 """ | 145 """ |
146 position = 'start' if line_type in {'header', 'metadata'} else 'body' | 146 position = 'start' if line_type in {'header', 'metadata'} else 'body' |
147 data = line2dict(_TEST_EXAMPLES[line_type]['in'], position) | 147 data = line2dict(_TEST_EXAMPLES[line_type]['in'], position) |
148 | 148 |
149 assert data == _TEST_EXAMPLES[line_type]['out'] | 149 assert data == _TEST_EXAMPLES[line_type]['out'] |
150 | 150 |
151 | 151 |
152 def test_lines2dicts(): | 152 def test_lines2dicts_start_mode(): |
153 """Test that the API returns the correct result in the appropriate format. | 153 """Test that the API returns the correct result in the appropriate format. |
154 | 154 |
155 Checks for both modes: 'start', and 'body' (the default). | 155 Checks for 'start' mode, which can handle headers and metadata. |
156 """ | 156 """ |
157 test_start = [t for t in _TEST_EXAMPLES.values()] | 157 tests = [t for t in _TEST_EXAMPLES.values()] |
158 ins = [ex['in'] for ex in test_start] | 158 ins = [ex['in'] for ex in tests] |
159 outs = [ex['out'] for ex in test_start] | 159 outs = [ex['out'] for ex in tests] |
160 | 160 |
161 assert lines2dicts(ins, 'start') == outs | 161 assert lines2dicts(ins, 'start') == outs |
162 | 162 |
163 test_body = [t for t in _TEST_EXAMPLES.values() | 163 |
Vasily Kuznetsov
2019/01/28 17:47:36
What do you think about separating this part into
rhowell
2019/01/29 01:44:48
Done.
| |
164 if t['out'][b'type'] not in {b'Header', b'Metadata'}] | 164 def test_lines2dicts_default(): |
165 ins = [ex['in'] for ex in test_body] | 165 """Test that the API returns the correct result in the appropriate format. |
166 outs = [ex['out'] for ex in test_body] | 166 |
167 By default, lines2dicts() does not correctly parse headers and metadata. | |
168 """ | |
169 tests = [t for t in _TEST_EXAMPLES.values() | |
170 if t['out'][b'type'] not in {b'Header', b'Metadata'}] | |
171 ins = [ex['in'] for ex in tests] | |
172 outs = [ex['out'] for ex in tests] | |
167 | 173 |
168 assert lines2dicts(ins) == outs | 174 assert lines2dicts(ins) == outs |
LEFT | RIGHT |