etherpad-lite/src/tests/backend/specs/admin_utils.ts
Helder Sepulveda 13e160cbe4
Clean comments (#6420)
* Add script to trigger test on utils

* Add new function to remove the comments from the settings file.
It reduces the size of the payload when we save on the admin page `.../admin/settings`

* Add     font-family: monospace; to the settings
2024-06-04 19:32:21 +02:00

38 lines
1.4 KiB
TypeScript

'use strict';
import {strict as assert} from "assert";
import {cleanComments, minify} from "../../../../admin/src/utils/utils.js";
const fs = require('fs');
const fsp = fs.promises;
let template:string;
describe(__filename, function () {
before(async function () {
template = await fsp.readFile('../settings.json.template', 'utf8')
});
describe('adminUtils', function () {
it('cleanComments function empty', async function () {
assert.equal(cleanComments(""), "");
});
it('cleanComments function HelloWorld no comment', async function () {
assert.equal(cleanComments("HelloWorld"), "HelloWorld");
});
it('cleanComments function HelloWorld with comment', async function () {
assert.equal(cleanComments("Hello/*abc*/World/*def*/"), "HelloWorld");
});
it('cleanComments function HelloWorld with comment and multiline', async function () {
assert.equal(cleanComments("Hello \n/*abc\nxyz*/World/*def*/"), "Hello\nWorld");
});
it('cleanComments function HelloWorld with multiple line breaks', async function () {
assert.equal(cleanComments(" \nHello \n \n \nWorld/*def*/"), "Hello\nWorld");
});
it('cleanComments function same after minified', async function () {
assert.equal(minify(template), minify(cleanComments(template)!));
});
it('minified results are smaller', async function () {
assert.equal(minify(template).length < template.length, true);
});
});
});