summaryrefslogtreecommitdiffstats
path: root/third_party/jpeg-xl/lib/jxl/image_bundle_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/jpeg-xl/lib/jxl/image_bundle_test.cc')
-rw-r--r--third_party/jpeg-xl/lib/jxl/image_bundle_test.cc37
1 files changed, 37 insertions, 0 deletions
diff --git a/third_party/jpeg-xl/lib/jxl/image_bundle_test.cc b/third_party/jpeg-xl/lib/jxl/image_bundle_test.cc
new file mode 100644
index 0000000000..1a10598fe2
--- /dev/null
+++ b/third_party/jpeg-xl/lib/jxl/image_bundle_test.cc
@@ -0,0 +1,37 @@
+// Copyright (c) the JPEG XL Project Authors. All rights reserved.
+//
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+#include "lib/jxl/image_bundle.h"
+
+#include "lib/jxl/enc_aux_out.h"
+#include "lib/jxl/enc_bit_writer.h"
+#include "lib/jxl/testing.h"
+
+namespace jxl {
+namespace {
+
+TEST(ImageBundleTest, ExtraChannelName) {
+ AuxOut aux_out;
+ BitWriter writer;
+ BitWriter::Allotment allotment(&writer, 99);
+
+ ImageMetadata metadata;
+ ExtraChannelInfo eci;
+ eci.type = ExtraChannel::kBlack;
+ eci.name = "testK";
+ metadata.extra_channel_info.push_back(std::move(eci));
+ ASSERT_TRUE(WriteImageMetadata(metadata, &writer, /*layer=*/0, &aux_out));
+ writer.ZeroPadToByte();
+ allotment.ReclaimAndCharge(&writer, /*layer=*/0, &aux_out);
+
+ BitReader reader(writer.GetSpan());
+ ImageMetadata metadata_out;
+ ASSERT_TRUE(ReadImageMetadata(&reader, &metadata_out));
+ EXPECT_TRUE(reader.Close());
+ EXPECT_EQ("testK", metadata_out.Find(ExtraChannel::kBlack)->name);
+}
+
+} // namespace
+} // namespace jxl