classUtf8
final class Utf8
Reads UTF-8 scalar encodings, including the ASCII and three-byte subsets.
Methods§
public function valid(string $bytes, int $maximumWidth = 4): boolRejects truncation, isolated continuation bytes, overlong forms, surrogates and out-of-range scalars.
Parameters
$bytes | string | |
$maximumWidth | int |
Returns
boolTest cases 32
Utf8Test::testValidReadsFourByteScalarsByDefaultcovers and callsUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimitscallsUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#0coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#1coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#10coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#11coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#12coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#13coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#14coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#15coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#16coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#17coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#18coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#19coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#2coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#20coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#21coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#22coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#23coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#24coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#25coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#26coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#27coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#28coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#29coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#3coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#4coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#5coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#6coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#7coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#8coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#9covers
Called from 3
- method-call SqlFaker\MySql\Generation\Lexeme\CharsetLexemeGenerator::accepts() packages/sql-faker/src/MySql/Generation/Lexeme/CharsetLexemeGenerator.php:71
- method-call SqlFaker\MySql\Generation\Lexeme\CharsetLexemeGenerator::accepts() packages/sql-faker/src/MySql/Generation/Lexeme/CharsetLexemeGenerator.php:72
- method-call SqlFaker\MySql\Generation\Lexeme\CharsetLexemeGenerator::accepts() packages/sql-faker/src/MySql/Generation/Lexeme/CharsetLexemeGenerator.php:73
Calls 3
- function-call
strlenline 17 - function-call
ordline 18 - method-call Utf8::width() line 22
public function width(int<0, 255> $lead): intClassifies a UTF-8 leading byte; zero denotes an invalid lead or a continuation byte.
Parameters
$lead | int<0, 255> |
Returns
intTest cases 29
Utf8Test::testValidReadsFourByteScalarsByDefaultcoversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#10coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#11coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#12coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#13coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#14coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#15coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#17coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#18coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#19coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#2coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#20coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#21coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#22coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#23coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#24coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#25coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#26coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#27coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#28coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#29coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#3coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#4coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#5coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#6coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#7coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#8coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#9coversUtf8Test::testWidthClassifiesLeadingByteBoundariescovers and calls
Called from 1
Test cases 43§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 33
Utf8Test::testValidReadsFourByteScalarsByDefaultcovers and callsUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimitscallsUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#0coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#1coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#10coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#11coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#12coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#13coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#14coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#15coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#16coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#17coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#18coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#19coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#2coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#20coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#21coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#22coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#23coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#24coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#25coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#26coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#27coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#28coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#29coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#3coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#4coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#5coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#6coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#7coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#8coversUtf8Test::testValidRecognizesScalarBoundariesAndWidthLimits#9coversUtf8Test::testWidthClassifiesLeadingByteBoundariescovers and calls
Other tests reaching this symbol 10
LexicalExceptionTestcallsGenerationContextTestcallsCharsetLexemeGeneratorTestcallsCharsetValueLexemeGeneratorTestcallsDefinitionFactoryTestcallsLexicalGrammarTestcallsMySqlProviderTestcallsPostgreSqlProviderTestcallsSqlGeneratorFactoryTestcallsSqliteProviderTestcalls
Relations§
Instantiated in 3
- new SqlFaker\MySql\Generation\Lexeme\CharsetLexemeGenerator::accepts() packages/sql-faker/src/MySql/Generation/Lexeme/CharsetLexemeGenerator.php:71
- new SqlFaker\MySql\Generation\Lexeme\CharsetLexemeGenerator::accepts() packages/sql-faker/src/MySql/Generation/Lexeme/CharsetLexemeGenerator.php:72
- new SqlFaker\MySql\Generation\Lexeme\CharsetLexemeGenerator::accepts() packages/sql-faker/src/MySql/Generation/Lexeme/CharsetLexemeGenerator.php:73
Method calls 3
- method-call SqlFaker\MySql\Generation\Lexeme\CharsetLexemeGenerator::accepts() packages/sql-faker/src/MySql/Generation/Lexeme/CharsetLexemeGenerator.php:71
- method-call SqlFaker\MySql\Generation\Lexeme\CharsetLexemeGenerator::accepts() packages/sql-faker/src/MySql/Generation/Lexeme/CharsetLexemeGenerator.php:72
- method-call SqlFaker\MySql\Generation\Lexeme\CharsetLexemeGenerator::accepts() packages/sql-faker/src/MySql/Generation/Lexeme/CharsetLexemeGenerator.php:73