summaryrefslogtreecommitdiffstats
path: root/python/mozbuild/mozbuild/test/test_vendor_tools.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/mozbuild/mozbuild/test/test_vendor_tools.py')
-rw-r--r--python/mozbuild/mozbuild/test/test_vendor_tools.py90
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()