diff options
Diffstat (limited to 'python/mozbuild/mozbuild/test/test_vendor_tools.py')
-rw-r--r-- | python/mozbuild/mozbuild/test/test_vendor_tools.py | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/python/mozbuild/mozbuild/test/test_vendor_tools.py b/python/mozbuild/mozbuild/test/test_vendor_tools.py new file mode 100644 index 0000000000..271be6d7da --- /dev/null +++ b/python/mozbuild/mozbuild/test/test_vendor_tools.py @@ -0,0 +1,90 @@ +# 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 + +from mozbuild.vendor.vendor_manifest import list_of_paths_to_readable_string + + +def test_list_of_paths_to_readable_string(): + paths = ["/tmp/a", "/tmp/b"] + s = list_of_paths_to_readable_string(paths) + assert not s.endswith(", ]") + assert s.endswith("]") + assert "/tmp/a" in s + assert "/tmp/b" in s + + paths = ["/tmp/a", "/tmp/b", "/tmp/c", "/tmp/d"] + s = list_of_paths_to_readable_string(paths) + assert not s.endswith(", ") + assert s.endswith("]") + assert "/tmp/a" not in s + assert "/tmp/b" not in s + assert "4 items in /tmp" in s + + paths = [ + "/tmp/a", + "/tmp/b", + "/tmp/c", + "/tmp/d", + "/tmp/d", + "/tmp/d", + "/tmp/d", + "/tmp/d", + "/tmp/d", + "/tmp/d", + ] + s = list_of_paths_to_readable_string(paths) + assert not s.endswith(", ") + assert s.endswith("]") + assert "/tmp/a" not in s + assert " a" not in s + assert "/tmp/b" not in s + assert "10 (omitted) items in /tmp" in s + + paths = ["/tmp", "/foo"] + s = list_of_paths_to_readable_string(paths) + assert not s.endswith(", ") + assert s.endswith("]") + assert "/tmp" in s + assert "/foo" in s + + paths = [ + "/tmp/a", + "/tmp/b", + "/tmp/c", + "/tmp/d", + "/tmp/d", + "/tmp/d", + "/tmp/d", + "/tmp/d", + "/tmp/d", + "/tmp/d", + ] + paths.extend(["/foo/w", "/foo/x", "/foo/y", "/foo/z"]) + paths.extend(["/bar/m", "/bar/n"]) + paths.extend(["/etc"]) + s = list_of_paths_to_readable_string(paths) + assert not s.endswith(", ") + assert s.endswith("]") + assert "/tmp/a" not in s + assert " d" not in s + assert "/tmp/b" not in s + assert "10 (omitted) items in /tmp" in s + + assert "/foo/w" not in s + assert "/foo/x" not in s + assert "4 items in /foo" in s + assert " w" in s + + assert "/bar/m" in s + assert "/bar/n" in s + + assert "/etc" in s + + assert len(s) < len(str(paths)) + + +if __name__ == "__main__": + mozunit.main() |