diff --git a/packages/frontend/workspace/src/blob/__tests__/util.spec.ts b/packages/frontend/workspace/src/blob/__tests__/util.spec.ts new file mode 100644 index 0000000000..1b3e0fe20a --- /dev/null +++ b/packages/frontend/workspace/src/blob/__tests__/util.spec.ts @@ -0,0 +1,13 @@ +import { Buffer } from 'node:buffer'; + +import { describe, expect, test } from 'vitest'; + +import { isSvgBuffer } from '../util'; + +describe('isSvgBuffer', () => { + test('basic', async () => { + expect(isSvgBuffer(Buffer.from(''))).toBe(true); + expect(isSvgBuffer(Buffer.from(' \n\r\t'))).toBe(true); + expect(isSvgBuffer(Buffer.from('<123>'))).toBe(false); + }); +}); diff --git a/packages/frontend/workspace/src/blob/util.ts b/packages/frontend/workspace/src/blob/util.ts index e5c206b1fe..2ff1d9e1e7 100644 --- a/packages/frontend/workspace/src/blob/util.ts +++ b/packages/frontend/workspace/src/blob/util.ts @@ -1,8 +1,39 @@ import isSvg from 'is-svg'; +function fastCheckIsNotSvg(buffer: Uint8Array) { + // check first non-whitespace character is not '