Code Duplication    Length = 31-32 lines in 9 locations

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

@@ 344-374 (lines=31) @@
341
     * @depends testLookup
342
     * @group location
343
     */
344
    public function testLookupLocationUrlAlias(
345
        $url,
346
        array $pathData,
347
        array $languageCodes,
348
        $alwaysAvailable,
349
        $locationId,
350
        $id
351
    ) {
352
        $handler = $this->getHandler();
353
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location.php');
354
355
        $urlAlias = $handler->lookup($url);
356
357
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
358
        self::assertEquals(
359
            new UrlAlias(
360
                array(
361
                    'id' => $id,
362
                    'type' => UrlAlias::LOCATION,
363
                    'destination' => $locationId,
364
                    'languageCodes' => $languageCodes,
365
                    'pathData' => $pathData,
366
                    'alwaysAvailable' => $alwaysAvailable,
367
                    'isHistory' => false,
368
                    'isCustom' => false,
369
                    'forward' => false,
370
                )
371
            ),
372
            $urlAlias
373
        );
374
    }
375
376
    /**
377
     * Testing that looking up case incorrect URL results in redirection to case correct path.
@@ 395-425 (lines=31) @@
392
     *
393
     * @todo refactor, only forward pertinent
394
     */
395
    public function testLookupLocationCaseCorrection(
396
        $url,
397
        array $pathData,
398
        array $languageCodes,
399
        $alwaysAvailable,
400
        $locationId,
401
        $id
402
    ) {
403
        $handler = $this->getHandler();
404
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location.php');
405
406
        $urlAlias = $handler->lookup(strtoupper($url));
407
408
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
409
        self::assertEquals(
410
            new UrlAlias(
411
                array(
412
                    'id' => $id,
413
                    'type' => UrlAlias::LOCATION,
414
                    'destination' => $locationId,
415
                    'languageCodes' => $languageCodes,
416
                    'pathData' => $pathData,
417
                    'alwaysAvailable' => $alwaysAvailable,
418
                    'isHistory' => false,
419
                    'isCustom' => false,
420
                    'forward' => false,
421
                )
422
            ),
423
            $urlAlias
424
        );
425
    }
426
427
    public function providerForTestLookupLocationMultipleLanguages()
