diff --git a/docs/component/str-grapheme.md b/docs/component/str-grapheme.md index bb505d06..ed3957be 100644 --- a/docs/component/str-grapheme.md +++ b/docs/component/str-grapheme.md @@ -25,6 +25,7 @@ - [ends_with](./../../src/Psl/Str/Grapheme/ends_with.php#L17) - [ends_with_ci](./../../src/Psl/Str/Grapheme/ends_with_ci.php#L17) - [length](./../../src/Psl/Str/Grapheme/length.php#L19) +- [reverse](./../../src/Psl/Str/Grapheme/reverse.php#L15) - [search](./../../src/Psl/Str/Grapheme/search.php#L24) - [search_ci](./../../src/Psl/Str/Grapheme/search_ci.php#L24) - [search_last](./../../src/Psl/Str/Grapheme/search_last.php#L25) diff --git a/src/Psl/Internal/Loader.php b/src/Psl/Internal/Loader.php index 398d7f09..bfee6877 100644 --- a/src/Psl/Internal/Loader.php +++ b/src/Psl/Internal/Loader.php @@ -456,6 +456,7 @@ final class Loader 'Psl\Str\Grapheme\ends_with', 'Psl\Str\Grapheme\ends_with_ci', 'Psl\Str\Grapheme\length', + 'Psl\Str\Grapheme\reverse', 'Psl\Str\Grapheme\search', 'Psl\Str\Grapheme\search_ci', 'Psl\Str\Grapheme\search_last', diff --git a/src/Psl/Str/Grapheme/reverse.php b/src/Psl/Str/Grapheme/reverse.php new file mode 100644 index 00000000..3d3cba4c --- /dev/null +++ b/src/Psl/Str/Grapheme/reverse.php @@ -0,0 +1,25 @@ + 0) { + $reversed .= slice($string, $offset, 1); + } + + return $reversed; +} diff --git a/tests/unit/Str/Grapheme/ReverseTest.php b/tests/unit/Str/Grapheme/ReverseTest.php new file mode 100644 index 00000000..f358660d --- /dev/null +++ b/tests/unit/Str/Grapheme/ReverseTest.php @@ -0,0 +1,41 @@ +expectException(Exception\InvariantViolationException::class); + Grapheme\reverse($string); + } +}