From 3828a8178961760f653354fb77184cc55ed8ad62 Mon Sep 17 00:00:00 2001 From: Awilum Date: Thu, 5 May 2022 07:18:17 +0300 Subject: [PATCH] feat(shortcodes): `[strings]` shortcode - add `contains` modifier --- src/flextype/core/Parsers/Shortcodes/StringsShortcode.php | 4 ++++ .../flextype/core/Parsers/Shortcodes/StringsShortcodeTest.php | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/flextype/core/Parsers/Shortcodes/StringsShortcode.php b/src/flextype/core/Parsers/Shortcodes/StringsShortcode.php index 838e2124..1bfbed34 100644 --- a/src/flextype/core/Parsers/Shortcodes/StringsShortcode.php +++ b/src/flextype/core/Parsers/Shortcodes/StringsShortcode.php @@ -112,6 +112,10 @@ parsers()->shortcodes()->addHandler('strings', static function (ShortcodeInterfa if ($key == 'charsFrequency') { $content = serializers()->json()->encode(strings($content)->{'charsFrequency'}()); } + + if ($key == 'contains') { + $content = strings($content)->{'contains'}(isset($values[0]) ? (string) $values[0] : '', isset($values[1]) ? (bool) $values[1] : true) ? "true" : "false"; + } } return (string) $content; diff --git a/tests/src/flextype/core/Parsers/Shortcodes/StringsShortcodeTest.php b/tests/src/flextype/core/Parsers/Shortcodes/StringsShortcodeTest.php index 5c590f15..b3696dcf 100644 --- a/tests/src/flextype/core/Parsers/Shortcodes/StringsShortcodeTest.php +++ b/tests/src/flextype/core/Parsers/Shortcodes/StringsShortcodeTest.php @@ -61,4 +61,8 @@ test('[strings] shortcode', function () { // charsFrequency $this->assertEquals('{"_":"16.67","a":"11.11","p":"11.11","c":"5.56","r":"5.56","f":"5.56","ò":"5.56","ô":"5.56","b":"5.56","à":"5.56","ř":"5.56","s":"5.56","l":"5.56","e":"5.56"}', parsers()->shortcodes()->parse('[strings charsFrequency]car_fòô_bàřs_apple[/strings]')); + // contains + $this->assertEquals("true", parsers()->shortcodes()->parse('[strings contains=SG-1]SG-1 returns from an off-world mission to P9Y-3C3[/strings]')); + $this->assertEquals("false", parsers()->shortcodes()->parse('[strings contains=sg-1|false]SG-1 returns from an off-world mission to P9Y-3C3[/strings]')); + }); \ No newline at end of file