zulip/web/tests/gear_menu_util.test.cjs

71 lines
3.3 KiB
JavaScript

"use strict";
const assert = require("node:assert/strict");
const {zrequire} = require("./lib/namespace.cjs");
const {run_test} = require("./lib/test.cjs");
const gear_menu_util = zrequire("gear_menu_util");
const {set_realm} = zrequire("state_data");
const realm = {};
set_realm(realm);
run_test("version_display_string", ({override}) => {
let expected_version_display_string;
// An official release
override(realm, "zulip_version", "5.6");
override(realm, "zulip_merge_base", "5.6");
expected_version_display_string = "translated: Zulip Server 5.6";
assert.equal(gear_menu_util.version_display_string(), expected_version_display_string);
// An official beta
override(realm, "zulip_version", "6.0-beta1");
override(realm, "zulip_merge_base", "6.0-beta1");
expected_version_display_string = "translated: Zulip Server 6.0-beta1";
assert.equal(gear_menu_util.version_display_string(), expected_version_display_string);
// An official release candidate
override(realm, "zulip_version", "6.0-rc1");
override(realm, "zulip_merge_base", "6.0-rc1");
expected_version_display_string = "translated: Zulip Server 6.0-rc1";
assert.equal(gear_menu_util.version_display_string(), expected_version_display_string);
// The Zulip development environment
override(realm, "zulip_version", "6.0-dev+git");
override(realm, "zulip_merge_base", "6.0-dev+git");
expected_version_display_string = "translated: Zulip Server dev environment";
assert.equal(gear_menu_util.version_display_string(), expected_version_display_string);
// A commit on Zulip's main branch.
override(realm, "zulip_version", "6.0-dev-1976-g4bb381fc80");
override(realm, "zulip_merge_base", "6.0-dev-1976-g4bb381fc80");
expected_version_display_string = "translated: Zulip Server 6.0-dev";
assert.equal(gear_menu_util.version_display_string(), expected_version_display_string);
// A fork with 18 commits beyond Zulip's main branch.
override(realm, "zulip_version", "6.0-dev-1994-g93730766b0");
override(realm, "zulip_merge_base", "6.0-dev-1976-g4bb381fc80");
expected_version_display_string = "translated: Zulip Server 6.0-dev (modified)";
assert.equal(gear_menu_util.version_display_string(), expected_version_display_string);
// A commit from the Zulip 5.x branch
override(realm, "zulip_version", "5.6+git-4-g385a408be5");
override(realm, "zulip_merge_base", "5.6+git-4-g385a408be5");
expected_version_display_string = "translated: Zulip Server 5.6 (patched)";
assert.equal(gear_menu_util.version_display_string(), expected_version_display_string);
// A fork with 3 commits beyond the Zulip 5.x branch.
override(realm, "zulip_version", "5.6+git-4-g385a408be5");
override(realm, "zulip_merge_base", "5.6+git-7-abcda4235c2");
expected_version_display_string = "translated: Zulip Server 5.6 (modified)";
assert.equal(gear_menu_util.version_display_string(), expected_version_display_string);
// A fork of a Zulip release commit, not on 5.x branch.
override(realm, "zulip_version", "5.3-1-g7ed896c0db");
override(realm, "zulip_merge_base", "5.3");
expected_version_display_string = "translated: Zulip Server 5.3 (modified)";
assert.equal(gear_menu_util.version_display_string(), expected_version_display_string);
});