mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-16 16:56:09 +03:00
terminal/kitty-gfx: test for non-compressed rgb image
This commit is contained in:
@ -175,9 +175,9 @@ pub const Image = struct {
|
|||||||
// Data length must be what we expect
|
// Data length must be what we expect
|
||||||
const expected_len = self.width * self.height * bpp;
|
const expected_len = self.width * self.height * bpp;
|
||||||
const actual_len = self.data.len;
|
const actual_len = self.data.len;
|
||||||
std.log.warn(
|
std.log.debug(
|
||||||
"width={} height={} bpp={} expected_len={} actual_len={}",
|
"complete image id={} width={} height={} bpp={} expected_len={} actual_len={}",
|
||||||
.{ self.width, self.height, bpp, expected_len, actual_len },
|
.{ self.id, self.width, self.height, bpp, expected_len, actual_len },
|
||||||
);
|
);
|
||||||
if (actual_len != expected_len) return error.InvalidData;
|
if (actual_len != expected_len) return error.InvalidData;
|
||||||
}
|
}
|
||||||
@ -339,3 +339,30 @@ test "image load: rgb, zlib compressed, direct" {
|
|||||||
// should be decompressed
|
// should be decompressed
|
||||||
try testing.expect(img.compression == .none);
|
try testing.expect(img.compression == .none);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test "image load: rgb, not compressed, direct" {
|
||||||
|
const testing = std.testing;
|
||||||
|
const alloc = testing.allocator;
|
||||||
|
|
||||||
|
var cmd: command.Command = .{
|
||||||
|
.control = .{ .transmit = .{
|
||||||
|
.format = .rgb,
|
||||||
|
.medium = .direct,
|
||||||
|
.compression = .none,
|
||||||
|
.width = 20,
|
||||||
|
.height = 15,
|
||||||
|
.image_id = 31,
|
||||||
|
} },
|
||||||
|
.data = try alloc.dupe(
|
||||||
|
u8,
|
||||||
|
@embedFile("testdata/image-rgb-none-20x15-2147483647.data"),
|
||||||
|
),
|
||||||
|
};
|
||||||
|
defer cmd.deinit(alloc);
|
||||||
|
var img = try Image.load(alloc, &cmd);
|
||||||
|
defer img.deinit(alloc);
|
||||||
|
try img.complete(alloc);
|
||||||
|
|
||||||
|
// should be decompressed
|
||||||
|
try testing.expect(img.compression == .none);
|
||||||
|
}
|
||||||
|
1
src/terminal/kitty/testdata/image-rgb-none-20x15-2147483647.data
vendored
Normal file
1
src/terminal/kitty/testdata/image-rgb-none-20x15-2147483647.data
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
DRoeCxgcCxcjEh4qDBgkCxcjChYiCxcjCRclBRMhBxIXHysvTVNRbHJwcXB2Li0zCBYXEyEiCxkaDBobChcbCBUZDxsnBBAcEBwoChYiCxcjDBgkDhwqBxUjDBccm6aqy9HP1NrYzs3UsK+2IjAxCBYXCBYXBxUWFBoaDxUVICYqIyktERcZDxUXDxUVEhgYDhUTCxIQGh8XusC4zM7FvL61q6elmZWTTVtcDBobDRscCxkaKS8vaW9vxMnOur/EiY+RaW5wICYmW2FhfYOBQEZEnqSc4ebeqauilZaOsa2rm5eVcH5/GigpChgZCBYX0NHP3d7c3tzbx8XExsTEvry8wL241dLN0tDF0tDF29nM4d/StbKpzMrAUk5DZmJXeYSGKTU3ER0fDRkb1tfVysvJ0tDPsa+tr6ytop+gmZaRqaahuritw8G2urirqKaZiYZ9paKZZmJXamZbOkZIDhocBxMVBBASxMDBtrKzqqanoZ2ejYeLeHF2eXFvhn58npePta6ml5CKgXp0W1hPaWZdZWdSYmRPFiYADR0AFCQAEyMAt7O0lJCRf3t8eHR1Zl9kY1xhYVpYbGRieXJqeHFpdW1oc2tmcG1kX1xTbW9ajY96jp55kaF8kKB7kaF8sK6rcnFtX11cXFpZW1pWWFdTXVpTXltUaGJgY11bY11da2Vla25dam1ccHtTnqmBorVtp7pypLdvobRsh4aCaGdjWFZVXFpZYWBcZ2ZiaGVeZGFaY11bYlxaV1FRZ2FhdHdmbG9egItjo66GpLdvq752rL93rsF5kpKIZ2ddWFxTW19WbnZdipJ6cnhaaW9RaGhgV1ZPY2Jga2poanFQd35dk6Vpn7B0oLFvorNxm6xqmKlnv760enpwVlpRW19Wc3til5+Hl55/k5p7iIiAcnJqd3Z0bm1rcHdWh45tipxgladrkaJglKVjkaJgkqNh09DJiYZ/YmZdY2deeYZYjJlrj51ijpxhztHClJaIdHNvdHNvanNHi5RpmaxnjKBbmqhrmadqkJ5hi5lcxsO8jImCaGtiYmZdg5Bikp9xjJpfjpxh1djJqq2eamllZ2Zid4BVmKF2kqZhh5tWlaNmlaNmjpxfjJpdw729rqiodnZ0cHBuiplij55nj6FVjJ5SzdC9t7qncW1sXlpZh45iqbCEmKllmapmmqlqnq1unaxtoK9w
|
Reference in New Issue
Block a user