blob: 9646bcd61cbb7ffb904629237a99474581322c69 [file] [log] [blame]
Dmitrii Filippov06117e82020-06-25 13:26:55 +02001/**
2 * @license
Ben Rohlfs94fcbbc2022-05-27 10:45:03 +02003 * Copyright 2019 Google LLC
4 * SPDX-License-Identifier: Apache-2.0
Dmitrii Filippov06117e82020-06-25 13:26:55 +02005 */
Frank Bordenbe9451a2022-09-12 15:44:29 +02006import '../../../test/common-test-setup';
frankborden2@gmail.comc7b77432021-09-03 17:05:24 +02007import './gr-js-api-interface';
8import {getPluginNameFromUrl} from './gr-api-utils';
Frank Bordene1ba8212022-08-29 15:20:01 +02009import {assert} from '@open-wc/testing';
Dmitrii Filippov4235b432020-04-06 17:21:09 +020010
Dmitrii Filippovdaf0ec92020-03-17 11:27:28 +010011suite('gr-api-utils tests', () => {
12 suite('test getPluginNameFromUrl', () => {
Dmitrii Filippovdaf0ec92020-03-17 11:27:28 +010013 test('with empty string', () => {
14 assert.equal(getPluginNameFromUrl(''), null);
15 });
Tao Zhouc1d182d2019-10-15 10:23:22 +020016
Dmitrii Filippovdaf0ec92020-03-17 11:27:28 +010017 test('with invalid url', () => {
18 assert.equal(getPluginNameFromUrl('test'), null);
19 });
Tao Zhouc1d182d2019-10-15 10:23:22 +020020
Dmitrii Filippovdaf0ec92020-03-17 11:27:28 +010021 test('with random invalid url', () => {
22 assert.equal(getPluginNameFromUrl('http://example.com'), null);
23 assert.equal(
frankborden2@gmail.comc7b77432021-09-03 17:05:24 +020024 getPluginNameFromUrl('http://example.com/static/a.js'),
25 null
Dmitrii Filippovdaf0ec92020-03-17 11:27:28 +010026 );
27 });
Tao Zhouc1d182d2019-10-15 10:23:22 +020028
Dmitrii Filippovdaf0ec92020-03-17 11:27:28 +010029 test('with valid urls', () => {
30 assert.equal(
frankborden2@gmail.comc7b77432021-09-03 17:05:24 +020031 getPluginNameFromUrl('http://example.com/plugins/a.js'),
32 'a'
Dmitrii Filippovdaf0ec92020-03-17 11:27:28 +010033 );
34 assert.equal(
frankborden2@gmail.comc7b77432021-09-03 17:05:24 +020035 getPluginNameFromUrl('http://example.com/plugins/a/static/t.js'),
36 'a'
Dmitrii Filippovdaf0ec92020-03-17 11:27:28 +010037 );
38 });
Tao Zhouc1d182d2019-10-15 10:23:22 +020039
Dmitrii Filippovdaf0ec92020-03-17 11:27:28 +010040 test('with gerrit-theme override', () => {
41 assert.equal(
frankborden2@gmail.comc7b77432021-09-03 17:05:24 +020042 getPluginNameFromUrl('http://example.com/static/gerrit-theme.js'),
43 'gerrit-theme'
Dmitrii Filippovdaf0ec92020-03-17 11:27:28 +010044 );
45 });
Tao Zhou542096e2019-11-29 15:34:26 +010046
Dmitrii Filippovdaf0ec92020-03-17 11:27:28 +010047 test('with ASSETS_PATH', () => {
48 window.ASSETS_PATH = 'http://cdn.com/2';
49 assert.equal(
frankborden2@gmail.comc7b77432021-09-03 17:05:24 +020050 getPluginNameFromUrl(`${window.ASSETS_PATH}/plugins/a.js`),
51 'a'
Dmitrii Filippovdaf0ec92020-03-17 11:27:28 +010052 );
53 window.ASSETS_PATH = undefined;
Tao Zhouc1d182d2019-10-15 10:23:22 +020054 });
55 });
Dmitrii Filippovdaf0ec92020-03-17 11:27:28 +010056});