Code Duplication    Length = 31-32 lines in 9 locations

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

@@ 328-358 (lines=31) @@
325
     * @depends testLookup
326
     * @group location
327
     */
328
    public function testLookupLocationUrlAlias(
329
        $url,
330
        array $pathData,
331
        array $languageCodes,
332
        $alwaysAvailable,
333
        $locationId,
334
        $id
335
    ) {
336
        $handler = $this->getHandler();
337
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location.php');
338
339
        $urlAlias = $handler->lookup($url);
340
341
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
342
        self::assertEquals(
343
            new UrlAlias(
344
                array(
345
                    'id' => $id,
346
                    'type' => UrlAlias::LOCATION,
347
                    'destination' => $locationId,
348
                    'languageCodes' => $languageCodes,
349
                    'pathData' => $pathData,
350
                    'alwaysAvailable' => $alwaysAvailable,
351
                    'isHistory' => false,
352
                    'isCustom' => false,
353
                    'forward' => false,
354
                )
355
            ),
356
            $urlAlias
357
        );
358
    }
359
360
    /**
361
     * Testing that looking up case incorrect URL results in redirection to case correct path.
@@ 379-409 (lines=31) @@
376
     *
377
     * @todo refactor, only forward pertinent
378
     */
379
    public function testLookupLocationCaseCorrection(
380
        $url,
381
        array $pathData,
382
        array $languageCodes,
383
        $alwaysAvailable,
384
        $locationId,
385
        $id
386
    ) {
387
        $handler = $this->getHandler();
388
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location.php');
389
390
        $urlAlias = $handler->lookup(strtoupper($url));
391
392
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
393
        self::assertEquals(
394
            new UrlAlias(
395
                array(
396
                    'id' => $id,
397
                    'type' => UrlAlias::LOCATION,
398
                    'destination' => $locationId,
399
                    'languageCodes' => $languageCodes,
400
                    'pathData' => $pathData,
401
                    'alwaysAvailable' => $alwaysAvailable,
402
                    'isHistory' => false,
403
                    'isCustom' => false,
404
                    'forward' => false,
405
                )
406
            ),
407
            $urlAlias
408
        );
409
    }
410
411
    public function providerForTestLookupLocationMultipleLanguages()
