summaryrefslogtreecommitdiff
path: root/flake8/tests/test_util.py
blob: bfbc660be969cc8cf38bc9cf239d77e8bcc2a928 (plain)
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
import optparse
import unittest

from flake8.util import option_normalizer


class TestOptionSerializerParsesTrue(unittest.TestCase):

    def setUp(self):
        self.option = optparse.Option('--foo', action='store_true')
        self.option_name = 'fake_option'

    def test_1_is_true(self):
        value = option_normalizer('1', self.option, self.option_name)
        self.assertTrue(value)

    def test_T_is_true(self):
        value = option_normalizer('T', self.option, self.option_name)
        self.assertTrue(value)

    def test_TRUE_is_true(self):
        value = option_normalizer('TRUE', self.option, self.option_name)
        self.assertTrue(value, True)

    def test_ON_is_true(self):
        value = option_normalizer('ON', self.option, self.option_name)
        self.assertTrue(value)

    def test_t_is_true(self):
        value = option_normalizer('t', self.option, self.option_name)
        self.assertTrue(value)

    def test_true_is_true(self):
        value = option_normalizer('true', self.option, self.option_name)
        self.assertTrue(value)

    def test_on_is_true(self):
        value = option_normalizer('on', self.option, self.option_name)
        self.assertTrue(value)


class TestOptionSerializerParsesFalse(unittest.TestCase):

    def setUp(self):
        self.option = optparse.Option('--foo', action='store_true')
        self.option_name = 'fake_option'

    def test_0_is_false(self):
        value = option_normalizer('0', self.option, self.option_name)
        self.assertFalse(value)

    def test_F_is_false(self):
        value = option_normalizer('F', self.option, self.option_name)
        self.assertFalse(value)

    def test_FALSE_is_false(self):
        value = option_normalizer('FALSE', self.option, self.option_name)
        self.assertFalse(value)

    def test_OFF_is_false(self):
        value = option_normalizer('OFF', self.option, self.option_name)
        self.assertFalse(value)

    def test_f_is_false(self):
        value = option_normalizer('f', self.option, self.option_name)
        self.assertFalse(value)

    def test_false_is_false(self):
        value = option_normalizer('false', self.option, self.option_name)
        self.assertFalse(value)

    def test_off_is_false(self):
        value = option_normalizer('off', self.option, self.option_name)
        self.assertFalse(value)


class TestOptionSerializerParsesLists(unittest.TestCase):

    def setUp(self):
        self.option = optparse.Option('--select')
        self.option_name = 'select'
        self.answer = ['F401', 'F402', 'F403', 'F404']

    def test_parses_simple_comma_separated_lists(self):
        value = option_normalizer('F401,F402,F403,F404', self.option,
                                  self.option_name)
        self.assertEqual(value, self.answer)

    def test_parses_less_simple_comma_separated_lists(self):
        value = option_normalizer('F401 ,F402 ,F403 ,F404', self.option,
                                  self.option_name)
        self.assertEqual(value, self.answer)

        value = option_normalizer('F401, F402, F403, F404', self.option,
                                  self.option_name)
        self.assertEqual(value, self.answer)

    def test_parses_comma_separated_lists_with_newlines(self):
        value = option_normalizer('''\
            F401,
            F402,
            F403,
            F404,
        ''', self.option, self.option_name)
        self.assertEqual(value, self.answer)


class TestOptionSerializerParsesInts(unittest.TestCase):

    def setUp(self):
        self.option = optparse.Option('--max-complexity', type='int')
        self.option_name = 'max_complexity'

    def test_parses_an_int(self):
        value = option_normalizer('2', self.option, self.option_name)
        self.assertEqual(value, 2)


if __name__ == '__main__':
    unittest.main()