def test_spanish_date_string(self): with self.assertRaises(ValueError): parsed = parse_approximate_date('20 febrero 1954 ') with override('es'): parsed = parse_approximate_date('20 febrero 1954 ') self.assertEqual(type(parsed), ApproximateDate) self.assertEqual(repr(parsed), '1954-02-20')
def test_mm_dd_yyyy_with_slashes(self): settings = get_current_usersettings() settings.DD_MM_DATE_FORMAT_PREFERRED=False settings.save() parsed = parse_approximate_date('4/1/1977') self.assertEqual(type(parsed), ApproximateDate) self.assertEqual(repr(parsed), '1977-04-01')
def clean_birth_date(self): birth_date = self.cleaned_data['birth_date'] if not birth_date: return '' try: parsed_date = parse_approximate_date(birth_date) except ValueError: if settings.DD_MM_DATE_FORMAT_PREFERRED: message = _("That date of birth could not be understood. Try using DD/MM/YYYY instead") else: message = _("That date of birth could not be understood. Try using MM/DD/YYYY instead") raise ValidationError(message) return parsed_date
def test_nonsense_string(self): with self.assertRaises(ValueError): parse_approximate_date('this is not a date')
def clean_birth_date(self): birth_date = self.cleaned_data['birth_date'] if not birth_date: return '' parsed_date = parse_approximate_date(birth_date) return parsed_date
def test_empty_string(self): with self.assertRaises(ValueError): parse_approximate_date('')
def test_expanded_natural_date_string(self): parsed = parse_approximate_date('31st of December 1999') self.assertEqual(type(parsed), ApproximateDate) self.assertEqual(repr(parsed), '1999-12-31')
def test_nonsense(self): with self.assertRaises(ValueError): parse_approximate_date('12345678')
def test_dd_mm_yyyy_with_dashes(self): parsed = parse_approximate_date('1-4-1977') self.assertEqual(type(parsed), ApproximateDate) self.assertEqual(repr(parsed), '1977-04-01')
def test_only_year(self): parsed = parse_approximate_date('1977') self.assertEqual(type(parsed), ApproximateDate) self.assertEqual(repr(parsed), '1977-00-00')
def test_iso_8601(self): parsed = parse_approximate_date('1977-04-01') self.assertEqual(type(parsed), ApproximateDate) self.assertEqual(repr(parsed), '1977-04-01')
def test_natural_date_string(self): parsed = parse_approximate_date('31st December 1999') self.assertEqual(type(parsed), ApproximateDate) self.assertEqual(repr(parsed), '1999-12-31')