412
    {
@@ 506-536 (lines=31) @@
503
     * @group multiple-languages
504
     * @group location
505
     */
506
    public function testLookupLocationMultipleLanguages(
507
        $url,
508
        array $pathData,
509
        array $languageCodes,
510
        $alwaysAvailable,
511
        $locationId,
512
        $id
513
    ) {
514
        $handler = $this->getHandler();
515
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_multilang.php');
516
517
        $urlAlias = $handler->lookup($url);
518
519
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
520
        self::assertEquals(
521
            new UrlAlias(
522
                array(
523
                    'id' => $id,
524
                    'type' => UrlAlias::LOCATION,
525
                    'destination' => $locationId,
526
                    'languageCodes' => $languageCodes,
527
                    'pathData' => $pathData,
528
                    'alwaysAvailable' => $alwaysAvailable,
529
                    'isHistory' => false,
530
                    'isCustom' => false,
531
                    'forward' => false,
532
                )
533
            ),
534
            $urlAlias
535
        );
536
    }
537
538
    /**
539
     * Test for the lookup() method.
@@ 688-718 (lines=31) @@
685
     * @group location
686
     * @group custom
687
     */
688
    public function testLookupCustomLocationUrlAlias(
689
        $url,
690
        array $pathData,
691
        array $languageCodes,
692
        $forward,
693
        $alwaysAvailable,
694
        $destination,
695
        $id
696
    ) {
697
        $handler = $this->getHandler();
698
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_custom.php');
699
700
        $urlAlias = $handler->lookup($url);
701
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
702
        self::assertEquals(
703
            new UrlAlias(
704
                array(
705
                    'id' => $id,
706
                    'type' => UrlAlias::LOCATION,
707
                    'destination' => $destination,
708
                    'languageCodes' => $languageCodes,
709
                    'pathData' => $pathData,
710
                    'alwaysAvailable' => $alwaysAvailable,
711
                    'isHistory' => false,
712
                    'isCustom' => true,
713
                    'forward' => $forward,
714
                )
715
            ),
716
            $urlAlias
717
        );
718
    }
719
720
    /**
721
     * Test for the lookup() method.
@@ 731-762 (lines=32) @@
728
     * @group location
729
     * @group custom
730
     */
731
    public function testLookupCustomLocationUrlAliasCaseCorrection(
732
        $url,
733
        array $pathData,
734
        array $languageCodes,
735
        $forward,
736
        $alwaysAvailable,
737
        $destination,
738
        $id
739
    ) {
740
        $handler = $this->getHandler();
741
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_custom.php');
742
743
        $urlAlias = $handler->lookup(strtoupper($url));
744
745
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
746
        self::assertEquals(
747
            new UrlAlias(
748
                array(
749
                    'id' => $id,
750
                    'type' => UrlAlias::LOCATION,
751
                    'destination' => $destination,
752
                    'languageCodes' => $languageCodes,
753
                    'pathData' => $pathData,
754
                    'alwaysAvailable' => $alwaysAvailable,
755
                    'isHistory' => false,
756
                    'isCustom' => true,
757
                    'forward' => $forward,
758
                )
759
            ),
760
            $urlAlias
761
        );
762
    }
763
764
    public function providerForTestLookupVirtualUrlAlias()
765
    {
@@ 858-889 (lines=32) @@
855
     * @depends testLookup
856
     * @group resource
857
     */
858
    public function testLookupResourceUrlAlias(
859
        $url,
860
        $pathData,
861
        array $languageCodes,
862
        $forward,
863
        $alwaysAvailable,
864
        $destination,
865
        $id
866
    ) {
867
        $handler = $this->getHandler();
868
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_resource.php');
869
870
        $urlAlias = $handler->lookup($url);
871
872
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
873
        self::assertEquals(
874
            new UrlAlias(
875
                array(
876
                    'id' => $id,
877
                    'type' => UrlAlias::RESOURCE,
878
                    'destination' => $destination,
879
                    'languageCodes' => $languageCodes,
880
                    'pathData' => $pathData,
881
                    'alwaysAvailable' => $alwaysAvailable,
882
                    'isHistory' => false,
883
                    'isCustom' => true,
884
                    'forward' => $forward,
885
                )
886
            ),
887
            $urlAlias
888
        );
889
    }
890
891
    /**
892
     * Test for the lookup() method.
@@ 901-932 (lines=32) @@
898
     * @depends testLookup
899
     * @group resource
900
     */
901
    public function testLookupResourceUrlAliasCaseInsensitive(
902
        $url,
903
        $pathData,
904
        array $languageCodes,
905
        $forward,
906
        $alwaysAvailable,
907
        $destination,
908
        $id
909
    ) {
910
        $handler = $this->getHandler();
911
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_resource.php');
912
913
        $urlAlias = $handler->lookup(strtoupper($url));
914
915
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
916
        self::assertEquals(
917
            new UrlAlias(
918
                array(
919
                    'id' => $id,
920
                    'type' => UrlAlias::RESOURCE,
921
                    'destination' => $destination,
922
                    'languageCodes' => $languageCodes,
923
                    'pathData' => $pathData,
924
                    'alwaysAvailable' => $alwaysAvailable,
925
                    'isHistory' => false,
926
                    'isCustom' => true,
927
                    'forward' => $forward,
928
                )
929
            ),
930
            $urlAlias
931
        );
932
    }
933
934
    /**
935
     * Test for the lookup() method with uppercase utf8 characters.
@@ 2920-2950 (lines=31) @@
2917
     * @covers \eZ\Publish\Core\Persistence\Legacy\Content\UrlAlias\Handler::loadUrlAlias
2918
     * @dataProvider providerForTestLookupLocationMultipleLanguages
2919
     */
2920
    public function testLoadAutogeneratedUrlAlias(
2921
        $url,
2922
        array $pathData,
2923
        array $languageCodes,
2924
        $alwaysAvailable,
2925
        $locationId,
2926
        $id
2927
    ) {
2928
        $handler = $this->getHandler();
2929
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_multilang.php');
2930
2931
        $urlAlias = $handler->loadUrlAlias($id);
2932
2933
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
2934
        self::assertEquals(
2935
            new UrlAlias(
2936
                array(
2937
                    'id' => $id,
2938
                    'type' => UrlAlias::LOCATION,
2939
                    'destination' => $locationId,
2940
                    'languageCodes' => $languageCodes,
2941
                    'pathData' => $pathData,
2942
                    'alwaysAvailable' => $alwaysAvailable,
2943
                    'isHistory' => false,
2944
                    'isCustom' => false,
2945
                    'forward' => false,
2946
                )
2947
            ),
2948
            $urlAlias
2949
        );
2950
    }
2951
2952
    /**
2953
     * Test for the loadUrlAlias() method.
@@ 2958-2989 (lines=32) @@
2955
     * @covers \eZ\Publish\Core\Persistence\Legacy\Content\UrlAlias\Handler::loadUrlAlias
2956
     * @dataProvider providerForTestLookupResourceUrlAlias
2957
     */
2958
    public function testLoadResourceUrlAlias(
2959
        $url,
2960
        $pathData,
2961
        array $languageCodes,
2962
        $forward,
2963
        $alwaysAvailable,
2964
        $destination,
2965
        $id
2966
    ) {
2967
        $handler = $this->getHandler();
2968
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_resource.php');
2969
2970
        $urlAlias = $handler->loadUrlAlias($id);
2971
2972
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
2973
        self::assertEquals(
2974
            new UrlAlias(
2975
                array(
2976
                    'id' => $id,
2977
                    'type' => UrlAlias::RESOURCE,
2978
                    'destination' => $destination,
2979
                    'languageCodes' => $languageCodes,
2980
                    'pathData' => $pathData,
2981
                    'alwaysAvailable' => $alwaysAvailable,
2982
                    'isHistory' => false,
2983
                    'isCustom' => true,
2984
                    'forward' => $forward,
2985
                )
2986
            ),
2987
            $urlAlias
2988
        );
2989
    }
2990
2991
    /**
2992
     * Test for the loadUrlAlias() method.