Code Duplication    Length = 31-32 lines in 9 locations

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

@@ 330-360 (lines=31) @@
327
     * @depends testLookup
328
     * @group location
329
     */
330
    public function testLookupLocationUrlAlias(
331
        $url,
332
        array $pathData,
333
        array $languageCodes,
334
        $alwaysAvailable,
335
        $locationId,
336
        $id
337
    ) {
338
        $handler = $this->getHandler();
339
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location.php');
340
341
        $urlAlias = $handler->lookup($url);
342
343
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
344
        self::assertEquals(
345
            new UrlAlias(
346
                array(
347
                    'id' => $id,
348
                    'type' => UrlAlias::LOCATION,
349
                    'destination' => $locationId,
350
                    'languageCodes' => $languageCodes,
351
                    'pathData' => $pathData,
352
                    'alwaysAvailable' => $alwaysAvailable,
353
                    'isHistory' => false,
354
                    'isCustom' => false,
355
                    'forward' => false,
356
                )
357
            ),
358
            $urlAlias
359
        );
360
    }
361
362
    /**
363
     * Testing that looking up case incorrect URL results in redirection to case correct path.
@@ 381-411 (lines=31) @@
378
     *
379
     * @todo refactor, only forward pertinent
380
     */
381
    public function testLookupLocationCaseCorrection(
382
        $url,
383
        array $pathData,
384
        array $languageCodes,
385
        $alwaysAvailable,
386
        $locationId,
387
        $id
388
    ) {
389
        $handler = $this->getHandler();
390
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location.php');
391
392
        $urlAlias = $handler->lookup(strtoupper($url));
393
394
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
395
        self::assertEquals(
396
            new UrlAlias(
397
                array(
398
                    'id' => $id,
399
                    'type' => UrlAlias::LOCATION,
400
                    'destination' => $locationId,
401
                    'languageCodes' => $languageCodes,
402
                    'pathData' => $pathData,
403
                    'alwaysAvailable' => $alwaysAvailable,
404
                    'isHistory' => false,
405
                    'isCustom' => false,
406
                    'forward' => false,
407
                )
408
            ),
409
            $urlAlias
410
        );
411
    }
412
413
    public function providerForTestLookupLocationMultipleLanguages()