428
    {
@@ 522-552 (lines=31) @@
519
     * @group multiple-languages
520
     * @group location
521
     */
522
    public function testLookupLocationMultipleLanguages(
523
        $url,
524
        array $pathData,
525
        array $languageCodes,
526
        $alwaysAvailable,
527
        $locationId,
528
        $id
529
    ) {
530
        $handler = $this->getHandler();
531
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_multilang.php');
532
533
        $urlAlias = $handler->lookup($url);
534
535
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
536
        self::assertEquals(
537
            new UrlAlias(
538
                array(
539
                    'id' => $id,
540
                    'type' => UrlAlias::LOCATION,
541
                    'destination' => $locationId,
542
                    'languageCodes' => $languageCodes,
543
                    'pathData' => $pathData,
544
                    'alwaysAvailable' => $alwaysAvailable,
545
                    'isHistory' => false,
546
                    'isCustom' => false,
547
                    'forward' => false,
548
                )
549
            ),
550
            $urlAlias
551
        );
552
    }
553
554
    /**
555
     * Test for the lookup() method.
@@ 704-734 (lines=31) @@
701
     * @group location
702
     * @group custom
703
     */
704
    public function testLookupCustomLocationUrlAlias(
705
        $url,
706
        array $pathData,
707
        array $languageCodes,
708
        $forward,
709
        $alwaysAvailable,
710
        $destination,
711
        $id
712
    ) {
713
        $handler = $this->getHandler();
714
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_custom.php');
715
716
        $urlAlias = $handler->lookup($url);
717
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
718
        self::assertEquals(
719
            new UrlAlias(
720
                array(
721
                    'id' => $id,
722
                    'type' => UrlAlias::LOCATION,
723
                    'destination' => $destination,
724
                    'languageCodes' => $languageCodes,
725
                    'pathData' => $pathData,
726
                    'alwaysAvailable' => $alwaysAvailable,
727
                    'isHistory' => false,
728
                    'isCustom' => true,
729
                    'forward' => $forward,
730
                )
731
            ),
732
            $urlAlias
733
        );
734
    }
735
736
    /**
737
     * Test for the lookup() method.
@@ 747-778 (lines=32) @@
744
     * @group location
745
     * @group custom
746
     */
747
    public function testLookupCustomLocationUrlAliasCaseCorrection(
748
        $url,
749
        array $pathData,
750
        array $languageCodes,
751
        $forward,
752
        $alwaysAvailable,
753
        $destination,
754
        $id
755
    ) {
756
        $handler = $this->getHandler();
757
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_custom.php');
758
759
        $urlAlias = $handler->lookup(strtoupper($url));
760
761
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
762
        self::assertEquals(
763
            new UrlAlias(
764
                array(
765
                    'id' => $id,
766
                    'type' => UrlAlias::LOCATION,
767
                    'destination' => $destination,
768
                    'languageCodes' => $languageCodes,
769
                    'pathData' => $pathData,
770
                    'alwaysAvailable' => $alwaysAvailable,
771
                    'isHistory' => false,
772
                    'isCustom' => true,
773
                    'forward' => $forward,
774
                )
775
            ),
776
            $urlAlias
777
        );
778
    }
779
780
    public function providerForTestLookupVirtualUrlAlias()
781
    {
@@ 874-905 (lines=32) @@
871
     * @depends testLookup
872
     * @group resource
873
     */
874
    public function testLookupResourceUrlAlias(
875
        $url,
876
        $pathData,
877
        array $languageCodes,
878
        $forward,
879
        $alwaysAvailable,
880
        $destination,
881
        $id
882
    ) {
883
        $handler = $this->getHandler();
884
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_resource.php');
885
886
        $urlAlias = $handler->lookup($url);
887
888
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
889
        self::assertEquals(
890
            new UrlAlias(
891
                array(
892
                    'id' => $id,
893
                    'type' => UrlAlias::RESOURCE,
894
                    'destination' => $destination,
895
                    'languageCodes' => $languageCodes,
896
                    'pathData' => $pathData,
897
                    'alwaysAvailable' => $alwaysAvailable,
898
                    'isHistory' => false,
899
                    'isCustom' => true,
900
                    'forward' => $forward,
901
                )
902
            ),
903
            $urlAlias
904
        );
905
    }
906
907
    /**
908
     * Test for the lookup() method.
@@ 917-948 (lines=32) @@
914
     * @depends testLookup
915
     * @group resource
916
     */
917
    public function testLookupResourceUrlAliasCaseInsensitive(
918
        $url,
919
        $pathData,
920
        array $languageCodes,
921
        $forward,
922
        $alwaysAvailable,
923
        $destination,
924
        $id
925
    ) {
926
        $handler = $this->getHandler();
927
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_resource.php');
928
929
        $urlAlias = $handler->lookup(strtoupper($url));
930
931
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
932
        self::assertEquals(
933
            new UrlAlias(
934
                array(
935
                    'id' => $id,
936
                    'type' => UrlAlias::RESOURCE,
937
                    'destination' => $destination,
938
                    'languageCodes' => $languageCodes,
939
                    'pathData' => $pathData,
940
                    'alwaysAvailable' => $alwaysAvailable,
941
                    'isHistory' => false,
942
                    'isCustom' => true,
943
                    'forward' => $forward,
944
                )
945
            ),
946
            $urlAlias
947
        );
948
    }
949
950
    /**
951
     * Test for the lookup() method with uppercase utf8 characters.
@@ 2936-2966 (lines=31) @@
2933
     * @covers \eZ\Publish\Core\Persistence\Legacy\Content\UrlAlias\Handler::loadUrlAlias
2934
     * @dataProvider providerForTestLookupLocationMultipleLanguages
2935
     */
2936
    public function testLoadAutogeneratedUrlAlias(
2937
        $url,
2938
        array $pathData,
2939
        array $languageCodes,
2940
        $alwaysAvailable,
2941
        $locationId,
2942
        $id
2943
    ) {
2944
        $handler = $this->getHandler();
2945
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_multilang.php');
2946
2947
        $urlAlias = $handler->loadUrlAlias($id);
2948
2949
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
2950
        self::assertEquals(
2951
            new UrlAlias(
2952
                array(
2953
                    'id' => $id,
2954
                    'type' => UrlAlias::LOCATION,
2955
                    'destination' => $locationId,
2956
                    'languageCodes' => $languageCodes,
2957
                    'pathData' => $pathData,
2958
                    'alwaysAvailable' => $alwaysAvailable,
2959
                    'isHistory' => false,
2960
                    'isCustom' => false,
2961
                    'forward' => false,
2962
                )
2963
            ),
2964
            $urlAlias
2965
        );
2966
    }
2967
2968
    /**
2969
     * Test for the loadUrlAlias() method.
@@ 2974-3005 (lines=32) @@
2971
     * @covers \eZ\Publish\Core\Persistence\Legacy\Content\UrlAlias\Handler::loadUrlAlias
2972
     * @dataProvider providerForTestLookupResourceUrlAlias
2973
     */
2974
    public function testLoadResourceUrlAlias(
2975
        $url,
2976
        $pathData,
2977
        array $languageCodes,
2978
        $forward,
2979
        $alwaysAvailable,
2980
        $destination,
2981
        $id
2982
    ) {
2983
        $handler = $this->getHandler();
2984
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_resource.php');
2985
2986
        $urlAlias = $handler->loadUrlAlias($id);
2987
2988
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
2989
        self::assertEquals(
2990
            new UrlAlias(
2991
                array(
2992
                    'id' => $id,
2993
                    'type' => UrlAlias::RESOURCE,
2994
                    'destination' => $destination,
2995
                    'languageCodes' => $languageCodes,
2996
                    'pathData' => $pathData,
2997
                    'alwaysAvailable' => $alwaysAvailable,
2998
                    'isHistory' => false,
2999
                    'isCustom' => true,
3000
                    'forward' => $forward,
3001
                )
3002
            ),
3003
            $urlAlias
3004
        );
3005
    }
3006
3007
    /**
3008
     * Test for the loadUrlAlias() method.