import { test } from 'node:test' import assert from 'node:assert/strict' import { resolveAssetUrl } from '@/shared' // 服务端上传接口返回的路径已带 /uploads/ 前缀,这里主要保证手填的历史值也能加载。 test('resolveAssetUrl 原样保留已带前缀的路径与绝对地址', () => { assert.equal(resolveAssetUrl('/uploads/a.png'), '/uploads/a.png') assert.equal(resolveAssetUrl('https://cdn.example.com/a.png'), 'https://cdn.example.com/a.png') assert.equal(resolveAssetUrl('HTTP://cdn.example.com/a.png'), 'HTTP://cdn.example.com/a.png') assert.equal(resolveAssetUrl('data:image/png;base64,AAAA'), 'data:image/png;base64,AAAA') }) test('resolveAssetUrl 给相对路径补上前导斜杠', () => { assert.equal(resolveAssetUrl('uploads/a.png'), '/uploads/a.png') assert.equal(resolveAssetUrl('logos/team1.png'), '/logos/team1.png') assert.equal(resolveAssetUrl(' logos/team1.png '), '/logos/team1.png') }) // 空值必须返回空串:调用方据此判断「不渲染缩略图」,而不是给出一个坏掉的 。 test('resolveAssetUrl 对空值返回空串', () => { assert.equal(resolveAssetUrl(null), '') assert.equal(resolveAssetUrl(undefined), '') assert.equal(resolveAssetUrl(' '), '') })