chiark / gitweb /
bundles: Test Id parsing and printing
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 3 May 2021 23:41:58 +0000 (00:41 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 3 May 2021 23:45:39 +0000 (00:45 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/bundles.rs

index 2abd5edaa3c8cd99c2ec9fa14f958f9813a7b160..2bf9aa994a1f337f0eadee28507212560de9fd1b 100644 (file)
@@ -369,3 +369,20 @@ impl InstanceBundles {
     };
   }
 }
+
+#[test]
+fn id_file_parse() {
+  let check_y = |s,index,kind| {
+    let id = Id { index, kind };
+    assert_eq!(Id::from_str(s).unwrap(), id);
+    assert_eq!(id.to_string(), s);
+  };
+  let check_n = |s,m| {
+    assert_eq!(Id::from_str(s).unwrap_err().to_string(), m)
+  };
+  check_y("00000.zip", Index(0), Kind::Zip);
+  check_n("00000zip",  "no dot");
+  check_n("xxxxx.zip", "bad index");
+  check_n("00000.xyz", "bad extension");
+  check_n("65536.zip", "bad index");
+}