mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-04-24 10:28:03 +01:00
Officially support the system tray on Windows
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
// Copyright 2018-2020 Signal Messenger, LLC
|
||||
// Copyright 2018-2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import os from 'os';
|
||||
@@ -167,4 +167,22 @@ describe('Settings', () => {
|
||||
assert.isTrue(Settings.isDrawAttentionSupported());
|
||||
});
|
||||
});
|
||||
|
||||
describe('isSystemTraySupported', () => {
|
||||
it('returns false on macOS', () => {
|
||||
sandbox.stub(process, 'platform').value('darwin');
|
||||
assert.isFalse(Settings.isSystemTraySupported());
|
||||
});
|
||||
|
||||
it('returns true on Windows 8', () => {
|
||||
sandbox.stub(process, 'platform').value('win32');
|
||||
sandbox.stub(os, 'release').returns('8.0.0');
|
||||
assert.isTrue(Settings.isSystemTraySupported());
|
||||
});
|
||||
|
||||
it('returns false on Linux', () => {
|
||||
sandbox.stub(process, 'platform').value('linux');
|
||||
assert.isFalse(Settings.isSystemTraySupported());
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
55
ts/test-node/types/SystemTraySetting_test.ts
Normal file
55
ts/test-node/types/SystemTraySetting_test.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
// Copyright 2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import { assert } from 'chai';
|
||||
|
||||
import {
|
||||
SystemTraySetting,
|
||||
parseSystemTraySetting,
|
||||
shouldMinimizeToSystemTray,
|
||||
} from '../../types/SystemTraySetting';
|
||||
|
||||
describe('system tray setting utilities', () => {
|
||||
describe('shouldMinimizeToSystemTray', () => {
|
||||
it('returns false if the system tray is disabled', () => {
|
||||
assert.isFalse(
|
||||
shouldMinimizeToSystemTray(SystemTraySetting.DoNotUseSystemTray)
|
||||
);
|
||||
});
|
||||
|
||||
it('returns true if the system tray is enabled', () => {
|
||||
assert.isTrue(
|
||||
shouldMinimizeToSystemTray(SystemTraySetting.MinimizeToSystemTray)
|
||||
);
|
||||
assert.isTrue(
|
||||
shouldMinimizeToSystemTray(
|
||||
SystemTraySetting.MinimizeToAndStartInSystemTray
|
||||
)
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('parseSystemTraySetting', () => {
|
||||
it('parses valid strings into their enum values', () => {
|
||||
assert.strictEqual(
|
||||
parseSystemTraySetting('DoNotUseSystemTray'),
|
||||
SystemTraySetting.DoNotUseSystemTray
|
||||
);
|
||||
assert.strictEqual(
|
||||
parseSystemTraySetting('MinimizeToSystemTray'),
|
||||
SystemTraySetting.MinimizeToSystemTray
|
||||
);
|
||||
assert.strictEqual(
|
||||
parseSystemTraySetting('MinimizeToAndStartInSystemTray'),
|
||||
SystemTraySetting.MinimizeToAndStartInSystemTray
|
||||
);
|
||||
});
|
||||
|
||||
it('parses invalid strings to DoNotUseSystemTray', () => {
|
||||
assert.strictEqual(
|
||||
parseSystemTraySetting('garbage'),
|
||||
SystemTraySetting.DoNotUseSystemTray
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user