def test_disabled_present(self): config_content = '{"extends": "default", "rules": {"empty-lines": "disable"}}' expected = """ --- test: key: value lst: - item1 """ content = """ --- test: key: value lst: - item1 """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_dos_max_start_end(self): config_content = ( '{"extends": "default", ' '"rules": {"empty-lines": {"max-start": 2, "max-end": 1}, "new-lines": {"type": "dos"}}}' ) expected = """\r \r ---\r test:\r key: value\r lst:\r - item1\r \r """ content = """\r \r \r \r ---\r test:\r key: value\r lst:\r - item1\r \r \r \r \r \r """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_dos_lines_in_the_middle_with_comments(self): config_content = ( '{"extends": "default", ' '"rules": {"empty-lines": {"max": 5}, "new-lines": {"type": "dos"}}}' ) expected = """---\r test:\r key: value\r \r \r # some test\r \r # some test\r \r lst:\r - item1\r """ content = """---\r test:\r key: value\r \r \r # some test\r \r # some test\r \r lst:\r - item1\r """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_unix_max_start_end(self): config_content = ( '{"extends": "default", ' '"rules": {"empty-lines": {"max-start": 2, "max-end": 1}, "new-lines": {"type": "unix"}}}' ) expected = """ --- test: key: value lst: - item1 """ content = """ --- test: key: value lst: - item1 """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_unix_lines_in_the_middle(self): config_content = ( '{"extends": "default", ' '"rules": {"empty-lines": {"max": 5}, "new-lines": {"type": "unix"}}}' ) expected = """--- test: key: value lst: - item1 """ content = """--- test: key: value lst: - item1 """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_dos_disabled_present(self): config_content = ( '{"extends": "default", ' '"rules": {"empty-lines": "disable", "new-lines": {"type": "dos"}}}' ) expected = """\r ---\r test:\r key: value\r lst:\r - item1\r \r \r \r """ content = """\r ---\r test:\r key: value\r lst:\r - item1\r \r \r \r """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_no_config(self): expected = """--- test: key: value lst: - item1 obj: something: else """ content = """ --- test: key: value lst: - item1 obj: something: else """ output = read_and_format_text(content) self.assertEqual(expected, output)
def test_max_space_after_is_3(self): config_content = "{extends: default, rules: {commas: {max-spaces-after: 3}}}" expected = """--- three_comma_club: {something469: true, somethingelse: 42, yetanother: test, some: 78} test43: 'with_colon:': [TRuE, test] hey879: 'TRuE' "off": "FALSE" lst: - [somelist, "withcommas,", 78, 'withother,'] - something_else """ content = """--- three_comma_club: {something469: true, somethingelse: 42 , yetanother: test , some: 78} test43: 'with_colon:': [TRuE , test] hey879: 'TRuE' "off": "FALSE" lst: - [somelist, "withcommas," , 78 , 'withother,'] - something_else """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_double_quote(self): config_content = ( "{extends: default," " rules: {truthy: enable, quoted-strings: {quote-type: double, required: false}}}" ) expected = """--- test42: {something469: true} test43: noquote: TRuE hey879: "TRuE" "off": "FALSE" """ content = """--- test42: {something469: true} test43: noquote: TRuE hey879: 'TRuE' off: FALSE """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_enabled(self): config_content = '{extends: default, rules: {colons: "enable"}}' expected = """--- test42: {something469: true} test43: 'with_colon:': TRuE hey879: 'TRuE' "off": "FALSE" lst: - somelist - something_else """ content = """--- test42 : {something469 : true} test43 : 'with_colon:' : TRuE hey879 : 'TRuE' "off" : "FALSE" lst: - somelist - something_else """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_double_quote_required(self): config_content = "{extends: default, rules: {quoted-strings: {quote-type: double, required: true}}}" expected = """--- test42: {something469: "value"} test43: hey879: "someothervalue" hey880: "somevalue" lst: - "someitem" - "someotheritem" - "somefinalitem" - "item4" """ content = """--- test42: {something469: 'value'} test43: hey879: "someothervalue" hey880: somevalue lst: - 'someitem' - someotheritem - "somefinalitem" - item4 """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_default_no_seq_indent(self): config_content = ('{"extends": "default", "rules": {' '"comments-indentation": "enable",' '"indentation": {"indent-sequences": false}' "}}") expected = """--- ############################## ## Some text # Fix me test: # First key # thing key: value # valid lst: - item1 # here too """ content = """--- ############################## ## Some text # Fix me test: # First key # thing key: value # valid lst: - item1 # here too """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_default_enabled_present(self): config_content = ( '{"extends": "default", "rules": {"comments-indentation": "enable"}}' ) expected = """--- ############################## ## Some text # Fix me test: # First key # thing key: value # valid lst: - item1 """ content = """--- ############################## ## Some text # Fix me test: # First key # thing key: value # valid lst: - item1 """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_disabled_dos_newline(self): config_content = ( "{extends: default, rules: {colons: disable, new-lines: {type: dos}}}" ) expected = """---\r test42 : {something469 : true}\r test43 :\r 'with_colon:' : TRuE\r hey879 : 'TRuE'\r "off" : "FALSE"\r lst:\r - somelist\r - something_else\r """ content = """--- test42 : {something469 : true} test43 : 'with_colon:' : TRuE hey879 : 'TRuE' "off" : "FALSE" lst: - somelist - something_else """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_max_space_after_is_3(self): config_content = "{extends: default, rules: {colons: {max-spaces-after: 3}}}" expected = """--- test42: {something469: true} test43: 'with_colon:': TRuE hey879: 'TRuE' "off": "FALSE" lst: - somelist - something_else """ content = """--- test42 : {something469 : true} test43 : 'with_colon:' : TRuE hey879 : 'TRuE' "off" : "FALSE" lst: - somelist - something_else """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_disabled_dos_newline(self): config_content = ( "{extends: default, rules: {commas: disable, new-lines: {type: dos}}}" ) expected = """---\r three_comma_club: {something469: true, somethingelse: 42 , yetanother: test , some: 78}\r test43:\r 'with_colon:': [TRuE , test]\r hey879: 'TRuE'\r "off": "FALSE"\r lst:\r - [somelist, "withcommas," , 78 , 'withother,']\r - something_else\r """ content = """--- three_comma_club: {something469: true, somethingelse: 42 , yetanother: test , some: 78} test43: 'with_colon:': [TRuE , test] hey879: 'TRuE' "off": "FALSE" lst: - [somelist, "withcommas," , 78 , 'withother,'] - something_else """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_disabled_with_changes(self): config_content = '{"extends": "default", "rules": {"key-ordering": "disable"}}' expected = """--- key 3: something: 456 else: 45 key 2: v key 1: val lst: - {first_name: something, age: 42, last_name: else} - {age: 41, first_name: already, last_name: in_order} """ content = """--- key 3: something: 456 else: 45 key 2: v key 1: val lst: - {first_name: something, age: 42, last_name: else} - {age: 41, first_name: already, last_name: in_order} """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_allowed(self): config_content = ( '{"extends": "default",' '"rules": {"empty-values": {"forbid-in-block-mappings": false, "forbid-in-flow-mappings": false}}}' ) expected = """--- test42: {something469: } test43: hey879: hey880: lst: [key: ] lst2: - key2: """ content = """--- test42: {something469: } test43: hey879: hey880: null lst: [key: null] lst2: - key2: null """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_default_enabled(self): config_content = '{"extends": "default", "rules": {"empty-values": "enable"}}' expected = """--- test42: {something469: null} test43: hey879: null hey880: null lst: [key: null] lst2: - key2: null """ content = """--- test42: {something469: } test43: hey879: hey880: null lst: [key: null] lst2: - key2: null """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_no_config(self): expected = """--- test42: {something469: true} test43: noquote: TRuE hey879: 'TRuE' "off": "FALSE" lst: - somelist - something_else - hey - 'yo' - 42 - "56" - -sometextwithhyphen """ content = """--- test42: {something469: true} test43: noquote: TRuE hey879: 'TRuE' "off": "FALSE" lst: - somelist - something_else - hey - 'yo' - 42 - "56" - -sometextwithhyphen """ output = read_and_format_text(content) self.assertEqual(expected, output)
def test_forbid_non_empty(self): config_content = "{extends: default, rules: {braces: {forbid: non-empty}}}" expected = """--- test42: something469: true test43: noquote: TRuE hey879: 'TRuE' "off": "FALSE" empty: {} lst: [key: ] lst2: - key2: """ content = """--- test42: {something469: true} test43: noquote: TRuE hey879: 'TRuE' "off": "FALSE" empty: {} lst: [key: ] lst2: - key2: """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_disabled(self): config_content = '{extends: default, rules: {quoted-strings: "disable"}}' expected = """--- test42: {something469: 'value'} test43: hey879: "someothervalue" hey880: somevalue lst: - 'someitem' - someotheritem - "somefinalitem" - item4 """ content = """--- test42: {something469: 'value'} test43: hey879: "someothervalue" hey880: somevalue lst: - 'someitem' - someotheritem - "somefinalitem" - item4 """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_any_quote_if_needed(self): config_content = "{extends: default, rules: {quoted-strings: {quote-type: any, required: only-when-needed}}}" expected = """--- test42: {something469: value} test43: hey879: someothervalue hey880: somevalue required: "{this: needsquotes}" lst: - someitem - someotheritem - somefinalitem - item4 """ content = """--- test42: {something469: 'value'} test43: hey879: "someothervalue" hey880: somevalue required: "{this: needsquotes}" lst: - 'someitem' - someotheritem - "somefinalitem" - item4 """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_any_quote_extra_required(self): config_content = ( "{extends: default," " rules: {quoted-strings: {quote-type: any, required: false, extra-required: [some]}}}" ) expected = """--- test42: {something469: 'value'} test43: hey879: "someothervalue" hey880: "somevalue" required: "{this: needsquotes}" lst: - 'someitem' - "someotheritem" - "somefinalitem" - item4 """ content = """--- test42: {something469: 'value'} test43: hey879: "someothervalue" hey880: somevalue required: "{this: needsquotes}" lst: - 'someitem' - someotheritem - "somefinalitem" - item4 """ output = read_and_format_text(content, YamlLintConfig(content=config_content)) self.assertEqual(expected, output)
def test_no_config(self): expected = """--- test42: {something469: 'value'} test43: hey879: "someothervalue" hey880: somevalue lst: - 'someitem' - someotheritem - "somefinalitem" - item4 """ content = """--- test42: {something469: 'value'} test43: hey879: "someothervalue" hey880: somevalue lst: - 'someitem' - someotheritem - "somefinalitem" - item4 """ output = read_and_format_text(content) self.assertEqual(expected, output)
def test_no_config(self): expected = """--- test: 42 """ content = """test: 42 """ output = read_and_format_text(content) self.assertEqual(expected, output)
def test_new_line_at_end_of_file(self): """new-line-at-end-of-file""" expected = """--- test: 42 """ content = """--- test: 42""" output = read_and_format_text(content) self.assertEqual(expected, output)
def test_newlines(self): """newlines""" expected = """--- key: value """ content = """---\r key: value\r """ output = read_and_format_text(content) self.assertEqual(expected, output)
def test_comments_start(self): """comments""" expected = """--- key: value # comments should start with a space """ content = """--- key: value #comments should start with a space """ output = read_and_format_text(content) self.assertEqual(expected, output)
def test_min_space_before_colons(self): """colons""" expected = """--- somekey1: stuff """ content = """--- somekey1 : stuff """ output = read_and_format_text(content) self.assertEqual(expected, output)