Commit 15683a58 authored by Kim, Hyeonseo's avatar Kim, Hyeonseo
Browse files

Add test for getAsciiArt

parent c59d53a2
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
import { assertEquals } from "@std/assert";
import fetchMock from "fetch-mock";
import { getFaviconUrl, rgbTo256Color } from "./node.ts";
import { getAsciiArt, getFaviconUrl, Jimp, rgbTo256Color } from "./node.ts";

const HTML_WITH_SMALL_ICON = `
<!DOCTYPE html>
@@ -153,3 +153,16 @@ Deno.test("rgbTo256Color - check grayscale", () => {
  );
  assertEquals(results, EXPECTED_GRAY_IDX);
});

Deno.test("getAsciiArt - Darkest Letter", () => {
  // Create black and white 1x1 images using Jimp constructor
  const blackImage = new Jimp({ width: 1, height: 1, color: 0x000000ff });

  const blackResult = getAsciiArt(
    blackImage as unknown as Parameters<typeof getAsciiArt>[0],
    1,
    true,
  );

  assertEquals(blackResult.includes(""), true);
});
+2 −2
Original line number Diff line number Diff line
@@ -253,7 +253,7 @@ export async function getFaviconUrl(
  return new URL("/favicon.ico", response.url);
}

const Jimp = createJimp({
export const Jimp = createJimp({
  formats: [...defaultFormats, webp],
  plugins: defaultPlugins,
});
@@ -323,7 +323,7 @@ export function rgbTo256Color(r: number, g: number, b: number): number {
  return 16 + (36 * r6) + (6 * g6) + b6;
}

function getAsciiArt(
export function getAsciiArt(
  image: Awaited<ReturnType<typeof Jimp.read>>,
  width = DEFAULT_IMAGE_WIDTH,
  trueColorSupport: boolean,