signal-desktop/ts/test-node/util/getUserAgent_test.ts

47 lines
1.4 KiB
TypeScript
Raw Normal View History

2020-11-12 23:29:54 +00:00
// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { assert } from 'chai';
import * as sinon from 'sinon';
import { getUserAgent } from '../../util/getUserAgent';
describe('getUserAgent', () => {
beforeEach(function (this: Mocha.Context) {
2020-11-12 23:29:54 +00:00
this.sandbox = sinon.createSandbox();
});
afterEach(function (this: Mocha.Context) {
2020-11-12 23:29:54 +00:00
this.sandbox.restore();
});
it('returns the right User-Agent on Windows', function (this: Mocha.Context) {
2020-11-12 23:29:54 +00:00
this.sandbox.stub(process, 'platform').get(() => 'win32');
2022-06-21 00:31:32 +00:00
assert.strictEqual(
getUserAgent('1.2.3', '10.0.22000'),
'Signal-Desktop/1.2.3 Windows 10.0.22000'
);
2020-11-12 23:29:54 +00:00
});
it('returns the right User-Agent on macOS', function (this: Mocha.Context) {
2020-11-12 23:29:54 +00:00
this.sandbox.stub(process, 'platform').get(() => 'darwin');
2022-06-21 00:31:32 +00:00
assert.strictEqual(
getUserAgent('1.2.3', '21.5.0'),
'Signal-Desktop/1.2.3 macOS 21.5.0'
);
2020-11-12 23:29:54 +00:00
});
it('returns the right User-Agent on Linux', function (this: Mocha.Context) {
2020-11-12 23:29:54 +00:00
this.sandbox.stub(process, 'platform').get(() => 'linux');
2022-06-21 00:31:32 +00:00
assert.strictEqual(
getUserAgent('1.2.3', '20.04'),
'Signal-Desktop/1.2.3 Linux 20.04'
);
2020-11-12 23:29:54 +00:00
});
it('omits the platform on unsupported platforms', function (this: Mocha.Context) {
2020-11-12 23:29:54 +00:00
this.sandbox.stub(process, 'platform').get(() => 'freebsd');
2022-06-21 00:31:32 +00:00
assert.strictEqual(getUserAgent('1.2.3', '13.1'), 'Signal-Desktop/1.2.3');
2020-11-12 23:29:54 +00:00
});
});