PK qhYJFF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Notice: ob_end_clean(): Failed to delete buffer. No buffer to delete in /home/foruwedy/public_html/57dae0/index.php on line 8
$#$#$#

Dir : /home/foruwedy/www/vendor/rtconner/laravel-tagging/tests/
Server: Linux premium227.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
IP: 66.29.146.38
Choose File :

Url:
Dir : /home/foruwedy/www/vendor/rtconner/laravel-tagging/tests/TaggingUtilityBaseTest.php

<?php

namespace Conner\Tests\Tagging;

use Conner\Tagging\Model\Tag;
use Conner\Tagging\TaggingUtility;
use Illuminate\Support\Str;

class TaggingUtilityBaseTest extends BaseTestCase
{
    public function test_make_tag_array()
    {
        $tagStrings = array('First Tag', '2nd Tag', 'Tag #3', 'tag #3', 'TAG #3');
        $first = TaggingUtility::makeTagArray($tagStrings);
        $second = TaggingUtility::makeTagArray(implode(', ', $tagStrings));

        $this->assertEquals($tagStrings, $first);
        $this->assertEquals($tagStrings, $second);

        $result = TaggingUtility::makeTagArray([1=>'tag1', 3=>'tag2']);
        $this->assertEquals(['tag1', 'tag2'], $result);

        $result = TaggingUtility::makeTagArray([1=>'tag1']);
        $this->assertEquals(['tag1'], $result);
    }

    public function test_make_tag_array_single()
    {
        $tagStrings = ['tag'];

        $result = TaggingUtility::makeTagArray($tagStrings);

        $this->assertEquals($result, ['tag']);
    }

    public function test_make_tag_array_from_strings()
    {
        $result = TaggingUtility::makeTagArray('tag');
        $this->assertEquals($result, ['tag']);

        $result = TaggingUtility::makeTagArray('tag1,tag2');
        $this->assertEquals($result, ['tag1', 'tag2']);

        $result = TaggingUtility::makeTagArray('One, Two, Three');
        $this->assertEquals($result, ['One', 'Two', 'Three']);
    }

    public function test_slug()
    {
        $this->assertEquals('sugar-free', TaggingUtility::slug('Sugar Free'));

        $str = 'ПЧ�Цщ';
        $this->assertNotEquals(TaggingUtility::slug($str), $str);

        $str = 'quiénsí';
        $this->assertNotEquals(TaggingUtility::slug($str), $str);

        $str = 'ČĢ';
        $this->assertNotEquals(TaggingUtility::slug($str), $str);

        $str = 'same-slug';
        $this->assertEquals(TaggingUtility::slug($str), $str);

        $str = '&=*!$&&,';
        $this->assertNotEquals(TaggingUtility::slug($str), $str);
    }

    public function test_normalizer()
    {
        $this->assertEquals(TaggingUtility::slug('Sugar Free'), TaggingUtility::normalize('Sugar Free'));
        $this->assertEquals(TaggingUtility::slug('ПЧ�Цщ'), TaggingUtility::normalize('ПЧ�Цщ'));
        $this->assertEquals(TaggingUtility::slug('quiénsí'), TaggingUtility::normalize('quiénsí'));

        config(['tagging.normalizer' => function($str) { return 'aaa'; }]);
        $this->assertEquals('aaa', TaggingUtility::normalize('some string'));
    }

    public function test_normalizer_with_old_class()
    {
        $this->assertEquals(TaggingUtility::slug('Sugar Free'), TaggingUtility::normalize('Sugar Free'));
        $this->assertEquals(TaggingUtility::slug('ПЧ�Цщ'), TaggingUtility::normalize('ПЧ�Цщ'));
        $this->assertEquals(TaggingUtility::slug('quiénsí'), TaggingUtility::normalize('quiénsí'));

        config(['tagging.normalizer' => '\Conner\Tagging\Util::slug']);
        $this->assertEquals('some-string', TaggingUtility::normalize('some string'));
    }

    public function test_normalizer_with_new_class()
    {
        $this->assertEquals(TaggingUtility::slug('Sugar Free'), TaggingUtility::normalize('Sugar Free'));
        $this->assertEquals(TaggingUtility::slug('ПЧ�Цщ'), TaggingUtility::normalize('ПЧ�Цщ'));
        $this->assertEquals(TaggingUtility::slug('quiénsí'), TaggingUtility::normalize('quiénsí'));

        config(['tagging.normalizer' => '\Conner\Tagging\TaggingUtility::slug']);
        $this->assertEquals('some-string', TaggingUtility::normalize('some string'));
    }

    public function test_displayize()
    {
        $this->assertEquals('Sugar Free', TaggingUtility::displayize('sugar free'));
        $this->assertEquals(Str::title('ПЧ�Цщ'), TaggingUtility::displayize('ПЧ�Цщ'));

        config(['tagging.displayer' => function($str) { return 'bbb'; }]);
        $this->assertEquals('bbb', TaggingUtility::displayize('some string'));
    }

    public function test_deleteUnusedTags()
    {
        config(['tagging.delete_unused_tags'=>false]);
        $book = $this->book();

        $book->tag(['tag1', 'tag2', 'tag3']);
        $book->untag();

        TaggingUtility::deleteUnusedTags();

        $this->assertEmpty(Tag::all());
    }
}