static fn (): bool => true, 'B' => static fn (): bool => false, 'C' => static function (): bool { throw new RuntimeException('Divi changed'); }, ]); self::assertSame(['B', 'C'], $compatibility->problems()); } public function testDefaultsCoverTheDiviInternalsInUse(): void { self::assertSame( [ 'ModuleRegistration (Modul-Katalog)', 'DynamicContentOptions (Dynamic Content)', 'et_pb_is_allowed (Divi-Rollen)', 'Post-Typ et_pb_layout (Bibliothek)', 'Taxonomien scope, layout_type, module_width (Bibliothek)', 'GlobalLayout::is_global_layout_template (globale Module)', 'ET_Core_PageResource (CSS-Cache)', 'et_theme_builder_clear_wp_cache (Theme-Builder-Cache)', 'Block-Typ divi/global-layout (Instanzen globaler Module)', 'Taxonomien layout_category, layout_tag (Bibliothek)', 'Theme Builder: Funktionen et_theme_builder_* und et_()', 'Theme Builder: Post-Typen et_template und Layouts', ], array_keys(DiviCompatibility::defaults()) ); } public function testChecksTheThemeBuilderInternals(): void { $labels = array_keys(DiviCompatibility::defaults()); self::assertContains('Theme Builder: Funktionen et_theme_builder_* und et_()', $labels); self::assertContains('Theme Builder: Post-Typen et_template und Layouts', $labels); } }