@@ -604,6 +604,28 @@ def test_concise_formatter_show_offset(t_delta, expected):
604604 assert formatter .get_offset () == expected
605605
606606
607+ def test_offset_changes ():
608+ fig , ax = plt .subplots ()
609+
610+ d1 = datetime .datetime (1997 , 1 , 1 )
611+ d2 = d1 + datetime .timedelta (weeks = 520 )
612+
613+ locator = mdates .AutoDateLocator ()
614+ formatter = mdates .ConciseDateFormatter (locator )
615+ ax .xaxis .set_major_locator (locator )
616+ ax .xaxis .set_major_formatter (formatter )
617+
618+ ax .plot ([d1 , d2 ], [0 , 0 ])
619+ fig .draw_without_rendering ()
620+ assert formatter .get_offset () == ''
621+ ax .set_xlim (d1 , d1 + datetime .timedelta (weeks = 3 ))
622+ fig .draw_without_rendering ()
623+ assert formatter .get_offset () == '1997-Jan'
624+ ax .set_xlim (d1 , d1 + datetime .timedelta (weeks = 520 ))
625+ fig .draw_without_rendering ()
626+ assert formatter .get_offset () == ''
627+
628+
607629@pytest .mark .parametrize ('t_delta, expected' , [
608630 (datetime .timedelta (weeks = 52 * 200 ),
609631 ['$\\ mathdefault{%d}$' % (t , ) for t in range (1980 , 2201 , 20 )]),
0 commit comments