Passed
Push — fix_coverage_in_scrutinizer ( cd0379...a04ba4 )
by Herberto
13:22
created

FixturesTrait::getRandomPostTitles()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 11
ccs 0
cts 6
cp 0
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 6
nc 1
nop 0
crap 2
1
<?php
2
3
/*
4
 * This file is part of the Symfony package.
5
 *
6
 * (c) Fabien Potencier <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace App\DataFixtures;
13
14
/**
15
 * Helper class to create fixtures contents.
16
 */
17
trait FixturesTrait
18
{
19 1
    private function getPostContent(): string
20
    {
21
        return <<<'MARKDOWN'
22 1
Lorem ipsum dolor sit amet consectetur adipisicing elit, sed do eiusmod tempor
23
incididunt ut labore et **dolore magna aliqua**: Duis aute irure dolor in
24
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
25
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
26
deserunt mollit anim id est laborum.
27
28
  * Ut enim ad minim veniam
29
  * Quis nostrud exercitation *ullamco laboris*
30
  * Nisi ut aliquip ex ea commodo consequat
31
32
Praesent id fermentum lorem. Ut est lorem, fringilla at accumsan nec, euismod at
33
nunc. Aenean mattis sollicitudin mattis. Nullam pulvinar vestibulum bibendum.
34
Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos
35
himenaeos. Fusce nulla purus, gravida ac interdum ut, blandit eget ex. Duis a
36
luctus dolor.
37
38
Integer auctor massa maximus nulla scelerisque accumsan. *Aliquam ac malesuada*
39
ex. Pellentesque tortor magna, vulputate eu vulputate ut, venenatis ac lectus.
40
Praesent ut lacinia sem. Mauris a lectus eget felis mollis feugiat. Quisque
41
efficitur, mi ut semper pulvinar, urna urna blandit massa, eget tincidunt augue
42
nulla vitae est.
43
44
Ut posuere aliquet tincidunt. Aliquam erat volutpat. **Class aptent taciti**
45
sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi
46
arcu orci, gravida eget aliquam eu, suscipit et ante. Morbi vulputate metus vel
47
ipsum finibus, ut dapibus massa feugiat. Vestibulum vel lobortis libero. Sed
48
tincidunt tellus et viverra scelerisque. Pellentesque tincidunt cursus felis.
49
Sed in egestas erat.
50
51
Aliquam pulvinar interdum massa, vel ullamcorper ante consectetur eu. Vestibulum
52
lacinia ac enim vel placerat. Integer pulvinar magna nec dui malesuada, nec
53
congue nisl dictum. Donec mollis nisl tortor, at congue erat consequat a. Nam
54
tempus elit porta, blandit elit vel, viverra lorem. Sed sit amet tellus
55
tincidunt, faucibus nisl in, aliquet libero.
56
MARKDOWN;
57
    }
58
59 1
    private function getPhrases(): array
60
    {
61
        return [
62 1
            'Lorem ipsum dolor sit amet consectetur adipiscing elit',
63
            'Pellentesque vitae velit ex',
64
            'Mauris dapibus risus quis suscipit vulputate',
65
            'Eros diam egestas libero eu vulputate risus',
66
            'In hac habitasse platea dictumst',
67
            'Morbi tempus commodo mattis',
68
            'Ut suscipit posuere justo at vulputate',
69
            'Ut eleifend mauris et risus ultrices egestas',
70
            'Aliquam sodales odio id eleifend tristique',
71
            'Urna nisl sollicitudin id varius orci quam id turpis',
72
            'Nulla porta lobortis ligula vel egestas',
73
            'Curabitur aliquam euismod dolor non ornare',
74
            'Sed varius a risus eget aliquam',
75
            'Nunc viverra elit ac laoreet suscipit',
76
            'Pellentesque et sapien pulvinar consectetur',
77
            'Ubi est barbatus nix',
78
            'Abnobas sunt hilotaes de placidus vita',
79
            'Ubi est audax amicitia',
80
            'Eposs sunt solems de superbus fortis',
81
            'Vae humani generis',
82
            'Diatrias tolerare tanquam noster caesium',
83
            'Teres talis saepe tractare de camerarius flavum sensorem',
84
            'Silva de secundus galatae demitto quadra',
85
            'Sunt accentores vitare salvus flavum parses',
86
            'Potus sensim ad ferox abnoba',
87
            'Sunt seculaes transferre talis camerarius fluctuies',
88
            'Era brevis ratione est',
89
            'Sunt torquises imitari velox mirabilis medicinaes',
90
            'Mineralis persuadere omnes finises desiderium',
91
            'Bassus fatalis classiss virtualiter transferre de flavum',
92
        ];
93
    }
94
95
    private function getTagNames(): array
96
    {
97
        return [
98
            'lorem',
99
            'ipsum',
100
            'consectetur',
101
            'adipiscing',
102
            'incididunt',
103
            'labore',
104
            'voluptate',
105
            'dolore',
106
            'pariatur',
107
        ];
108
    }
109
110
    private function getRandomPostTitles(): array
111
    {
112
        $phrases = $this->getPhrases();
113
114
        // this ensures that the first title is always 'Lorem Ipsum...'
115
        $loremIpsumPhrase = array_shift($phrases);
116
        shuffle($phrases);
117
        array_unshift($phrases, $loremIpsumPhrase);
118
119
        return $phrases;
120
    }
121
122 1
    private function getRandomPostSummary(int $maxLength = 255): string
123
    {
124 1
        $phrases = $this->getPhrases();
125
126 1
        $numPhrases = mt_rand(6, 12);
127 1
        shuffle($phrases);
128 1
        $phrases = array_slice($phrases, 0, $numPhrases - 1);
129
130 1
        while (mb_strlen($summary = implode('. ', $phrases).'.') > $maxLength) {
131 1
            array_pop($phrases);
132
        }
133
134 1
        return $summary;
135
    }
136
137
    private function getRandomCommentContent(): string
138
    {
139
        $phrases = $this->getPhrases();
140
141
        $numPhrases = mt_rand(2, 15);
142
        shuffle($phrases);
143
144
        return implode(' ', array_slice($phrases, 0, $numPhrases - 1));
145
    }
146
}
147