diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:33 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:33 +0000 |
commit | 086c044dc34dfc0f74fbe41f4ecb402b2cd34884 (patch) | |
tree | a4f824bd33cb075dd5aa3eb5a0a94af221bbe83a /tools/lint/test | |
parent | Adding debian version 124.0.1-1. (diff) | |
download | firefox-086c044dc34dfc0f74fbe41f4ecb402b2cd34884.tar.xz firefox-086c044dc34dfc0f74fbe41f4ecb402b2cd34884.zip |
Merging upstream version 125.0.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tools/lint/test')
-rw-r--r-- | tools/lint/test/python.toml | 2 | ||||
-rw-r--r-- | tools/lint/test/test_ignorefile.py | 170 |
2 files changed, 172 insertions, 0 deletions
diff --git a/tools/lint/test/python.toml b/tools/lint/test/python.toml index 65036449a8..2f010c9043 100644 --- a/tools/lint/test/python.toml +++ b/tools/lint/test/python.toml @@ -26,6 +26,8 @@ skip-if = ["os == 'win'"] ["test_fluent_lint.py"] +["test_ignorefile.py"] + ["test_lintpref.py"] ["test_manifest_alpha.py"] diff --git a/tools/lint/test/test_ignorefile.py b/tools/lint/test/test_ignorefile.py new file mode 100644 index 0000000000..502096c5b9 --- /dev/null +++ b/tools/lint/test/test_ignorefile.py @@ -0,0 +1,170 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +import mozunit + +LINTER = "ignorefile" + + +def test_same(lint, create_temp_file): + hgContents = """ +\\.pyc$ +\\.pyo$ + """ + gitContents = """ +*.pyc +*.pyo + """ + + path = create_temp_file(hgContents, ".hgignore") + create_temp_file(gitContents, ".gitignore") + + results = lint([path]) + + assert len(results) == 0 + + +def test_replace(lint, create_temp_file): + hgContents = """ +\\.pyc$ +\\.pyo$ + """ + gitContents = """ +*.pyc +*.pyp + """ + + path = create_temp_file(hgContents, ".hgignore") + path2 = create_temp_file(gitContents, ".gitignore") + + results = lint([path]) + + assert len(results) == 1 + assert results[0].level == "error" + assert results[0].lineno == 3 + assert ( + results[0].message + == 'Pattern mismatch: "\\.pyo$" in .hgignore vs "*.pyp" in .gitignore' + ) + + results = lint([path2]) + + assert len(results) == 1 + assert results[0].level == "error" + assert results[0].lineno == 3 + assert ( + results[0].message + == 'Pattern mismatch: "*.pyp" in .gitignore vs "\\.pyo$" in .hgignore' + ) + + +def test_insert(lint, create_temp_file): + hgContents = """ +\\.pyc$ +\\.pyo$ + """ + gitContents = """ +*.pyc +foo +*.pyo + """ + + path = create_temp_file(hgContents, ".hgignore") + create_temp_file(gitContents, ".gitignore") + + results = lint([path]) + + assert len(results) == 1 + assert results[0].level == "error" + assert results[0].lineno == 3 + assert results[0].message == 'Pattern "foo" not found in .hgignore' + + +def test_delete(lint, create_temp_file): + hgContents = """ +\\.pyc$ +foo +\\.pyo$ + """ + gitContents = """ +*.pyc +*.pyo + """ + + path = create_temp_file(hgContents, ".hgignore") + create_temp_file(gitContents, ".gitignore") + + results = lint([path]) + + assert len(results) == 1 + assert results[0].level == "error" + assert results[0].lineno == 3 + assert results[0].message == 'Pattern "foo" not found in .gitignore' + + +def test_ignore(lint, create_temp_file): + hgContents = """ +\\.pyc$ +# lint-ignore-next-line: hg-only +foo +\\.pyo$ +# lint-ignore-next-line: syntax-difference +(file1|file2) +diff1 + """ + gitContents = """ +*.pyc +*.pyo +# lint-ignore-next-line: git-only +bar +# lint-ignore-next-line: syntax-difference +file1 +# lint-ignore-next-line: syntax-difference +file2 +diff2 + """ + + path = create_temp_file(hgContents, ".hgignore") + create_temp_file(gitContents, ".gitignore") + + results = lint([path]) + + # Only the line without lint-ignore-next-line should be reported + assert len(results) == 1 + assert results[0].level == "error" + assert results[0].lineno == 8 + assert ( + results[0].message + == 'Pattern mismatch: "diff1" in .hgignore vs "diff2" in .gitignore' + ) + + +def test_invalid_syntax(lint, create_temp_file): + hgContents = """ +\\.pyc$ +# lint-ignore-next-line: random +foo +\\.pyo$ + """ + gitContents = """ +*.pyc +*.pyo + """ + + path = create_temp_file(hgContents, ".hgignore") + create_temp_file(gitContents, ".gitignore") + + results = lint([path]) + + assert len(results) == 2 + assert results[0].level == "error" + assert results[0].lineno == 3 + assert results[0].message == 'Unknown lint rule: "random"' + assert results[1].level == "error" + assert results[1].lineno == 4 + assert results[1].message == 'Pattern "foo" not found in .gitignore' + + +if __name__ == "__main__": + mozunit.main() |