]> git.scottworley.com Git - tablify/blobdiff - src/lib.rs
Tests for column_header_order()
[tablify] / src / lib.rs
index 0873f2e346f9ac79c1cd0363b795c01ab193aead..b4b8bbcc44ed515aec293148aa020f6bb584175f 100644 (file)
@@ -595,6 +595,30 @@ mod tests {
         );
     }
 
+    #[test]
+    fn test_column_header_order() {
+        let mut cfg = Config::default();
+
+        assert!(column_header_order(&cfg, &["foo".to_owned()]).eq([Some(&"foo".to_owned())]));
+
+        cfg.static_columns.push(Some("bar".to_owned()));
+        assert!(column_header_order(&cfg, &["foo".to_owned()])
+            .eq([Some(&"bar".to_owned()), Some(&"foo".to_owned())]));
+
+        cfg.static_columns.push(None);
+        assert!(column_header_order(&cfg, &["foo".to_owned()]).eq([
+            Some(&"bar".to_owned()),
+            None,
+            Some(&"foo".to_owned())
+        ]));
+
+        cfg.hidden_columns.insert("foo".to_owned());
+        assert!(column_header_order(&cfg, &["foo".to_owned()]).eq([Some(&"bar".to_owned()), None]));
+
+        cfg.hidden_columns.insert("bar".to_owned());
+        assert!(column_header_order(&cfg, &["foo".to_owned()]).eq([None]));
+    }
+
     #[test]
     fn test_render_cell() {
         assert_eq!(