[lang-ref] ( string_split_lines ) ( php )
<?php
#[DataProvider('dataProviderStringSplitLinesAlternative')]
public function testStringSplitLinesAlternative1(string $text, int $count): void
{
$lines = preg_split('/\r?\n/', $text);
$this->assertNotFalse($lines);
$this->assertCount($count, $lines);
}
public static function dataProviderStringSplitLinesAlternative(): array
{
return [
'no trailing newline' => ["aa\nbb\ncc", 3],
'trailing newline creates empty item' => ["aa\nbb\ncc\n", 4],
'two trailing newlines create two empty items' => ["aa\nbb\ncc\n\n", 5],
'leading newline is kept' => ["\naa\nbb\ncc", 4],
'middle blank line is kept' => ["aa\n\nbb\ncc", 4],
];
}