Skip to main content

Merge pull request #17 from alexwlchan/add-tif-support

ID
dc4e3c2
date
2022-10-16 19:42:33+00:00
author
Alex Chan <alex@alexwlchan.net>
parents
85163f1, 7866176
message
Merge pull request #17 from alexwlchan/add-tif-support

Add support for TIFF images
changed files
6 files, 61 additions, 45 deletions

Changed files

.github/workflows/build.yml (514) → .github/workflows/build.yml (567)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ad4367f..0ad2930 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,4 +1,10 @@
-on: [push, pull_request]
+on:
+  push:
+    branches:
+    - main
+  pull_request:
+    branches:
+    - main
 name: build
 jobs:
   build:

CHANGELOG.md (519) → CHANGELOG.md (573)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index f22fee3..b0b1976 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Changelog
 
+## v1.1.2 - 2022-10-16
+
+Add support for TIFF images.
+
 ## v1.1.1 - 2022-04-03
 
 Publish binaries as part of the GitHub releases.

Cargo.lock (13465) → Cargo.lock (13448)

diff --git a/Cargo.lock b/Cargo.lock
index 7960e73..1e5f8dd 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3,10 +3,10 @@
 version = 3
 
 [[package]]
-name = "adler32"
-version = "1.2.0"
+name = "adler"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "ansi_term"
@@ -123,16 +123,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "deflate"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174"
-dependencies = [
- "adler32",
- "byteorder",
-]
-
-[[package]]
 name = "difflib"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -146,7 +136,7 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
 
 [[package]]
 name = "dominant_colours"
-version = "1.1.1"
+version = "1.1.2"
 dependencies = [
  "assert_cmd",
  "clap",
@@ -162,6 +152,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
 
 [[package]]
+name = "flate2"
+version = "1.0.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
 name = "getrandom"
 version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -193,19 +193,19 @@ dependencies = [
 
 [[package]]
 name = "image"
-version = "0.23.14"
+version = "0.24.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1"
+checksum = "bd8e4fb07cf672b1642304e731ef8a6a4c7891d67bb4fd4f5ce58cd6ed86803c"
 dependencies = [
  "bytemuck",
  "byteorder",
  "color_quant",
  "gif",
  "jpeg-decoder",
- "num-iter",
  "num-rational",
  "num-traits",
  "png",
+ "tiff",
 ]
 
 [[package]]
@@ -219,9 +219,9 @@ dependencies = [
 
 [[package]]
 name = "jpeg-decoder"
-version = "0.1.22"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2"
+checksum = "9478aa10f73e7528198d75109c8be5cd7d15fb530238040148d5f9a22d4c5b3b"
 
 [[package]]
 name = "kmeans_colors"
@@ -254,11 +254,11 @@ checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.3.7"
+version = "0.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435"
+checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34"
 dependencies = [
- "adler32",
+ "adler",
 ]
 
 [[package]]
@@ -272,21 +272,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "num-iter"
-version = "0.1.42"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
 name = "num-rational"
-version = "0.3.2"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
+checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
 dependencies = [
  "autocfg",
  "num-integer",
@@ -326,13 +315,13 @@ dependencies = [
 
 [[package]]
 name = "png"
-version = "0.16.8"
+version = "0.17.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6"
+checksum = "8f0e7f4c94ec26ff209cee506314212639d6c91b80afb82984819fafce9df01c"
 dependencies = [
  "bitflags",
  "crc32fast",
- "deflate",
+ "flate2",
  "miniz_oxide",
 ]
 
@@ -456,6 +445,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "tiff"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7259662e32d1e219321eb309d5f9d898b779769d81b76e762c07c8e5d38fcb65"
+dependencies = [
+ "flate2",
+ "jpeg-decoder",
+ "weezl",
+]
+
+[[package]]
 name = "unicode-width"
 version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"

Cargo.toml (406) → Cargo.toml (414)

diff --git a/Cargo.toml b/Cargo.toml
index 1b35382..8fef77b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "dominant_colours"
-version = "1.1.1"
+version = "1.1.2"
 edition = "2018"
 
 [dependencies]
@@ -13,8 +13,8 @@ features = ["palette_color"]
 default-features = false
 
 [dependencies.image]
-version = "0.23"
-features = ["jpeg", "png", "gif"]
+version = "0.24"
+features = ["jpeg", "png", "gif", "tiff"]
 default-features = false
 
 [dependencies.palette]

src/main.rs (9071) → src/main.rs (9257)

diff --git a/src/main.rs b/src/main.rs
index e4acce6..8e37f47 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -135,6 +135,12 @@ mod tests {
     }
 
     #[test]
+    fn it_can_look_at_tiff_images() {
+        let output = get_success(&["./src/tests/green.tiff", "--max-colours=1"]);
+        assert_eq!(output.exit_code, 0);
+    }
+
+    #[test]
     fn it_omits_the_escape_codes_with_no_palette() {
         let output = get_success(&["./src/tests/red.png", "--max-colours=1", "--no-palette"]);
 
@@ -247,11 +253,11 @@ mod tests {
 
     #[test]
     fn it_fails_if_you_pass_an_unsupported_image_format() {
-        let output = get_failure(&["./src/tests/green.tiff"]);
+        let output = get_failure(&["./src/tests/purple.webp"]);
 
         assert_eq!(output.exit_code, 1);
         assert_eq!(output.stdout, "");
-        assert_eq!(output.stderr, "The image format Tiff is not supported\n");
+        assert_eq!(output.stderr, "The image format WebP is not supported\n");
     }
 
     #[test]
@@ -262,7 +268,7 @@ mod tests {
         assert_eq!(output.stdout, "");
         assert_eq!(
             output.stderr,
-            "Format error decoding Png: invalid signature\n"
+            "Format error decoding Png: Invalid PNG signature.\n"
         );
     }
 

src/tests/purple.webp (0) → src/tests/purple.webp (66)

diff --git a/src/tests/purple.webp b/src/tests/purple.webp
new file mode 100644
index 0000000..71e78a1
Binary files /dev/null and b/src/tests/purple.webp differ