refactor: DiviTextSearch out of the replace-text ability (M2)
The SQL prefilter and the per-page hit computation move to DiviTextSearch; DiviPageLoader::loadWritable serves DiviWriter::page and the dry run; PostStatuses::NOT_CONTENT replaces the duplicated status list (same set, order in the SQL list only). The private log() wrapper is inlined. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
This commit is contained in:
@@ -83,4 +83,17 @@ final class DiviPageLoaderTest extends TestCase
|
||||
self::assertTrue($missed->isDiviLayout());
|
||||
self::assertToolError($loader->writable($missed), 'validation_failed');
|
||||
}
|
||||
|
||||
public function testLoadWritableCombinesLoadAndWritable(): void
|
||||
{
|
||||
$loader = new DiviPageLoader(DiviFixtures::schema());
|
||||
DiviFixtures::givenPost(DiviFixtures::markup('synthetic-basic.html'));
|
||||
self::assertInstanceOf(DiviPage::class, $loader->loadWritable(7));
|
||||
|
||||
DiviFixtures::givenPost(DiviFixtures::markup('synthetic-basic.html'), ['post_status' => 'trash']);
|
||||
self::assertToolError($loader->loadWritable(7), 'validation_failed');
|
||||
|
||||
DiviFixtures::givenPost("<!-- wp:paragraph -->\n<p>Gutenberg</p>\n<!-- /wp:paragraph -->");
|
||||
self::assertToolError($loader->loadWritable(7), 'unsupported');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user