155 lines
3.3 KiB
TypeScript
155 lines
3.3 KiB
TypeScript
|
import {
|
||
|
cleanCodeBlock,
|
||
|
emojiPng,
|
||
|
isImage,
|
||
|
removeExtension,
|
||
|
splitFilenameExtensions,
|
||
|
} from "../../src/utils/misc";
|
||
|
|
||
|
import { describe, it } from "node:test";
|
||
|
import assert from "node:assert/strict";
|
||
|
|
||
|
describe("Filename splitter", () => {
|
||
|
{
|
||
|
const name = "test.js";
|
||
|
it(name, () => {
|
||
|
assert.deepStrictEqual(splitFilenameExtensions(name), { file: "test", ext: "js" });
|
||
|
});
|
||
|
}
|
||
|
{
|
||
|
const name = ".env";
|
||
|
it(name, () => {
|
||
|
assert.deepStrictEqual(splitFilenameExtensions(name), { file: ".env", ext: undefined });
|
||
|
});
|
||
|
}
|
||
|
{
|
||
|
const name = ".env.test";
|
||
|
it(name, () => {
|
||
|
assert.deepStrictEqual(splitFilenameExtensions(name), { file: ".env", ext: "test" });
|
||
|
});
|
||
|
}
|
||
|
{
|
||
|
const name = "file.test.js";
|
||
|
it(name, () => {
|
||
|
assert.deepStrictEqual(splitFilenameExtensions(name), { file: "file.test", ext: "js" });
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
describe("Extension remover", () => {
|
||
|
{
|
||
|
const name = "test.js";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(removeExtension(name), "test");
|
||
|
});
|
||
|
}
|
||
|
{
|
||
|
const name = ".env";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(removeExtension(name), ".env");
|
||
|
});
|
||
|
}
|
||
|
{
|
||
|
const name = ".env.test";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(removeExtension(name), ".env");
|
||
|
});
|
||
|
}
|
||
|
{
|
||
|
const name = "file.test.js";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(removeExtension(name), "file.test");
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
describe("Image checker", () => {
|
||
|
{
|
||
|
const name = "image.Png";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(isImage(name), true);
|
||
|
});
|
||
|
}
|
||
|
{
|
||
|
const name = "image.jpeg";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(isImage(name), true);
|
||
|
});
|
||
|
}
|
||
|
{
|
||
|
const name = "image.wav";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(isImage(name), false);
|
||
|
});
|
||
|
}
|
||
|
{
|
||
|
const name = "image.jpg";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(isImage(name), true);
|
||
|
});
|
||
|
}
|
||
|
{
|
||
|
const name = "image.webP";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(isImage(name), true);
|
||
|
});
|
||
|
}
|
||
|
{
|
||
|
const name = "image.GIF";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(isImage(name), true);
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
describe("Code block cleaner", () => {
|
||
|
{
|
||
|
const name = "salut";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(cleanCodeBlock(name), "`salut`");
|
||
|
});
|
||
|
}
|
||
|
{
|
||
|
const name = "<@158260864623968257> ça va ?";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(cleanCodeBlock(name), "<@158260864623968257>` ça va ?`");
|
||
|
});
|
||
|
}
|
||
|
{
|
||
|
const name = "t'as vu la vidéo ? https://youtu.be/dQw4w9WgXcQ";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(cleanCodeBlock(name), "`t'as vu la vidéo ? `https://youtu.be/dQw4w9WgXcQ");
|
||
|
});
|
||
|
}
|
||
|
{
|
||
|
const name = "t'as vu la vidéo ? https://youtu.be/dQw4w9WgXcQ elle est cool en vrai tqt";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(
|
||
|
cleanCodeBlock(name),
|
||
|
"`t'as vu la vidéo ? `https://youtu.be/dQw4w9WgXcQ` elle est cool en vrai tqt`",
|
||
|
);
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
describe("Emoji to link", () => {
|
||
|
{
|
||
|
const name = "☺️";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(
|
||
|
emojiPng(name),
|
||
|
"https://cdn.jsdelivr.net/gh/twitter/twemoji/assets/72x72/263a.png",
|
||
|
);
|
||
|
});
|
||
|
}
|
||
|
{
|
||
|
const name = "🍕";
|
||
|
it(name, () => {
|
||
|
assert.strictEqual(
|
||
|
emojiPng(name),
|
||
|
"https://cdn.jsdelivr.net/gh/twitter/twemoji/assets/72x72/1f355.png",
|
||
|
);
|
||
|
});
|
||
|
}
|
||
|
});
|