'Ensure that DateField._has_changed() with SelectDateWidget works
correctly with a localized date format.
Refs #17165.'

def test_l10n_date_changed(self):

    b = GetDate({u'mydate_year': u'2008', u'mydate_month': u'4', u'mydate_day': u'1'}, initial={u'mydate': datetime.date(2008, 4, 1)})
    self.assertFalse(b.has_changed())
    b = GetDate({u'mydate_year': u'2008', u'mydate_month': u'4', u'mydate_day': u'2'}, initial={u'mydate': datetime.date(2008, 4, 1)})
    self.assertTrue(b.has_changed())
    b = GetDateShowHiddenInitial({u'mydate_year': u'2008', u'mydate_month': u'4', u'mydate_day': u'1', u'initial-mydate': HiddenInput()._format_value(datetime.date(2008, 4, 1))}, initial={u'mydate': datetime.date(2008, 4, 1)})
    self.assertFalse(b.has_changed())
    b = GetDateShowHiddenInitial({u'mydate_year': u'2008', u'mydate_month': u'4', u'mydate_day': u'22', u'initial-mydate': HiddenInput()._format_value(datetime.date(2008, 4, 1))}, initial={u'mydate': datetime.date(2008, 4, 1)})
    self.assertTrue(b.has_changed())
    b = GetDateShowHiddenInitial({u'mydate_year': u'2008', u'mydate_month': u'4', u'mydate_day': u'22', u'initial-mydate': HiddenInput()._format_value(datetime.date(2008, 4, 1))}, initial={u'mydate': datetime.date(2008, 4, 22)})
    self.assertTrue(b.has_changed())
    b = GetDateShowHiddenInitial({u'mydate_year': u'2008', u'mydate_month': u'4', u'mydate_day': u'22', u'initial-mydate': HiddenInput()._format_value(datetime.date(2008, 4, 22))}, initial={u'mydate': datetime.date(2008, 4, 1)})
    self.assertFalse(b.has_changed())
