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.
@@ 2938-2968 (lines=31) @@
2935
     * @covers \eZ\Publish\Core\Persistence\Legacy\Content\UrlAlias\Handler::loadUrlAlias
2936
     * @dataProvider providerForTestLookupLocationMultipleLanguages
2937
     */
2938
    public function testLoadAutogeneratedUrlAlias(
2939
        $url,
2940
        array $pathData,
2941
        array $languageCodes,
2942
        $alwaysAvailable,
2943
        $locationId,
2944
        $id
2945
    ) {
2946
        $handler = $this->getHandler();
2947
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_multilang.php');
2948
2949
        $urlAlias = $handler->loadUrlAlias($id);
2950
2951
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
2952
        self::assertEquals(
2953
            new UrlAlias(
2954
                array(
2955
                    'id' => $id,
2956
                    'type' => UrlAlias::LOCATION,
2957
                    'destination' => $locationId,
2958
                    'languageCodes' => $languageCodes,
2959
                    'pathData' => $pathData,
2960
                    'alwaysAvailable' => $alwaysAvailable,
2961
                    'isHistory' => false,
2962
                    'isCustom' => false,
2963
                    'forward' => false,
2964
                )
2965
            ),
2966
            $urlAlias
2967
        );
2968
    }
2969
2970
    /**
2971
     * Test for the loadUrlAlias() method.
@@ 2976-3007 (lines=32) @@
2973
     * @covers \eZ\Publish\Core\Persistence\Legacy\Content\UrlAlias\Handler::loadUrlAlias
2974
     * @dataProvider providerForTestLookupResourceUrlAlias
2975
     */
2976
    public function testLoadResourceUrlAlias(
2977
        $url,
2978
        $pathData,
2979
        array $languageCodes,
2980
        $forward,
2981
        $alwaysAvailable,
2982
        $destination,
2983
        $id
2984
    ) {
2985
        $handler = $this->getHandler();
2986
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_resource.php');
2987
2988
        $urlAlias = $handler->loadUrlAlias($id);
2989
2990
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
2991
        self::assertEquals(
2992
            new UrlAlias(
2993
                array(
2994
                    'id' => $id,
2995
                    'type' => UrlAlias::RESOURCE,
2996
                    'destination' => $destination,
2997
                    'languageCodes' => $languageCodes,
2998
                    'pathData' => $pathData,
2999
                    'alwaysAvailable' => $alwaysAvailable,
3000
                    'isHistory' => false,
3001
                    'isCustom' => true,
3002
                    'forward' => $forward,
3003
                )
3004
            ),
3005
            $urlAlias
3006
        );
3007
    }
3008
3009
    /**
3010
     * Test for the loadUrlAlias() method.