Add plain text clipboard transfers and refine input feedback

This commit is contained in:
2026-10-13 14:07:03 +09:00
parent af004a2942
commit 8a8df417aa
32 changed files with 1263 additions and 197 deletions

View File

@@ -0,0 +1,25 @@
import { test } from 'node:test';
import assert from 'node:assert/strict';
import { mayReadClipboardAutomatically } from '../../web/src/clipboardAccess.js';
test('클립보드 자동 읽기는 모바일 확인과 지원하지 않는 권한 API를 우회하지 않는다', async () => {
assert.equal(await mayReadClipboardAutomatically({}, true), false);
const nav = (state) => ({ permissions: { query: async () => ({ state }) } });
assert.equal(await mayReadClipboardAutomatically(nav('granted'), true), true);
assert.equal(await mayReadClipboardAutomatically(nav('prompt'), true), false);
assert.equal(await mayReadClipboardAutomatically(nav('denied'), false), false);
assert.equal(await mayReadClipboardAutomatically(nav('prompt'), false), true);
assert.equal(
await mayReadClipboardAutomatically(
{
permissions: {
query: async () => {
throw new TypeError('unsupported');
},
},
},
false,
),
false,
);
});