Code Duplication    Length = 69-69 lines in 2 locations

eZ/Publish/Core/Search/Legacy/Tests/Content/HandlerContentSortTest.php 1 location

@@ 427-495 (lines=69) @@
424
        );
425
    }
426
427
    public function testSortFieldText()
428
    {
429
        $locator = $this->getContentSearchHandler();
430
431
        $result = $locator->findContent(
432
            new Query(
433
                array(
434
                    'filter' => new Criterion\LogicalAnd(
435
                        array(
436
                            new Criterion\SectionId(array(1)),
437
                            new Criterion\ContentTypeIdentifier(array('article')),
438
                        )
439
                    ),
440
                    'offset' => 0,
441
                    'limit' => null,
442
                    'sortClauses' => array(
443
                        new SortClause\Field('article', 'title', Query::SORT_ASC, 'eng-US'),
444
                    ),
445
                )
446
            )
447
        );
448
449
        // There are several identical titles, need to take care about this
450
        $idMapSet = array(
451
            'aenean malesuada ligula' => array(83),
452
            'aliquam pulvinar suscipit tellus' => array(102),
453
            'asynchronous publishing' => array(148, 215),
454
            'canonical links' => array(147, 216),
455
            'class aptent taciti' => array(88),
456
            'class aptent taciti sociosqu' => array(82),
457
            'duis auctor vehicula erat' => array(89),
458
            'etiam posuere sodales arcu' => array(78),
459
            'etiam sodales mauris' => array(87),
460
            'ez publish enterprise' => array(151),
461
            'fastcgi' => array(144, 218),
462
            'fusce sagittis sagittis' => array(77),
463
            'fusce sagittis sagittis urna' => array(81),
464
            'get involved' => array(107),
465
            'how to develop with ez publish' => array(127, 211),
466
            'how to manage ez publish' => array(118, 202),
467
            'how to use ez publish' => array(108, 193),
468
            'improved block editing' => array(136),
469
            'improved front-end editing' => array(139),
470
            'improved user registration workflow' => array(132),
471
            'in hac habitasse platea' => array(79),
472
            'lots of websites, one ez publish installation' => array(130),
473
            'rest api interface' => array(150, 214),
474
            'separate content & design in ez publish' => array(191),
475
            'support for red hat enterprise' => array(145, 217),
476
            'tutorials for' => array(106),
477
        );
478
        $contentIds = array_map(
479
            function ($hit) {
480
                return $hit->valueObject->id;
481
            },
482
            $result->searchHits
483
        );
484
        $index = 0;
485
486
        foreach ($idMapSet as $idSet) {
487
            $contentIdsSubset = array_slice($contentIds, $index, $count = count($idSet));
488
            $index += $count;
489
            sort($contentIdsSubset);
490
            $this->assertEquals(
491
                $idSet,
492
                $contentIdsSubset
493
            );
494
        }
495
    }
496
497
    public function testSortFieldNumeric()
498
    {

eZ/Publish/Core/Search/Legacy/Tests/Content/HandlerLocationSortTest.php 1 location

@@ 581-649 (lines=69) @@
578
        }
579
    }
580
581
    public function testSortFieldText()
582
    {
583
        $handler = $this->getContentSearchHandler();
584
585
        $result = $handler->findLocations(
586
            new LocationQuery(
587
                array(
588
                    'filter' => new Criterion\LogicalAnd(
589
                        array(
590
                            new Criterion\SectionId(array(1)),
591
                            new Criterion\ContentTypeIdentifier(array('article')),
592
                        )
593
                    ),
594
                    'offset' => 0,
595
                    'limit' => null,
596
                    'sortClauses' => array(
597
                        new SortClause\Field('article', 'title', LocationQuery::SORT_ASC, 'eng-US'),
598
                    ),
599
                )
600
            )
601
        );
602
603
        // There are several identical titles, need to take care about this
604
        $idMapSet = array(
605
            'aenean malesuada ligula' => array(85),
606
            'aliquam pulvinar suscipit tellus' => array(104),
607
            'asynchronous publishing' => array(150, 217),
608
            'canonical links' => array(149, 218),
609
            'class aptent taciti' => array(90),
610
            'class aptent taciti sociosqu' => array(84),
611
            'duis auctor vehicula erat' => array(91),
612
            'etiam posuere sodales arcu' => array(80),
613
            'etiam sodales mauris' => array(89),
614
            'ez publish enterprise' => array(153),
615
            'fastcgi' => array(146, 220),
616
            'fusce sagittis sagittis' => array(79),
617
            'fusce sagittis sagittis urna' => array(83),
618
            'get involved' => array(109),
619
            'how to develop with ez publish' => array(129, 213),
620
            'how to manage ez publish' => array(120, 204),
621
            'how to use ez publish' => array(110, 195),
622
            'improved block editing' => array(138),
623
            'improved front-end editing' => array(141),
624
            'improved user registration workflow' => array(134),
625
            'in hac habitasse platea' => array(81),
626
            'lots of websites, one ez publish installation' => array(132),
627
            'rest api interface' => array(152, 216),
628
            'separate content & design in ez publish' => array(193),
629
            'support for red hat enterprise' => array(147, 219),
630
            'tutorials for' => array(108),
631
        );
632
        $locationIds = array_map(
633
            function ($hit) {
634
                return $hit->valueObject->id;
635
            },
636
            $result->searchHits
637
        );
638
        $index = 0;
639
640
        foreach ($idMapSet as $idSet) {
641
            $locationIdsSubset = array_slice($locationIds, $index, $count = count($idSet));
642
            $index += $count;
643
            sort($locationIdsSubset);
644
            $this->assertEquals(
645
                $idSet,
646
                $locationIdsSubset
647
            );
648
        }
649
    }
650
651
    public function testSortFieldNumeric()
652
    {