Exemple #1
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.'},
         {'col': 24, 'line': 2, 'message': 'Q000 Remove bad quotes.'},
         {'col': 24, 'line': 3, 'message': 'Q000 Remove bad quotes.'},
     ])
Exemple #2
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'},
         {'col': 24, 'line': 2, 'message': 'Q000 Remove bad quotes'},
         {'col': 24, 'line': 3, 'message': 'Q000 Remove bad quotes'},
     ])
Exemple #3
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())), [])
Exemple #4
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())), [])
Exemple #5
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())), [])
Exemple #6
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'},
        ])
Exemple #7
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'
             },
         ])
Exemple #8
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'
             },
         ])
Exemple #9
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'
             },
         ])
Exemple #10
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.'},
        ])
Exemple #11
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())), [])
Exemple #12
0
 def test_noqa_singles(self):
     checker = QuoteChecker(None, get_absolute_path('data/singles_noqa.py'))
     self.assertEqual(list(checker.run()), [])
Exemple #13
0
    def setUp(self):
        class SinglesOptions():
            inline_quotes = '"'
            multiline_quotes = '"'

        QuoteChecker.parse_options(SinglesOptions)
 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])
Exemple #15
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'},
     ])
 def setUp(self):
     class SinglesOptions():
         inline_quotes = '"'
     QuoteChecker.parse_options(SinglesOptions)
 def setUp(self):
     class DoublesOptions():
         quotes = '\''
     QuoteChecker.parse_options(DoublesOptions)
Exemple #18
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])
Exemple #19
0
 def setUp(self):
     class DoublesAliasOptions():
         inline_quotes = 'single'
         multiline_quotes = 'single'
     QuoteChecker.parse_options(DoublesAliasOptions)
 def setUp(self):
     class SinglesOptions():
         quotes = '"'
     QuoteChecker.parse_options(SinglesOptions)
Exemple #21
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'},
     ])
Exemple #22
0
    def setUp(self):
        class SinglesAliasOptions():
            inline_quotes = 'double'
            multiline_quotes = 'double'

        QuoteChecker.parse_options(SinglesAliasOptions)
 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())), [])
Exemple #24
0
    def setUp(self):
        class DoublesOptions():
            inline_quotes = "'"
            multiline_quotes = "'"

        QuoteChecker.parse_options(DoublesOptions)
 def test_noqa_singles(self):
     checker = QuoteChecker(None, get_absolute_path('data/singles_noqa.py'))
     self.assertEqual(list(checker.run()), [])
 def setUp(self):
     class DoublesOptions():
         inline_quotes = '\''
     QuoteChecker.parse_options(DoublesOptions)
Exemple #27
0
 def setUp(self):
     class DoublesOptions():
         inline_quotes = "'"
         multiline_quotes = "'"
     QuoteChecker.parse_options(DoublesOptions)
 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())), [])
    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'},
        ])