414
    {
@@ 508-538 (lines=31) @@
505
     * @group multiple-languages
506
     * @group location
507
     */
508
    public function testLookupLocationMultipleLanguages(
509
        $url,
510
        array $pathData,
511
        array $languageCodes,
512
        $alwaysAvailable,
513
        $locationId,
514
        $id
515
    ) {
516
        $handler = $this->getHandler();
517
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_multilang.php');
518
519
        $urlAlias = $handler->lookup($url);
520
521
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
522
        self::assertEquals(
523
            new UrlAlias(
524
                array(
525
                    'id' => $id,
526
                    'type' => UrlAlias::LOCATION,
527
                    'destination' => $locationId,
528
                    'languageCodes' => $languageCodes,
529
                    'pathData' => $pathData,
530
                    'alwaysAvailable' => $alwaysAvailable,
531
                    'isHistory' => false,
532
                    'isCustom' => false,
533
                    'forward' => false,
534
                )
535
            ),
536
            $urlAlias
537
        );
538
    }
539
540
    /**
541
     * Test for the lookup() method.
@@ 690-720 (lines=31) @@
687
     * @group location
688
     * @group custom
689
     */
690
    public function testLookupCustomLocationUrlAlias(
691
        $url,
692
        array $pathData,
693
        array $languageCodes,
694
        $forward,
695
        $alwaysAvailable,
696
        $destination,
697
        $id
698
    ) {
699
        $handler = $this->getHandler();
700
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_custom.php');
701
702
        $urlAlias = $handler->lookup($url);
703
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
704
        self::assertEquals(
705
            new UrlAlias(
706
                array(
707
                    'id' => $id,
708
                    'type' => UrlAlias::LOCATION,
709
                    'destination' => $destination,
710
                    'languageCodes' => $languageCodes,
711
                    'pathData' => $pathData,
712
                    'alwaysAvailable' => $alwaysAvailable,
713
                    'isHistory' => false,
714
                    'isCustom' => true,
715
                    'forward' => $forward,
716
                )
717
            ),
718
            $urlAlias
719
        );
720
    }
721
722
    /**
723
     * Test for the lookup() method.
@@ 733-764 (lines=32) @@
730
     * @group location
731
     * @group custom
732
     */
733
    public function testLookupCustomLocationUrlAliasCaseCorrection(
734
        $url,
735
        array $pathData,
736
        array $languageCodes,
737
        $forward,
738
        $alwaysAvailable,
739
        $destination,
740
        $id
741
    ) {
742
        $handler = $this->getHandler();
743
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_custom.php');
744
745
        $urlAlias = $handler->lookup(strtoupper($url));
746
747
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
748
        self::assertEquals(
749
            new UrlAlias(
750
                array(
751
                    'id' => $id,
752
                    'type' => UrlAlias::LOCATION,
753
                    'destination' => $destination,
754
                    'languageCodes' => $languageCodes,
755
                    'pathData' => $pathData,
756
                    'alwaysAvailable' => $alwaysAvailable,
757
                    'isHistory' => false,
758
                    'isCustom' => true,
759
                    'forward' => $forward,
760
                )
761
            ),
762
            $urlAlias
763
        );
764
    }
765
766
    public function providerForTestLookupVirtualUrlAlias()
767
    {
@@ 860-891 (lines=32) @@
857
     * @depends testLookup
858
     * @group resource
859
     */
860
    public function testLookupResourceUrlAlias(
861
        $url,
862
        $pathData,
863
        array $languageCodes,
864
        $forward,
865
        $alwaysAvailable,
866
        $destination,
867
        $id
868
    ) {
869
        $handler = $this->getHandler();
870
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_resource.php');
871
872
        $urlAlias = $handler->lookup($url);
873
874
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
875
        self::assertEquals(
876
            new UrlAlias(
877
                array(
878
                    'id' => $id,
879
                    'type' => UrlAlias::RESOURCE,
880
                    'destination' => $destination,
881
                    'languageCodes' => $languageCodes,
882
                    'pathData' => $pathData,
883
                    'alwaysAvailable' => $alwaysAvailable,
884
                    'isHistory' => false,
885
                    'isCustom' => true,
886
                    'forward' => $forward,
887
                )
888
            ),
889
            $urlAlias
890
        );
891
    }
892
893
    /**
894
     * Test for the lookup() method.
@@ 903-934 (lines=32) @@
900
     * @depends testLookup
901
     * @group resource
902
     */
903
    public function testLookupResourceUrlAliasCaseInsensitive(
904
        $url,
905
        $pathData,
906
        array $languageCodes,
907
        $forward,
908
        $alwaysAvailable,
909
        $destination,
910
        $id
911
    ) {
912
        $handler = $this->getHandler();
913
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_resource.php');
914
915
        $urlAlias = $handler->lookup(strtoupper($url));
916
917
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
918
        self::assertEquals(
919
            new UrlAlias(
920
                array(
921
                    'id' => $id,
922
                    'type' => UrlAlias::RESOURCE,
923
                    'destination' => $destination,
924
                    'languageCodes' => $languageCodes,
925
                    'pathData' => $pathData,
926
                    'alwaysAvailable' => $alwaysAvailable,
927
                    'isHistory' => false,
928
                    'isCustom' => true,
929
                    'forward' => $forward,
930
                )
931
            ),
932
            $urlAlias
933
        );
934
    }
935
936
    /**
937
     * Test for the lookup() method with uppercase utf8 characters.
@@ 2716-2746 (lines=31) @@
2713
     * @covers \eZ\Publish\Core\Persistence\Legacy\Content\UrlAlias\Handler::loadUrlAlias
2714
     * @dataProvider providerForTestLookupLocationMultipleLanguages
2715
     */
2716
    public function testLoadAutogeneratedUrlAlias(
2717
        $url,
2718
        array $pathData,
2719
        array $languageCodes,
2720
        $alwaysAvailable,
2721
        $locationId,
2722
        $id
2723
    ) {
2724
        $handler = $this->getHandler();
2725
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_location_multilang.php');
2726
2727
        $urlAlias = $handler->loadUrlAlias($id);
2728
2729
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
2730
        self::assertEquals(
2731
            new UrlAlias(
2732
                array(
2733
                    'id' => $id,
2734
                    'type' => UrlAlias::LOCATION,
2735
                    'destination' => $locationId,
2736
                    'languageCodes' => $languageCodes,
2737
                    'pathData' => $pathData,
2738
                    'alwaysAvailable' => $alwaysAvailable,
2739
                    'isHistory' => false,
2740
                    'isCustom' => false,
2741
                    'forward' => false,
2742
                )
2743
            ),
2744
            $urlAlias
2745
        );
2746
    }
2747
2748
    /**
2749
     * Test for the loadUrlAlias() method.
@@ 2754-2785 (lines=32) @@
2751
     * @covers \eZ\Publish\Core\Persistence\Legacy\Content\UrlAlias\Handler::loadUrlAlias
2752
     * @dataProvider providerForTestLookupResourceUrlAlias
2753
     */
2754
    public function testLoadResourceUrlAlias(
2755
        $url,
2756
        $pathData,
2757
        array $languageCodes,
2758
        $forward,
2759
        $alwaysAvailable,
2760
        $destination,
2761
        $id
2762
    ) {
2763
        $handler = $this->getHandler();
2764
        $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_resource.php');
2765
2766
        $urlAlias = $handler->loadUrlAlias($id);
2767
2768
        self::assertInstanceOf('eZ\\Publish\\SPI\\Persistence\\Content\\UrlAlias', $urlAlias);
2769
        self::assertEquals(
2770
            new UrlAlias(
2771
                array(
2772
                    'id' => $id,
2773
                    'type' => UrlAlias::RESOURCE,
2774
                    'destination' => $destination,
2775
                    'languageCodes' => $languageCodes,
2776
                    'pathData' => $pathData,
2777
                    'alwaysAvailable' => $alwaysAvailable,
2778
                    'isHistory' => false,
2779
                    'isCustom' => true,
2780
                    'forward' => $forward,
2781
                )
2782
            ),
2783
            $urlAlias
2784
        );
2785
    }
2786
2787
    /**
2788
     * Test for the loadUrlAlias() method.