This file is indexed.

/usr/share/doc/python-mechanize/examples/test/test_date.py is in python-mechanize 1:0.2.5-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
"""Tests for ClientCookie._HTTPDate."""

import re, time
from unittest import TestCase

class DateTimeTests(TestCase):

    def test_time2isoz(self):
        from mechanize._util import time2isoz

        base = 1019227000
        day = 24*3600
        assert time2isoz(base) == "2002-04-19 14:36:40Z"
        assert time2isoz(base+day) == "2002-04-20 14:36:40Z"
        assert time2isoz(base+2*day) == "2002-04-21 14:36:40Z"
        assert time2isoz(base+3*day) == "2002-04-22 14:36:40Z"

        az = time2isoz()
        bz = time2isoz(500000)
        for text in (az, bz):
            assert re.search(r"^\d{4}-\d\d-\d\d \d\d:\d\d:\d\dZ$", text), \
                   "bad time2isoz format: %s %s" % (az, bz)

    def test_parse_date(self):
        from mechanize._util import http2time

        def parse_date(text, http2time=http2time):
            return time.gmtime(http2time(text))[:6]

        assert parse_date("01 Jan 2001") == (2001, 1, 1, 0, 0, 0.0)

        # this test will break around year 2070
        assert parse_date("03-Feb-20") == (2020, 2, 3, 0, 0, 0.0)

        # this test will break around year 2048
        assert parse_date("03-Feb-98") == (1998, 2, 3, 0, 0, 0.0)

    def test_http2time_formats(self):
        from mechanize._util import http2time, time2isoz

        # test http2time for supported dates.  Test cases with 2 digit year
        # will probably break in year 2044.
        tests = [
         'Thu, 03 Feb 1994 00:00:00 GMT',  # proposed new HTTP format
         'Thursday, 03-Feb-94 00:00:00 GMT',  # old rfc850 HTTP format
         'Thursday, 03-Feb-1994 00:00:00 GMT',  # broken rfc850 HTTP format

         '03 Feb 1994 00:00:00 GMT',  # HTTP format (no weekday)
         '03-Feb-94 00:00:00 GMT',  # old rfc850 (no weekday)
         '03-Feb-1994 00:00:00 GMT',  # broken rfc850 (no weekday)
         '03-Feb-1994 00:00 GMT',  # broken rfc850 (no weekday, no seconds)
         '03-Feb-1994 00:00',  # broken rfc850 (no weekday, no seconds, no tz)

         '03-Feb-94',  # old rfc850 HTTP format (no weekday, no time)
         '03-Feb-1994',  # broken rfc850 HTTP format (no weekday, no time)
         '03 Feb 1994',  # proposed new HTTP format (no weekday, no time)

         # A few tests with extra space at various places
         '  03   Feb   1994  0:00  ',
         '  03-Feb-1994  ',
        ]

        test_t = 760233600  # assume broken POSIX counting of seconds
        result = time2isoz(test_t)
        expected = "1994-02-03 00:00:00Z"
        assert result == expected, \
               "%s  =>  '%s' (%s)" % (test_t, result, expected)

        for s in tests:
            t = http2time(s)
            t2 = http2time(s.lower())
            t3 = http2time(s.upper())

            assert t == t2 == t3 == test_t, \
                   "'%s'  =>  %s, %s, %s (%s)" % (s, t, t2, t3, test_t)

    def test_http2time_garbage(self):
        from mechanize._util import http2time

        for test in [
            '', 'Garbage',
            'Mandag 16. September 1996',

            '01-00-1980',
            '01-13-1980',
            '00-01-1980',
            '32-01-1980',
            '01-01-1980 25:00:00',
            '01-01-1980 00:61:00',
            '01-01-1980 00:00:62']:

            bad = False

            if http2time(test) is not None:
                print "http2time(%s) is not None" % (test,)
                print "http2time(test)", http2time(test)
                bad = True

            assert not bad


if __name__ == "__main__":
    import unittest
    unittest.main()