From 55af47da0d3308da9d883d044081320eb2255907 Mon Sep 17 00:00:00 2001 From: Alexander Jensen Date: Sun, 29 Sep 2024 17:49:35 +0200 Subject: [PATCH] =?UTF-8?q?Add=20get=20method=20with=20=E2=80=9Ctests?= =?UTF-8?q?=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Dictionaries/Item.php | 5 +++++ tests/Dictionaries/ItemTest.php | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/Dictionaries/Item.php b/src/Dictionaries/Item.php index 5ee458f75a..ec198fcf4d 100644 --- a/src/Dictionaries/Item.php +++ b/src/Dictionaries/Item.php @@ -21,6 +21,11 @@ public function data(): array return Arr::except($this->extra, ['label']); } + public function get($key, $fallback = null) + { + return Arr::get($this->data(), $key, $fallback); + } + public function offsetExists(mixed $offset): bool { return true; diff --git a/tests/Dictionaries/ItemTest.php b/tests/Dictionaries/ItemTest.php index 6dc623060b..cea0ce21f8 100644 --- a/tests/Dictionaries/ItemTest.php +++ b/tests/Dictionaries/ItemTest.php @@ -20,6 +20,8 @@ public function it_gets_value_label_and_data() $this->assertEquals('apple', $item->value()); $this->assertEquals('🍎 Apple', $item->label()); $this->assertEquals(['color' => 'red', 'emoji' => '🍎'], $item->data()); + $this->assertEquals('red', $item->get('color')); + $this->assertEquals('red', $item->get('colour', 'red')); $this->assertEquals([ 'key' => 'apple', 'value' => 'apple',