Workers P3-Endprüfung W2: Kopieren & öffnen meldet ein gescheitertes Kopieren ehrlich
copyTextChecked erfüllt nur, wenn der Text wirklich in der Zwischenablage liegt (Clipboard-API, sonst Notweg mit document.execCommand, dessen Rückgabewert jetzt geprüft wird; das Textfeld wird immer entfernt). copyText bleibt für die Kundenansicht die verschluckende Hülle. Das Pult nimmt die strenge Fassung, sodass die Zeile statt "Kopiert und geöffnet." den Hinweis zum Kopieren von Hand zeigt. Die Reihenfolge Kopieren vor Öffnen bleibt (Nutzer-Geste). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2b2b45a0c7
commit
f6099938d8
4 files changed
+202
-12
No files matched your search
@@ -34,7 +34,7 @@ test('PultList: Aktionen über pultAction, "Als gesendet" sendet den bearbeitete
|
||||
assert.match(s, /api\.pultAction\(row\.id, 'claim'\)/); assert.match(s, /api\.pultAction\(row\.id, 'sent', \{ text \}\)/)
|
||||
assert.match(s, /api\.pultAction\(row\.id, 'discard', \{\}\)/); assert.match(s, /api\.pultAction\(row\.id, 'done'\)/)
|
||||
// Kopieren & öffnen: Text ist der Inhalt des Textfelds (nicht row.copyText), das Öffnen geschieht ohne Referrer und ohne Rückbezug
|
||||
assert.match(s, /copyAndOpen\(\{ text, url: row\.sourceHref, copy: copyText, open: openTab \}\)/)
|
||||
assert.match(s, /copyAndOpen\(\{ text, url: row\.sourceHref, copy: copyTextChecked, open: openTab \}\)/)
|
||||
assert.match(s, /window\.open\(url, '_blank', 'noopener,noreferrer'\)/)
|
||||
assert.match(s, /Wirklich verwerfen\?/); assert.match(s, /CONFIRM_MS = 4000/)
|
||||
for (const t of ['Kopieren & öffnen', 'Ich kümmere mich', 'Als gesendet markieren', 'Verwerfen', 'Erledigt', 'Originalanfrage', 'Nichts wartet auf dich', 'Details']) assert.ok(s.includes(t), t)
|
||||
@@ -277,7 +277,7 @@ test('usePultFeed: nach dem Abbau setzt eine späte Antwort nichts mehr', async
|
||||
const STUBS = {
|
||||
usePultFeed: 'export function usePultFeed() { return globalThis.__pultFeed }',
|
||||
useEmployees: 'export function useEmployees() { return { employees: globalThis.__pultEmployees ?? [] } }',
|
||||
CopyableCredential: 'export async function copyText() {}',
|
||||
CopyableCredential: 'export async function copyTextChecked() {}',
|
||||
}
|
||||
|
||||
async function loadList() {
|
||||
|
||||
Reference in new issue
Block a user