41
41
def test_get_current_browser_request_no_interaction(self):
42
42
# When there's no interaction setup, get_current_browser_request()
44
self.assertEquals(None, queryInteraction())
45
self.assertEquals(None, get_current_browser_request())
44
self.assertEqual(None, queryInteraction())
45
self.assertEqual(None, get_current_browser_request())
47
47
def test_get_current_browser_request(self):
48
48
# When there is an interaction, it returns the interaction's request.
49
49
request = TestRequest()
50
50
newInteraction(request)
51
self.assertEquals(request, get_current_browser_request())
51
self.assertEqual(request, get_current_browser_request())
54
54
def test_is_total_size_link_active(self):
110
110
# rename_version works when the given version exists.
111
111
self.dict.push("original")
112
112
self.dict.rename_version("original", "renamed")
113
self.assertEquals(self.dict.dict_names, ["renamed"])
113
self.assertEqual(self.dict.dict_names, ["renamed"])
115
115
def test_rename_version_fails_given_nonexistent_version(self):
116
116
# rename_version gives KeyError when the given version does
123
123
# dict_for_name finds a dict with the given name in the stack.
124
124
self.dict.push("name1")
125
125
self.dict['key'] = 'value1'
127
127
self.dict.dict_for_name('name1'), dict(key='value1'))
129
129
def test_dict_for_name_finds_first_dict(self):
134
134
self.dict.push("name2")
135
135
self.dict.push("name1")
136
136
self.dict['key'] = 'value2'
138
138
self.dict.dict_for_name('name1'), dict(key='value1'))
140
140
def test_dict_for_name_returns_None_if_no_such_name(self):
141
141
# If there's no dict with the given name, dict_for_name
143
self.assertEquals(None, self.dict.dict_for_name("name1"))
143
self.assertEqual(None, self.dict.dict_for_name("name1"))
145
145
def test_dict_for_name_returns_default_if_no_such_name(self):
146
146
# If there's no dict with the given name, and a default value
147
147
# is provided, dict_for_name returns the default.
149
self.assertEquals(obj, self.dict.dict_for_name("name1", obj))
149
self.assertEqual(obj, self.dict.dict_for_name("name1", obj))
151
151
def test_normalize_for_versions_fills_in_blanks(self):
152
152
# `normalize_for_versions` makes sure a VersionedDict has
154
154
self.dict.push("name2")
155
155
self.dict['key'] = 'value'
156
156
self.dict.normalize_for_versions(['name1', 'name2', 'name3'])
159
159
[('name1', dict()),
160
160
('name2', dict(key='value')),
165
165
self.dict['key'] = 'value'
166
166
self.dict.normalize_for_versions(
167
167
['name1', 'name2'], dict(default=True))
170
170
[('name1', dict(default=True)),
171
171
('name2', dict(key='value'))])
174
174
self.dict.push("nosuchversion")
175
175
exception = self.assertRaises(
176
176
ValueError, self.dict.normalize_for_versions, ['name1'])
178
178
str(exception), 'Unrecognized version "nosuchversion".')
180
180
def test_normalize_for_versions_rejects_duplicate_versions(self):
182
182
self.dict.push("name1")
183
183
exception = self.assertRaises(
184
184
ValueError, self.dict.normalize_for_versions, ['name1', 'name2'])
186
186
str(exception), 'Duplicate definitions for version "name1".')
188
188
def test_normalize_for_versions_rejects_misordered_versions(self):
190
190
self.dict.push("name1")
191
191
exception = self.assertRaises(
192
192
ValueError, self.dict.normalize_for_versions, ['name1', 'name2'])
195
195
'Version "name1" defined after the later version "name2".')
199
199
exception = self.assertRaises(
200
200
ValueError, self.dict.normalize_for_versions, ['name1'],
201
201
error_prefix='Error test: ')
204
204
'Error test: Unrecognized version "nosuchversion".')
208
208
class TestParseAcceptStyleHeader(unittest.TestCase):
210
210
def test_single_value(self):
211
self.assertEquals(parse_accept_style_header("foo"), ["foo"])
211
self.assertEqual(parse_accept_style_header("foo"), ["foo"])
213
213
def test_multiple_unodered_values(self):
215
215
parse_accept_style_header("foo, bar"),
219
219
parse_accept_style_header("foo, bar,baz"),
220
220
["foo", "bar", "baz"])
222
222
def test_highest_quality_parameter_wins(self):
224
224
parse_accept_style_header("foo;q=0.001, bar;q=0.05, baz;q=0.1"),
225
225
["baz", "bar", "foo"])
227
227
def test_quality_zero_is_omitted(self):
229
229
parse_accept_style_header("foo;q=0, bar;q=0.5"), ["bar"])
231
231
def test_duplicate_values_are_collapsed(self):
233
233
parse_accept_style_header("foo;q=0.1, foo;q=0.5, bar;q=0.3"),
236
236
def test_no_quality_parameter_is_implicit_one_point_zero(self):
238
238
parse_accept_style_header("foo;q=0.5, bar"),
241
241
def test_standalone_parameter_is_untouched(self):
243
243
parse_accept_style_header("foo;a=0.5"),
246
246
def test_quality_parameter_is_removed_next_parameter_is_untouched(self):
248
248
parse_accept_style_header("foo;a=bar;q=0.5"),
251
251
def test_quality_parameter_is_removed_earlier_parameter_is_untouched(self):
253
253
parse_accept_style_header("foo;q=0.5;a=bar"),
256
256
def test_quality_parameter_is_removed_surrounding_parameters_are_untouched(self):
258
258
parse_accept_style_header("foo;a=bar;q=0.5;b=baz"),
259
259
["foo;a=bar;b=baz"])