test: add tests dbus notification images (#43965)

Provide a NativeImage icon in the notification tests and then inspect
the DBus message payload's `image_data` hint to see if it's correct.
This adds test coverage for LibnotifyNotification::Show() and for
GdkPixbufFromSkBitmap().

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
This commit is contained in:
trop[bot] 2024-09-26 09:56:22 -04:00 committed by GitHub
parent e99de2b5c6
commit a66e01b555
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 0 deletions

View file

@ -9,8 +9,12 @@
import { expect } from 'chai';
import * as dbus from 'dbus-native';
import { app } from 'electron/main';
import { nativeImage } from 'electron/common';
import { ifdescribe } from './lib/spec-helpers';
import { promisify } from 'node:util';
import * as path from 'node:path';
const fixturesPath = path.join(__dirname, 'fixtures');
const skip = process.platform !== 'linux' ||
process.arch === 'ia32' ||
@ -92,6 +96,7 @@ ifdescribe(!skip)('Notification module (dbus)', () => {
title: 'title',
subtitle: 'subtitle',
body: 'body',
icon: nativeImage.createFromPath(path.join(fixturesPath, 'assets', 'notification_icon.png')),
replyPlaceholder: 'replyPlaceholder',
sound: 'sound',
closeButtonText: 'closeButtonText'
@ -117,6 +122,7 @@ ifdescribe(!skip)('Notification module (dbus)', () => {
actions: [],
hints: {
append: 'true',
image_data: [3, 3, 12, true, 8, 4, Buffer.from([255, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 76, 255, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 38, 255, 255, 0, 0, 0, 255, 0, 0, 0, 0])],
'desktop-entry': appName,
'sender-pid': process.pid,
urgency: 1

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 B