toBe(6) ->and(PhpSource::position($source, "guard(\$path, 'line literal')"))->toBeFalse(); }); test('PHP source contracts reject text in comments or quoted strings', function () { $source = 'toBe(0); }); test('PHP source contracts retain argument order and original byte offsets', function () { $source = "toBe(1) ->and(PhpSource::position($source, 'guard($base, $path)'))->toBe(strrpos($source, 'guard')); }); test('PHP whitespace normalization preserves literal contents and removes comment-only contracts', function () { $source = 'toContain('"one two\\n"'); expect($normalized)->not->toContain('comment only'); expect($normalized)->toContain('db_qstr( $value );'); });