| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent d171e34 commit 42566c6
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -310,7 +310,7 @@ class GitConfigParser(cp.RawConfigParser, metaclass=MetaParserBuilder): | |||
| 310 | 310 | re_comment = re.compile(r"^\s*[#;]") | |
| 311 | 311 | # } END configuration | |
| 312 | 312 | ||
| 313 | - optvalueonly_source = r"\s*(?P<option>[^:=\s][^:=]*)" | ||
| 313 | + optvalueonly_source = r"\s*(?P<option>[^:=\s#;][^:=#;]*)" | ||
| 314 | 314 | ||
| 315 | 315 | OPTVALUEONLY = re.compile(optvalueonly_source) | |
| 316 | 316 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -917,6 +917,36 @@ def test_implicit_boolean_round_trip(self, rw_dir): | |||
| 917 | 917 | self.assertIs(config.getboolean("flag", "empty"), False) | |
| 918 | 918 | self.assertEqual(dict(config.items_all("flag"))["multiple"], ["false", None, "", None]) | |
| 919 | 919 | ||
| 920 | + @with_rw_directory | ||
| 921 | + def test_implicit_boolean_with_comments_round_trip(self, rw_dir): | ||
| 922 | + config_path = osp.join(rw_dir, "config") | ||
| 923 | + comments = ( | ||
| 924 | + " # comment", | ||
| 925 | + " ; comment", | ||
| 926 | + "# comment = value", | ||
| 927 | + "; comment = value", | ||
| 928 | + "\t# comment: value", | ||
| 929 | + "\t; comment: value", | ||
| 930 | + ) | ||
| 931 | + for comment in comments: | ||
| 932 | + with self.subTest(comment=comment): | ||
| 933 | + with open(config_path, "wb") as config_file: | ||
| 934 | + config_file.write(("[flag]\n\tenabled%s\n" % comment).encode(defenc)) | ||
| 935 | + | ||
| 936 | + with GitConfigParser(config_path, read_only=False) as config: | ||
| 937 | + self.assertIs(config.getboolean("flag", "enabled"), True) | ||
| 938 | + self.assertEqual(config.items("flag"), [("enabled", None)]) | ||
| 939 | + config.set_value("other", "value", "updated") | ||
| 940 | + | ||
| 941 | + with open(config_path, "rb") as config_file: | ||
| 942 | + self.assertEqual(config_file.read(), b"[flag]\n\tenabled\n[other]\n\tvalue = updated\n") | ||
| 943 | + with GitConfigParser(config_path) as config: | ||
| 944 | + self.assertIs(config.getboolean("flag", "enabled"), True) | ||
| 945 | + self.assertEqual( | ||
| 946 | + subprocess.check_output(["git", "config", "--file", config_path, "--bool", "flag.enabled"]), | ||
| 947 | + b"true\n", | ||
| 948 | + ) | ||
| 949 | + | ||
| 920 | 950 | def test_config_with_quotes(self): | |
| 921 | 951 | cr = GitConfigParser(fixture_path("git_config_with_quotes"), read_only=True) | |
| 922 | 952 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments