From 60fb6855a18962052cc4134bf0454afdfa4a1c4c Mon Sep 17 00:00:00 2001 From: Rinsvent Date: Fri, 1 Apr 2022 22:12:12 +0700 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BA=D0=BE=D1=81=D1=8F=D0=BA=D0=B8=20=D0=94=D0=BE?= =?UTF-8?q?=D0=B0=D0=B1=D0=B2=D0=B8=D0=BB=20=D0=BF=D0=B5=D1=80=D0=B2=D1=8B?= =?UTF-8?q?=D0=B9=20=D1=80=D0=B0=D0=B1=D0=BE=D1=87=D0=B8=D0=B9=20=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Transformer.php | 9 ++++++--- tests/unit/TrimTransformTest.php | 30 ++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 tests/unit/TrimTransformTest.php diff --git a/src/Transformer.php b/src/Transformer.php index fbea0f5..d59001c 100644 --- a/src/Transformer.php +++ b/src/Transformer.php @@ -9,11 +9,14 @@ use Rinsvent\Transformer\Transformer\TransformerInterface; class Transformer { - public function transform(mixed $value, Meta $meta): mixed + public function transform(mixed $value, Meta $meta, array $tags = ['default']): mixed { + $filteredTags = array_diff($tags, $meta->tags); + if (count($filteredTags) === count($tags)) { + return $value; + } $transformer = $this->grabTransformer($meta); - $transformer->transform($value, $meta); - return $value; + return $transformer->transform($value, $meta); } private function grabTransformer(Meta $meta): TransformerInterface diff --git a/tests/unit/TrimTransformTest.php b/tests/unit/TrimTransformTest.php new file mode 100644 index 0000000..fb4e471 --- /dev/null +++ b/tests/unit/TrimTransformTest.php @@ -0,0 +1,30 @@ +transform(' asdas ', new Transformer\Trim()); + $this->assertEquals('asdas', $actual); + } +}