Code Duplication    Length = 31-32 lines in 9 locations

eZ/Publish/Core/Persistence/Legacy/Tests/Content/UrlAlias/UrlAliasHandlerTest.php 9 locations

@@ 346-376 (lines=31) @@
343
     * @depends testLookup
344
     * @group location
345
     */
346
    public function testLookupLocationUrlAlias(
347
        $url,
348
        array $pathData,
349
        array $languageCodes,
350
        $alwaysAvailable,
351
        $locationId,
352
        $id
353
    ) {
354
        $handler = $this->getHandler();
355
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location.php');
356
357
        $urlAlias = $handler->lookup($url);
358
359
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
360
        self::assertEquals(
361
            new UrlAlias(
362
                array(
363
                    'id' => $id,
364
                    'type' => UrlAlias::LOCATION,
365
                    'destination' => $locationId,
366
                    'languageCodes' => $languageCodes,
367
                    'pathData' => $pathData,
368
                    'alwaysAvailable' => $alwaysAvailable,
369
                    'isHistory' => false,
370
                    'isCustom' => false,
371
                    'forward' => false,
372
                )
373
            ),
374
            $urlAlias
375
        );
376
    }
377
378
    /**
379
     * Testing that looking up case incorrect URL results in redirection to case correct path.
@@ 397-427 (lines=31) @@
394
     *
395
     * @todo refactor, only forward pertinent
396
     */
397
    public function testLookupLocationCaseCorrection(
398
        $url,
399
        array $pathData,
400
        array $languageCodes,
401
        $alwaysAvailable,
402
        $locationId,
403
        $id
404
    ) {
405
        $handler = $this->getHandler();
406
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location.php');
407
408
        $urlAlias = $handler->lookup(strtoupper($url));
409
410
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
411
        self::assertEquals(
412
            new UrlAlias(
413
                array(
414
                    'id' => $id,
415
                    'type' => UrlAlias::LOCATION,
416
                    'destination' => $locationId,
417
                    'languageCodes' => $languageCodes,
418
                    'pathData' => $pathData,
419
                    'alwaysAvailable' => $alwaysAvailable,
420
                    'isHistory' => false,
421
                    'isCustom' => false,
422
                    'forward' => false,
423
                )
424
            ),
425
            $urlAlias
426
        );
427
    }
428
429
    public function providerForTestLookupLocationMultipleLanguages()
