]> git.scottworley.com Git - tablify/commitdiff
Tests for column_header_order()
authorScott Worley <scottworley@scottworley.com>
Fri, 4 Oct 2024 20:48:57 +0000 (13:48 -0700)
committerScott Worley <scottworley@scottworley.com>
Fri, 4 Oct 2024 21:22:30 +0000 (14:22 -0700)
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!(