Пример #1
0
    def test_singles(self):
        singles_checker = QuoteChecker(
            None, filename=get_absolute_path('data/singles_wrapped.py'))
        self.assertEqual(
            list(
                singles_checker.get_quotes_errors(
                    singles_checker.get_file_contents())), [])

        singles_checker = QuoteChecker(
            None, filename=get_absolute_path('data/singles.py'))
        self.assertEqual(
            list(
                singles_checker.get_quotes_errors(
                    singles_checker.get_file_contents())), [
                        {
                            'col': 24,
                            'line': 1,
                            'message': 'Q000 Remove bad quotes'
                        },
                        {
                            'col': 24,
                            'line': 2,
                            'message': 'Q000 Remove bad quotes'
                        },
                        {
                            'col': 24,
                            'line': 3,
                            'message': 'Q000 Remove bad quotes'
                        },
                    ])
Пример #2
0
    def test_require_double_docstring_double_present(self):
        class Options():
            inline_quotes = 'single'
            multiline_quotes = 'single'
            docstring_quotes = 'double'
        QuoteChecker.parse_options(Options)

        multiline_checker = QuoteChecker(
            None,
            filename=get_absolute_path('data/docstring_doubles.py')
        )
        self.assertEqual(list(multiline_checker.get_quotes_errors(multiline_checker.get_file_contents())), [
            {'col': 0, 'line': 5, 'message': 'Q001 Remove bad quotes from multiline string'},
            {'col': 4, 'line': 16, 'message': 'Q001 Remove bad quotes from multiline string'},
            {'col': 20, 'line': 21, 'message': 'Q001 Remove bad quotes from multiline string'},
            {'col': 8, 'line': 30, 'message': 'Q001 Remove bad quotes from multiline string'},
            {'col': 12, 'line': 35, 'message': 'Q001 Remove bad quotes from multiline string'},
        ])

        multiline_checker = QuoteChecker(
            None,
            filename=get_absolute_path('data/docstring_doubles_module_multiline.py')
        )
        self.assertEqual(list(multiline_checker.get_quotes_errors(multiline_checker.get_file_contents())), [
            {'col': 0, 'line': 4, 'message': 'Q001 Remove bad quotes from multiline string'},
            {'col': 0, 'line': 9, 'message': 'Q001 Remove bad quotes from multiline string'},
        ])

        multiline_checker = QuoteChecker(
            None,
            filename=get_absolute_path('data/docstring_doubles_module_singleline.py')
        )
        self.assertEqual(list(multiline_checker.get_quotes_errors(multiline_checker.get_file_contents())), [
            {'col': 0, 'line': 2, 'message': 'Q001 Remove bad quotes from multiline string'},
            {'col': 0, 'line': 6, 'message': 'Q001 Remove bad quotes from multiline string'},
        ])

        multiline_checker = QuoteChecker(
            None,
            filename=get_absolute_path('data/docstring_doubles_class.py')
        )
        self.assertEqual(list(multiline_checker.get_quotes_errors(multiline_checker.get_file_contents())), [
            {'col': 4, 'line': 3, 'message': 'Q001 Remove bad quotes from multiline string'},
            {'col': 22, 'line': 5, 'message': 'Q001 Remove bad quotes from multiline string'},
        ])

        multiline_checker = QuoteChecker(
            None,
            filename=get_absolute_path('data/docstring_doubles_function.py')
        )
        self.assertEqual(list(multiline_checker.get_quotes_errors(multiline_checker.get_file_contents())), [
            {'col': 4, 'line': 3, 'message': 'Q001 Remove bad quotes from multiline string'},
            {'col': 4, 'line': 11, 'message': 'Q001 Remove bad quotes from multiline string'},
            {'col': 38, 'line': 15, 'message': 'Q001 Remove bad quotes from multiline string'},
            {'col': 4, 'line': 17, 'message': 'Q001 Remove bad quotes from multiline string'},
            {'col': 4, 'line': 21, 'message': 'Q001 Remove bad quotes from multiline string'},
        ])
Пример #3
0
    def test_doubles(self):
        doubles_checker = QuoteChecker(None, filename=get_absolute_path('data/doubles_wrapped.py'))
        self.assertEqual(list(doubles_checker.get_quotes_errors(doubles_checker.get_file_contents())), [])

        doubles_checker = QuoteChecker(None, filename=get_absolute_path('data/doubles.py'))
        self.assertEqual(list(doubles_checker.get_quotes_errors(doubles_checker.get_file_contents())), [
            {'col': 24, 'line': 1, 'message': 'Q000 Remove bad quotes'},
            {'col': 24, 'line': 2, 'message': 'Q000 Remove bad quotes'},
            {'col': 24, 'line': 3, 'message': 'Q000 Remove bad quotes'},
        ])
Пример #4
0
 def test_wrapped(self):
     doubles_checker = QuoteChecker(
         None, filename=get_absolute_path('data/doubles_wrapped.py'))
     self.assertEqual(
         list(
             doubles_checker.get_quotes_errors(
                 doubles_checker.get_file_contents())), [])
Пример #5
0
    def test_escapes_allowed(self):
        class Options():
            inline_quotes = "'"
            avoid_escape = False
        QuoteChecker.parse_options(Options)

        doubles_checker = QuoteChecker(None, filename=get_absolute_path('data/doubles_escaped.py'))
        self.assertEqual(list(doubles_checker.get_quotes_errors(doubles_checker.get_file_contents())), [])
