[ 'feather' => FeatherIcon::class, 'm' => MaterialIcon::class, ], ]; $this->Icon = new IconHelper(new View(null), $config); } /** * @return void */ public function testIconDefault() { $result = $this->Icon->render('edit'); $expected = ''; $this->assertSame($expected, $result); } /** * @return void */ public function testIconPrefixed() { $result = $this->Icon->render('feather:edit'); $expected = ''; $this->assertSame($expected, $result); } /** * @return void */ public function testIconWithCustomAttributes() { $result = $this->Icon->render('m:save', [], ['data-x' => 'y']); $expected = 'save'; $this->assertSame($expected, $result); } /** * @return void */ public function testIconWithCustomClassAttributes() { $result = $this->Icon->render('m:save', [], ['class' => 'my-extra']); $expected = 'save'; $this->assertSame($expected, $result); } /** * @return void */ public function testIconWithCustomTitleField() { $result = $this->Icon->render('m:save', ['title' => 'data-title'], ['class' => 'my-extra']); $expected = 'save'; $this->assertSame($expected, $result); } /** * @return void */ public function testIconWithCustomFontIcon() { $config = [ 'sets' => [ 'feather' => FeatherIcon::class, 'm' => MaterialIcon::class, ], 'map' => [ 'edit' => 'm:save', ], ]; $this->Icon = new IconHelper(new View(null), $config); $result = $this->Icon->render('edit'); $expected = 'save'; $this->assertSame($expected, $result); } /** * @return void */ public function tearDown(): void { parent::tearDown(); unset($this->Icon); } }