Skip to content

Refactor DMLQueryBuilder #1076

Refactor DMLQueryBuilder

Refactor DMLQueryBuilder #1076

Triggered via pull request August 19, 2023 10:45
Status Success
Total duration 24m 40s
Artifacts

mutation.yml

on: pull_request
Matrix: mutation
Fit to window
Zoom out
Zoom in

Annotations

20 warnings
PHP 8-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L127
Escaped Mutant for Mutator "MethodCallRemoval": --- Original +++ New @@ @@ $this->buffer .= $this->substring(1); $this->advance(1); } - $this->addTokenFromBuffer(); + if ($token->getHasChildren() && $token[-1] instanceof SqlToken && !$token[-1]->getHasChildren()) { unset($token[-1]); }
PHP 8-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L279
Escaped Mutant for Mutator "ConcatOperandRemoval": --- Original +++ New @@ @@ if ($offset + $length > $this->length) { return ''; } - $cacheKey = $offset . ',' . $length; + $cacheKey = $offset . ','; if (!isset($this->substrings[$cacheKey . ',1'])) { $this->substrings[$cacheKey . ',1'] = mb_substr($this->sql, $offset, $length, 'UTF-8'); }
PHP 8-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L285
Escaped Mutant for Mutator "LogicalAnd": --- Original +++ New @@ @@ if (!isset($this->substrings[$cacheKey . ',1'])) { $this->substrings[$cacheKey . ',1'] = mb_substr($this->sql, $offset, $length, 'UTF-8'); } - if (!$caseSensitive && !isset($this->substrings[$cacheKey . ',0'])) { + if (!$caseSensitive || !isset($this->substrings[$cacheKey . ',0'])) { $this->substrings[$cacheKey . ',0'] = mb_strtoupper($this->substrings[$cacheKey . ',1'], 'UTF-8'); } return $this->substrings[$cacheKey . ',' . (int) $caseSensitive];
PHP 8-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L310
Escaped Mutant for Mutator "MBString": --- Original +++ New @@ @@ if ($offset + mb_strlen($string, 'UTF-8') > $this->length) { return $this->length; } - $afterIndexOf = mb_strpos($this->sql, $string, $offset, 'UTF-8'); + $afterIndexOf = strpos($this->sql, $string, $offset); if ($afterIndexOf === false) { $afterIndexOf = $this->length; } else {
PHP 8-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L315
Escaped Mutant for Mutator "MBString": --- Original +++ New @@ @@ if ($afterIndexOf === false) { $afterIndexOf = $this->length; } else { - $afterIndexOf += mb_strlen($string, 'UTF-8'); + $afterIndexOf += strlen($string); } return $afterIndexOf; }
PHP 8-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L333
Escaped Mutant for Mutator "MethodCallRemoval": --- Original +++ New @@ @@ if (!$isIdentifier && !$isStringLiteral) { return false; } - $this->addTokenFromBuffer(); + $this->currentToken[] = (new SqlToken())->type($isIdentifier ? SqlToken::TYPE_IDENTIFIER : SqlToken::TYPE_STRING_LITERAL)->content(is_string($content) ? $content : $this->substring($length))->startOffset($this->offset)->endOffset($this->offset + $length); return true; }
PHP 8-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L336
Escaped Mutant for Mutator "Ternary": --- Original +++ New @@ @@ return false; } $this->addTokenFromBuffer(); - $this->currentToken[] = (new SqlToken())->type($isIdentifier ? SqlToken::TYPE_IDENTIFIER : SqlToken::TYPE_STRING_LITERAL)->content(is_string($content) ? $content : $this->substring($length))->startOffset($this->offset)->endOffset($this->offset + $length); + $this->currentToken[] = (new SqlToken())->type($isIdentifier ? SqlToken::TYPE_STRING_LITERAL : SqlToken::TYPE_IDENTIFIER)->content(is_string($content) ? $content : $this->substring($length))->startOffset($this->offset)->endOffset($this->offset + $length); return true; } /**
PHP 8-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L337
Escaped Mutant for Mutator "Ternary": --- Original +++ New @@ @@ return false; } $this->addTokenFromBuffer(); - $this->currentToken[] = (new SqlToken())->type($isIdentifier ? SqlToken::TYPE_IDENTIFIER : SqlToken::TYPE_STRING_LITERAL)->content(is_string($content) ? $content : $this->substring($length))->startOffset($this->offset)->endOffset($this->offset + $length); + $this->currentToken[] = (new SqlToken())->type($isIdentifier ? SqlToken::TYPE_IDENTIFIER : SqlToken::TYPE_STRING_LITERAL)->content(is_string($content) ? $this->substring($length) : $content)->startOffset($this->offset)->endOffset($this->offset + $length); return true; } /**
PHP 8-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L341
Escaped Mutant for Mutator "TrueValue": --- Original +++ New @@ @@ } $this->addTokenFromBuffer(); $this->currentToken[] = (new SqlToken())->type($isIdentifier ? SqlToken::TYPE_IDENTIFIER : SqlToken::TYPE_STRING_LITERAL)->content(is_string($content) ? $content : $this->substring($length))->startOffset($this->offset)->endOffset($this->offset + $length); - return true; + return false; } /** * Determines whether there is an operator at the current offset and adds it to the token children.
PHP 8-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L359
Escaped Mutant for Mutator "Ternary": --- Original +++ New @@ @@ $this->addTokenFromBuffer(); switch ($this->substring($length)) { case '(': - $this->currentToken[] = (new SqlToken())->type(SqlToken::TYPE_OPERATOR)->content(is_string($content) ? $content : $this->substring($length))->startOffset($this->offset)->endOffset($this->offset + $length); + $this->currentToken[] = (new SqlToken())->type(SqlToken::TYPE_OPERATOR)->content(is_string($content) ? $this->substring($length) : $content)->startOffset($this->offset)->endOffset($this->offset + $length); $this->currentToken[] = (new SqlToken())->type(SqlToken::TYPE_PARENTHESIS); if ($this->currentToken[-1] !== null) { $this->tokenStack->push($this->currentToken[-1]);
PHP 8.1-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L127
Escaped Mutant for Mutator "MethodCallRemoval": --- Original +++ New @@ @@ $this->buffer .= $this->substring(1); $this->advance(1); } - $this->addTokenFromBuffer(); + if ($token->getHasChildren() && $token[-1] instanceof SqlToken && !$token[-1]->getHasChildren()) { unset($token[-1]); }
PHP 8.1-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L306
Escaped Mutant for Mutator "Plus": --- Original +++ New @@ @@ if ($offset === null) { $offset = $this->offset; } - if ($offset + mb_strlen($string, 'UTF-8') > $this->length) { + if ($offset - mb_strlen($string, 'UTF-8') > $this->length) { return $this->length; } $afterIndexOf = mb_strpos($this->sql, $string, $offset, 'UTF-8');
PHP 8.1-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L306
Escaped Mutant for Mutator "GreaterThan": --- Original +++ New @@ @@ if ($offset === null) { $offset = $this->offset; } - if ($offset + mb_strlen($string, 'UTF-8') > $this->length) { + if ($offset + mb_strlen($string, 'UTF-8') >= $this->length) { return $this->length; } $afterIndexOf = mb_strpos($this->sql, $string, $offset, 'UTF-8');
PHP 8.1-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L310
Escaped Mutant for Mutator "MBString": --- Original +++ New @@ @@ if ($offset + mb_strlen($string, 'UTF-8') > $this->length) { return $this->length; } - $afterIndexOf = mb_strpos($this->sql, $string, $offset, 'UTF-8'); + $afterIndexOf = strpos($this->sql, $string, $offset); if ($afterIndexOf === false) { $afterIndexOf = $this->length; } else {
PHP 8.1-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L315
Escaped Mutant for Mutator "MBString": --- Original +++ New @@ @@ if ($afterIndexOf === false) { $afterIndexOf = $this->length; } else { - $afterIndexOf += mb_strlen($string, 'UTF-8'); + $afterIndexOf += strlen($string); } return $afterIndexOf; }
PHP 8.1-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L333
Escaped Mutant for Mutator "MethodCallRemoval": --- Original +++ New @@ @@ if (!$isIdentifier && !$isStringLiteral) { return false; } - $this->addTokenFromBuffer(); + $this->currentToken[] = (new SqlToken())->type($isIdentifier ? SqlToken::TYPE_IDENTIFIER : SqlToken::TYPE_STRING_LITERAL)->content(is_string($content) ? $content : $this->substring($length))->startOffset($this->offset)->endOffset($this->offset + $length); return true; }
PHP 8.1-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L336
Escaped Mutant for Mutator "Ternary": --- Original +++ New @@ @@ return false; } $this->addTokenFromBuffer(); - $this->currentToken[] = (new SqlToken())->type($isIdentifier ? SqlToken::TYPE_IDENTIFIER : SqlToken::TYPE_STRING_LITERAL)->content(is_string($content) ? $content : $this->substring($length))->startOffset($this->offset)->endOffset($this->offset + $length); + $this->currentToken[] = (new SqlToken())->type($isIdentifier ? SqlToken::TYPE_STRING_LITERAL : SqlToken::TYPE_IDENTIFIER)->content(is_string($content) ? $content : $this->substring($length))->startOffset($this->offset)->endOffset($this->offset + $length); return true; } /**
PHP 8.1-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L337
Escaped Mutant for Mutator "Ternary": --- Original +++ New @@ @@ return false; } $this->addTokenFromBuffer(); - $this->currentToken[] = (new SqlToken())->type($isIdentifier ? SqlToken::TYPE_IDENTIFIER : SqlToken::TYPE_STRING_LITERAL)->content(is_string($content) ? $content : $this->substring($length))->startOffset($this->offset)->endOffset($this->offset + $length); + $this->currentToken[] = (new SqlToken())->type($isIdentifier ? SqlToken::TYPE_IDENTIFIER : SqlToken::TYPE_STRING_LITERAL)->content(is_string($content) ? $this->substring($length) : $content)->startOffset($this->offset)->endOffset($this->offset + $length); return true; } /**
PHP 8.1-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L341
Escaped Mutant for Mutator "TrueValue": --- Original +++ New @@ @@ } $this->addTokenFromBuffer(); $this->currentToken[] = (new SqlToken())->type($isIdentifier ? SqlToken::TYPE_IDENTIFIER : SqlToken::TYPE_STRING_LITERAL)->content(is_string($content) ? $content : $this->substring($length))->startOffset($this->offset)->endOffset($this->offset + $length); - return true; + return false; } /** * Determines whether there is an operator at the current offset and adds it to the token children.
PHP 8.1-sqlite-ubuntu-latest: src/AbstractTokenizer.php#L359
Escaped Mutant for Mutator "Ternary": --- Original +++ New @@ @@ $this->addTokenFromBuffer(); switch ($this->substring($length)) { case '(': - $this->currentToken[] = (new SqlToken())->type(SqlToken::TYPE_OPERATOR)->content(is_string($content) ? $content : $this->substring($length))->startOffset($this->offset)->endOffset($this->offset + $length); + $this->currentToken[] = (new SqlToken())->type(SqlToken::TYPE_OPERATOR)->content(is_string($content) ? $this->substring($length) : $content)->startOffset($this->offset)->endOffset($this->offset + $length); $this->currentToken[] = (new SqlToken())->type(SqlToken::TYPE_PARENTHESIS); if ($this->currentToken[-1] !== null) { $this->tokenStack->push($this->currentToken[-1]);