Label and entry of each caller. */ public static function callers(): array { return [ 'library entry (GlobalEdits)' => ['Bibliothekseintrag 1059', 'des Bibliothekseintrags'], 'Theme Builder layout (ThemeBuilderEdits)' => ['Theme-Builder-Layout 1062', 'des Theme-Builder-Layouts'], 'page (lit/library-make-global)' => ['Seite 8', 'der Seite'], ]; } /** @dataProvider callers */ public function testTheBackupRefusalsNameTheEntryAndTheCallersHint(string $label, string $entry): void { $post = new WP_Post(['ID' => 1]); Functions\when('wp_revisions_enabled')->justReturn(false); Functions\when('current_user_can')->alias(static fn (string $cap): bool => $cap !== 'unfiltered_html'); $visible = new VisibleEdits(static fn (WP_Post $post): int => 1071, static fn (): bool => false); $unfaithful = $visible->backupRefusal($post, $label, 'Was stattdessen.'); self::assertToolError($unfaithful, 'unsupported'); self::assertSame(sprintf(self::UNFAITHFUL, $label), Errors::clientMessage($unfaithful)); self::assertSame('Was stattdessen.', $unfaithful->get_error_data()['hint']); Functions\when('current_user_can')->justReturn(true); $noTrash = $visible->backupRefusal($post, $label, 'Was stattdessen.'); self::assertSame(sprintf(self::NO_TRASH, $label), Errors::clientMessage($noTrash)); self::assertSame('Was stattdessen.', $noTrash->get_error_data()['hint']); Functions\when('wp_revisions_enabled')->justReturn(true); self::assertNull($visible->backupRefusal($post, $label, 'Was stattdessen.')); } /** @dataProvider callers */ public function testAFailureAfterTheBackupNamesItAndTheEntry(string $label, string $entry): void { $rolledBack = VisibleEdits::keepingBackup(WriteFailed::rolledBack('Grund.'), 1071, $entry)->toError(); self::assertToolError($rolledBack, 'write_failed'); self::assertSame( 'Speichern fehlgeschlagen: Grund. ' . Errors::notSavedKeeping('Sicherung 1071 im Papierkorb'), Errors::clientMessage($rolledBack) ); self::assertSame(self::keptRolledBack(1071, $entry), $rolledBack->get_error_data()['hint']); self::assertSame(1071, $rolledBack->get_error_data()['backup_id']); $partial = VisibleEdits::keepingBackup(WriteFailed::partial('Grund.', postId: 5), 1071, $entry)->toError(); self::assertToolError($partial, 'partial_write'); self::assertSame(self::keptPartial(1071, $entry), $partial->get_error_data()['hint']); self::assertSame(1071, $partial->get_error_data()['backup_id']); $withoutBackup = WriteFailed::rolledBack('Grund.'); self::assertSame($withoutBackup, VisibleEdits::keepingBackup($withoutBackup, null, $entry)); } }