Пример #6
0
 def test_multiline_string(self):
     singles_checker = QuoteChecker(
         None,
         filename=get_absolute_path('data/singles_multiline_string.py'))
     self.assertEqual(
         list(
             singles_checker.get_quotes_errors(
                 singles_checker.get_file_contents())), [])
Пример #7
0
    def test_doubles_alias(self):
        class Options():
            inline_quotes = 'double'
            multiline_quotes = 'single'
        QuoteChecker.parse_options(Options)

        multiline_checker = QuoteChecker(None, filename=get_absolute_path('data/multiline_string.py'))
        self.assertEqual(list(multiline_checker.get_quotes_errors(multiline_checker.get_file_contents())), [
            {'col': 4, 'line': 1, 'message': 'Q001 Remove bad quotes from multiline string'},
        ])
Пример #8
0
    def test_doubles_alias(self):
        class Options():
            inline_quotes = 'double'
            multiline_quotes = 'single'
        QuoteChecker.parse_options(Options)

        multiline_checker = QuoteChecker(None, filename=get_absolute_path('data/multiline_string.py'))
        self.assertEqual(list(multiline_checker.get_quotes_errors(multiline_checker.get_file_contents())), [
            {'col': 0, 'line': 1, 'message': 'Q001 Remove bad quotes from multiline string.'},
        ])
Пример #9
0
 def test_doubles(self):
     doubles_checker = QuoteChecker(
         None, filename=get_absolute_path('data/doubles.py'))
     self.assertEqual(
         list(
             doubles_checker.get_quotes_errors(
                 doubles_checker.get_file_contents())),
         [{
             'col': 24,
             'line': 1,
             'message': 'Q000 Remove bad quotes.'
         }])
Пример #10
0
    def test_escapes_allowed(self):
        class Options():
            inline_quotes = '"'
            avoid_escape = False

        QuoteChecker.parse_options(Options)

        singles_checker = QuoteChecker(
            None, filename=get_absolute_path('data/singles_escaped.py'))
        self.assertEqual(
            list(
                singles_checker.get_quotes_errors(
                    singles_checker.get_file_contents())), [])
Пример #11
0
 def test_multiline_string_using_lines(self):
     with open(get_absolute_path('data/doubles_multiline_string.py')) as f:
         lines = f.readlines()
     doubles_checker = QuoteChecker(None, lines=lines)
     self.assertEqual(
         list(
             doubles_checker.get_quotes_errors(
                 doubles_checker.get_file_contents())),
         [
             {
                 'col': 4,
                 'line': 1,
                 'message': 'Q001 Remove bad quotes from multiline string'
             },
         ])
Пример #12
0
 def test_multiline_string(self):
     doubles_checker = QuoteChecker(
         None,
         filename=get_absolute_path('data/doubles_multiline_string.py'))
     self.assertEqual(
         list(
             doubles_checker.get_quotes_errors(
                 doubles_checker.get_file_contents())),
         [
             {
                 'col': 4,
                 'line': 1,
                 'message': 'Q001 Remove bad quotes from multiline string'
             },
         ])
Пример #13
0
 def test_escapes(self):
     singles_checker = QuoteChecker(
         None, filename=get_absolute_path('data/singles_escaped.py'))
     self.assertEqual(
         list(
             singles_checker.get_quotes_errors(
                 singles_checker.get_file_contents())),
         [
             {
                 'col':
                 25,
                 'line':
                 1,
                 'message':
                 'Q003 Change outer quotes to avoid escaping inner quotes'
             },
         ])
Пример #14
0
 def test_wrapped(self):
     singles_checker = QuoteChecker(None, filename=get_absolute_path('data/singles_wrapped.py'))
     self.assertEqual(list(singles_checker.get_quotes_errors(singles_checker.get_file_contents())), [])
Пример #15
0
 def test_get_noqa_lines(self):
     checker = QuoteChecker(None,
                            filename=get_absolute_path('data/no_qa.py'))
     self.assertEqual(checker.get_noqa_lines(checker.get_file_contents()),
                      [2])
Пример #16
0
 def test_multiline_string(self):
     doubles_checker = QuoteChecker(None, filename=get_absolute_path('data/doubles_multiline_string.py'))
     self.assertEqual(list(doubles_checker.get_quotes_errors(doubles_checker.get_file_contents())), [
         {'col': 4, 'line': 1, 'message': 'Q001 Remove bad quotes from multiline string'},
     ])
Пример #17
0
 def test_get_noqa_lines(self):
     checker = QuoteChecker(None, filename=get_absolute_path('data/no_qa.py'))
     self.assertEqual(checker.get_noqa_lines(checker.get_file_contents()), [2])
Пример #18
0
 def test_singles(self):
     singles_checker = QuoteChecker(None, filename=get_absolute_path('data/singles.py'))
     self.assertEqual(list(singles_checker.get_quotes_errors(singles_checker.get_file_contents())), [
         {'col': 24, 'line': 1, 'message': 'Q000 Remove bad quotes.'}
     ])
Пример #19
0
 def test_escapes(self):
     doubles_checker = QuoteChecker(None, filename=get_absolute_path('data/doubles_escaped.py'))
     self.assertEqual(list(doubles_checker.get_quotes_errors(doubles_checker.get_file_contents())), [
         {'col': 25, 'line': 1, 'message': 'Q003 Change outer quotes to avoid escaping inner quotes'},
     ])
Пример #20
0
 def test_multiline_string(self):
     doubles_checker = QuoteChecker(None, filename=get_absolute_path('data/doubles_multiline_string.py'))
     self.assertEqual(list(doubles_checker.get_quotes_errors(doubles_checker.get_file_contents())), [])