summaryrefslogtreecommitdiff
path: root/src/tests.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests.rs')
-rw-r--r--src/tests.rs48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/tests.rs b/src/tests.rs
new file mode 100644
index 0000000..4d60cf1
--- /dev/null
+++ b/src/tests.rs
@@ -0,0 +1,48 @@
+use super::*;
+
+#[test]
+fn render_tree_root() {
+ let tree = Tree::new("foo");
+ assert_eq!(format!("{}", tree), "foo\n")
+}
+
+#[test]
+fn render_tree_with_leaves() {
+ let tree = Tree::new("foo").with_leaves([Tree::new("bar").with_leaves(["baz"])]);
+ assert_eq!(
+ format!("{}", tree),
+ r#"foo
+└── bar
+ └── baz
+"#
+ )
+}
+
+#[test]
+fn render_tree_with_multiple_leaves() {
+ let tree = Tree::new("foo").with_leaves(["bar", "baz"]);
+ assert_eq!(
+ format!("{}", tree),
+ r#"foo
+├── bar
+└── baz
+"#
+ )
+}
+
+#[test]
+fn render_tree_with_multiline_leaf() {
+ let tree = Tree::new("foo").with_leaves([
+ Tree::new("hello\nworld").with_multiline(true),
+ Tree::new("goodbye\nworld").with_multiline(true),
+ ]);
+ assert_eq!(
+ format!("{}", tree),
+ r#"foo
+├── hello
+│ world
+└── goodbye
+ world
+"#
+ )
+}