1 # This Source Code Form is subject to the terms of the Mozilla Public
2 # License, v. 2.0. If a copy of the MPL was not distributed with this
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 def test_same(lint
, create_temp_file
):
20 path
= create_temp_file(hgContents
, ".hgignore")
21 create_temp_file(gitContents
, ".gitignore")
23 results
= lint([path
])
25 assert len(results
) == 0
28 def test_replace(lint
, create_temp_file
):
38 path
= create_temp_file(hgContents
, ".hgignore")
39 path2
= create_temp_file(gitContents
, ".gitignore")
41 results
= lint([path
])
43 assert len(results
) == 1
44 assert results
[0].level
== "error"
45 assert results
[0].lineno
== 3
48 == 'Pattern mismatch: "\\.pyo$" in .hgignore vs "*.pyp" in .gitignore'
51 results
= lint([path2
])
53 assert len(results
) == 1
54 assert results
[0].level
== "error"
55 assert results
[0].lineno
== 3
58 == 'Pattern mismatch: "*.pyp" in .gitignore vs "\\.pyo$" in .hgignore'
62 def test_insert(lint
, create_temp_file
):
73 path
= create_temp_file(hgContents
, ".hgignore")
74 create_temp_file(gitContents
, ".gitignore")
76 results
= lint([path
])
78 assert len(results
) == 1
79 assert results
[0].level
== "error"
80 assert results
[0].lineno
== 3
81 assert results
[0].message
== 'Pattern "foo" not found in .hgignore'
84 def test_delete(lint
, create_temp_file
):
95 path
= create_temp_file(hgContents
, ".hgignore")
96 create_temp_file(gitContents
, ".gitignore")
98 results
= lint([path
])
100 assert len(results
) == 1
101 assert results
[0].level
== "error"
102 assert results
[0].lineno
== 3
103 assert results
[0].message
== 'Pattern "foo" not found in .gitignore'
106 def test_ignore(lint
, create_temp_file
):
109 # lint-ignore-next-line: hg-only
112 # lint-ignore-next-line: syntax-difference
119 # lint-ignore-next-line: git-only
121 # lint-ignore-next-line: syntax-difference
123 # lint-ignore-next-line: syntax-difference
128 path
= create_temp_file(hgContents
, ".hgignore")
129 create_temp_file(gitContents
, ".gitignore")
131 results
= lint([path
])
133 # Only the line without lint-ignore-next-line should be reported
134 assert len(results
) == 1
135 assert results
[0].level
== "error"
136 assert results
[0].lineno
== 8
139 == 'Pattern mismatch: "diff1" in .hgignore vs "diff2" in .gitignore'
143 def test_invalid_syntax(lint
, create_temp_file
):
146 # lint-ignore-next-line: random
155 path
= create_temp_file(hgContents
, ".hgignore")
156 create_temp_file(gitContents
, ".gitignore")
158 results
= lint([path
])
160 assert len(results
) == 2
161 assert results
[0].level
== "error"
162 assert results
[0].lineno
== 3
163 assert results
[0].message
== 'Unknown lint rule: "random"'
164 assert results
[1].level
== "error"
165 assert results
[1].lineno
== 4
166 assert results
[1].message
== 'Pattern "foo" not found in .gitignore'
169 if __name__
== "__main__":