blob: c85ede762c525665e26ea3f570a7eaa21a870334 [file] [log] [blame]
/*---------------------------------------------------------
* Copyright 2020 The Go Authors. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------*/
import * as assert from 'assert';
import { shouldShowGoWelcomePage } from '../../src/goMain';
suite('WelcomePanel Tests', () => {
// 0:showVersions, 1:newVersion, 2:oldVersion, 3:expected
type testCase = [string[], string, string, boolean];
const testCases: testCase[] = [
[[], '0.22.0', '0.0.0', false],
[[], '0.22.0', '0.21.0', false],
[[], '0.22.0', '0.22.0-rc.1', false],
[[], '0.22.0', '0.22.0', false],
[[], '0.22.0', '0.23.0', false],
[['0.22.0'], '0.22.0', '0.0.0', true],
[['0.22.0'], '0.22.0', '0.21.0-rc.1', true],
[['0.22.0'], '0.22.0', '0.21.0', true],
[['0.22.0'], '0.22.0', '0.22.0-rc.1', true],
[['0.22.0'], '0.22.0', '0.22.0', false],
[['0.22.0'], '0.22.0', '0.22.1', false],
[['0.22.0'], '0.22.0', '0.23.0', false],
[['0.22.0'], '0.22.0', '1.0.0', false],
[['0.22.0'], '0.22.0', '2021.1.100', false],
[['0.22.0'], '0.22.0-rc.2', '0.0.0', true],
[['0.22.0'], '0.22.0-rc.2', '0.21.0-rc.1', true],
[['0.22.0'], '0.22.0-rc.2', '0.21.0', true],
[['0.22.0'], '0.22.0-rc.2', '0.22.0-rc.1', true],
[['0.22.0'], '0.22.0-rc.2', '0.22.0-rc.2', false],
[['0.22.0'], '0.22.0-rc.2', '0.22.0-rc.3', true],
[['0.22.0'], '0.22.0-rc.2', '0.22.0', true],
[['0.22.0'], '0.22.0-rc.2', '0.22.1', false],
[['0.22.0'], '0.22.0-rc.2', '0.23.0', false],
[['0.22.0'], '0.22.0-rc.2', '1.0.0', false],
[['0.22.0'], '0.22.0-rc.2', '2021.1.100', false],
[['0.22.0'], '0.22.1', '0.0.0', false],
[['0.22.0'], '0.22.1', '0.21.0-rc.1', false],
[['0.22.0'], '0.22.1', '0.21.0', false],
[['0.22.0'], '0.22.1', '0.22.0-rc.1', false],
[['0.22.0'], '0.22.1', '0.22.0', false],
[['0.22.0'], '0.22.1', '0.23.0', false],
[['0.22.0'], '0.22.1', '1.0.0', false],
[['0.22.0'], '0.22.1', '2021.1.100', false]
];
testCases.forEach((c: testCase) => {
const [showVersions, newVersion, oldVersion, expected] = c;
test(`shouldShowGoWelcomePage(${JSON.stringify(showVersions)}, ${newVersion}, ${oldVersion})`, () => {
assert.strictEqual(shouldShowGoWelcomePage(showVersions, newVersion, oldVersion), expected);
});
});
});