430
    {
@@ 524-554 (lines=31) @@
521
     * @group multiple-languages
522
     * @group location
523
     */
524
    public function testLookupLocationMultipleLanguages(
525
        $url,
526
        array $pathData,
527
        array $languageCodes,
528
        $alwaysAvailable,
529
        $locationId,
530
        $id
531
    ) {
532
        $handler = $this->getHandler();
533
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_multilang.php');
534
535
        $urlAlias = $handler->lookup($url);
536
537
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
538
        self::assertEquals(
539
            new UrlAlias(
540
                array(
541
                    'id' => $id,
542
                    'type' => UrlAlias::LOCATION,
543
                    'destination' => $locationId,
544
                    'languageCodes' => $languageCodes,
545
                    'pathData' => $pathData,
546
                    'alwaysAvailable' => $alwaysAvailable,
547
                    'isHistory' => false,
548
                    'isCustom' => false,
549
                    'forward' => false,
550
                )
551
            ),
552
            $urlAlias
553
        );
554
    }
555
556
    /**
557
     * Test for the lookup() method.
@@ 706-736 (lines=31) @@
703
     * @group location
704
     * @group custom
705
     */
706
    public function testLookupCustomLocationUrlAlias(
707
        $url,
708
        array $pathData,
709
        array $languageCodes,
710
        $forward,
711
        $alwaysAvailable,
712
        $destination,
713
        $id
714
    ) {
715
        $handler = $this->getHandler();
716
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_custom.php');
717
718
        $urlAlias = $handler->lookup($url);
719
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
720
        self::assertEquals(
721
            new UrlAlias(
722
                array(
723
                    'id' => $id,
724
                    'type' => UrlAlias::LOCATION,
725
                    'destination' => $destination,
726
                    'languageCodes' => $languageCodes,
727
                    'pathData' => $pathData,
728
                    'alwaysAvailable' => $alwaysAvailable,
729
                    'isHistory' => false,
730
                    'isCustom' => true,
731
                    'forward' => $forward,
732
                )
733
            ),
734
            $urlAlias
735
        );
736
    }
737
738
    /**
739
     * Test for the lookup() method.
@@ 749-780 (lines=32) @@
746
     * @group location
747
     * @group custom
748
     */
749
    public function testLookupCustomLocationUrlAliasCaseCorrection(
750
        $url,
751
        array $pathData,
752
        array $languageCodes,
753
        $forward,
754
        $alwaysAvailable,
755
        $destination,
756
        $id
757
    ) {
758
        $handler = $this->getHandler();
759
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_custom.php');
760
761
        $urlAlias = $handler->lookup(strtoupper($url));
762
763
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
764
        self::assertEquals(
765
            new UrlAlias(
766
                array(
767
                    'id' => $id,
768
                    'type' => UrlAlias::LOCATION,
769
                    'destination' => $destination,
770
                    'languageCodes' => $languageCodes,
771
                    'pathData' => $pathData,
772
                    'alwaysAvailable' => $alwaysAvailable,
773
                    'isHistory' => false,
774
                    'isCustom' => true,
775
                    'forward' => $forward,
776
                )
777
            ),
778
            $urlAlias
779
        );
780
    }
781
782
    public function providerForTestLookupVirtualUrlAlias()
783
    {
@@ 876-907 (lines=32) @@
873
     * @depends testLookup
874
     * @group resource
875
     */
876
    public function testLookupResourceUrlAlias(
877
        $url,
878
        $pathData,
879
        array $languageCodes,
880
        $forward,
881
        $alwaysAvailable,
882
        $destination,
883
        $id
884
    ) {
885
        $handler = $this->getHandler();
886
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_resource.php');
887
888
        $urlAlias = $handler->lookup($url);
889
890
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
891
        self::assertEquals(
892
            new UrlAlias(
893
                array(
894
                    'id' => $id,
895
                    'type' => UrlAlias::RESOURCE,
896
                    'destination' => $destination,
897
                    'languageCodes' => $languageCodes,
898
                    'pathData' => $pathData,
899
                    'alwaysAvailable' => $alwaysAvailable,
900
                    'isHistory' => false,
901
                    'isCustom' => true,
902
                    'forward' => $forward,
903
                )
904
            ),
905
            $urlAlias
906
        );
907
    }
908
909
    /**
910
     * Test for the lookup() method.
@@ 919-950 (lines=32) @@
916
     * @depends testLookup
917
     * @group resource
918
     */
919
    public function testLookupResourceUrlAliasCaseInsensitive(
920
        $url,
921
        $pathData,
922
        array $languageCodes,
923
        $forward,
924
        $alwaysAvailable,
925
        $destination,
926
        $id
927
    ) {
928
        $handler = $this->getHandler();
929
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_resource.php');
930
931
        $urlAlias = $handler->lookup(strtoupper($url));
932
933
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
934
        self::assertEquals(
935
            new UrlAlias(
936
                array(
937
                    'id' => $id,
938
                    'type' => UrlAlias::RESOURCE,
939
                    'destination' => $destination,
940
                    'languageCodes' => $languageCodes,
941
                    'pathData' => $pathData,
942
                    'alwaysAvailable' => $alwaysAvailable,
943
                    'isHistory' => false,
944
                    'isCustom' => true,
945
                    'forward' => $forward,
946
                )
947
            ),
948
            $urlAlias
949
        );
950
    }
951
952
    /**
953
     * Test for the lookup() method with uppercase utf8 characters.
@@ 3008-3038 (lines=31) @@
3005
     * @covers \eZ\Publish\Core\Persistence\Legacy\Content\UrlAlias\Handler::loadUrlAlias
3006
     * @dataProvider providerForTestLookupLocationMultipleLanguages
3007
     */
3008
    public function testLoadAutogeneratedUrlAlias(
3009
        $url,
3010
        array $pathData,
3011
        array $languageCodes,
3012
        $alwaysAvailable,
3013
        $locationId,
3014
        $id
3015
    ) {
3016
        $handler = $this->getHandler();
3017
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_multilang.php');
3018
3019
        $urlAlias = $handler->loadUrlAlias($id);
3020
3021
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
3022
        self::assertEquals(
3023
            new UrlAlias(
3024
                array(
3025
                    'id' => $id,
3026
                    'type' => UrlAlias::LOCATION,
3027
                    'destination' => $locationId,
3028
                    'languageCodes' => $languageCodes,
3029
                    'pathData' => $pathData,
3030
                    'alwaysAvailable' => $alwaysAvailable,
3031
                    'isHistory' => false,
3032
                    'isCustom' => false,
3033
                    'forward' => false,
3034
                )
3035
            ),
3036
            $urlAlias
3037
        );
3038
    }
3039
3040
    /**
3041
     * Test for the loadUrlAlias() method.
@@ 3046-3077 (lines=32) @@
3043
     * @covers \eZ\Publish\Core\Persistence\Legacy\Content\UrlAlias\Handler::loadUrlAlias
3044
     * @dataProvider providerForTestLookupResourceUrlAlias
3045
     */
3046
    public function testLoadResourceUrlAlias(
3047
        $url,
3048
        $pathData,
3049
        array $languageCodes,
3050
        $forward,
3051
        $alwaysAvailable,
3052
        $destination,
3053
        $id
3054
    ) {
3055
        $handler = $this->getHandler();
3056
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_resource.php');
3057
3058
        $urlAlias = $handler->loadUrlAlias($id);
3059
3060
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
3061
        self::assertEquals(
3062
            new UrlAlias(
3063
                array(
3064
                    'id' => $id,
3065
                    'type' => UrlAlias::RESOURCE,
3066
                    'destination' => $destination,
3067
                    'languageCodes' => $languageCodes,
3068
                    'pathData' => $pathData,
3069
                    'alwaysAvailable' => $alwaysAvailable,
3070
                    'isHistory' => false,
3071
                    'isCustom' => true,
3072
                    'forward' => $forward,
3073
                )
3074
            ),
3075
            $urlAlias
3076
        );
3077
    }
3078
3079
    /**
3080
     * Test for the loadUrlAlias() method.