(self)
| 1260 | self.assertEqual(form["birthday"].value(), datetime.date(1974, 8, 16)) |
| 1261 | |
| 1262 | def test_hidden_data(self): |
| 1263 | class SongForm(Form): |
| 1264 | name = CharField() |
| 1265 | composers = MultipleChoiceField( |
| 1266 | choices=[("J", "John Lennon"), ("P", "Paul McCartney")] |
| 1267 | ) |
| 1268 | |
| 1269 | # MultipleChoiceField rendered as_hidden() is a special case. Because |
| 1270 | # it can have multiple values, its as_hidden() renders multiple <input |
| 1271 | # type="hidden"> tags. |
| 1272 | f = SongForm({"name": "Yesterday", "composers": ["P"]}, auto_id=False) |
| 1273 | self.assertHTMLEqual( |
| 1274 | f["composers"].as_hidden(), |
| 1275 | '<input type="hidden" name="composers" value="P">', |
| 1276 | ) |
| 1277 | f = SongForm({"name": "From Me To You", "composers": ["P", "J"]}, auto_id=False) |
| 1278 | self.assertHTMLEqual( |
| 1279 | f["composers"].as_hidden(), |
| 1280 | """<input type="hidden" name="composers" value="P"> |
| 1281 | <input type="hidden" name="composers" value="J">""", |
| 1282 | ) |
| 1283 | |
| 1284 | # DateTimeField rendered as_hidden() is special too |
| 1285 | class MessageForm(Form): |
| 1286 | when = SplitDateTimeField() |
| 1287 | |
| 1288 | f = MessageForm({"when_0": "1992-01-01", "when_1": "01:01"}) |
| 1289 | self.assertTrue(f.is_valid()) |
| 1290 | self.assertHTMLEqual( |
| 1291 | str(f["when"]), |
| 1292 | '<input type="text" name="when_0" value="1992-01-01" id="id_when_0" ' |
| 1293 | "required>" |
| 1294 | '<input type="text" name="when_1" value="01:01" id="id_when_1" required>', |
| 1295 | ) |
| 1296 | self.assertHTMLEqual( |
| 1297 | f["when"].as_hidden(), |
| 1298 | '<input type="hidden" name="when_0" value="1992-01-01" id="id_when_0">' |
| 1299 | '<input type="hidden" name="when_1" value="01:01" id="id_when_1">', |
| 1300 | ) |
| 1301 | |
| 1302 | def test_multiple_choice_checkbox(self): |
| 1303 | # MultipleChoiceField can also be used with the CheckboxSelectMultiple |
nothing calls this directly
no test coverage detected