vojtasvoboda /
oc-twigextensions-plugin
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
| 1 | <?php |
||
| 2 | |||
| 3 | namespace VojtaSvoboda\TwigExtensions\Tests; |
||
| 4 | |||
| 5 | use App; |
||
| 6 | use Carbon\Carbon; |
||
| 7 | use PluginTestCase; |
||
| 8 | use Twig_Environment; |
||
| 9 | use Config; |
||
| 10 | |||
| 11 | require_once __DIR__ . '/../vendor/autoload.php'; |
||
| 12 | |||
| 13 | class PluginTest extends PluginTestCase |
||
| 14 | { |
||
| 15 | /** |
||
| 16 | * Return Twig environment |
||
| 17 | * |
||
| 18 | * @return Twig_Environment |
||
| 19 | */ |
||
| 20 | private function getTwig() |
||
| 21 | { |
||
| 22 | return App::make('twig.environment'); |
||
| 23 | } |
||
| 24 | |||
| 25 | View Code Duplication | public function testTemplateFromStringFunction() |
|
|
0 ignored issues
–
show
|
|||
| 26 | { |
||
| 27 | $twig = $this->getTwig(); |
||
| 28 | |||
| 29 | $template = "{% set name = 'John' %}"; |
||
| 30 | $template .= '{{ include(template_from_string("Hello {{ name }}")) }}'; |
||
| 31 | |||
| 32 | $twigTemplate = $twig->createTemplate($template); |
||
| 33 | $this->assertEquals($twigTemplate->render([]), 'Hello John'); |
||
| 34 | } |
||
| 35 | |||
| 36 | View Code Duplication | public function testTruncateFilterForFive() |
|
| 37 | { |
||
| 38 | $twig = $this->getTwig(); |
||
| 39 | |||
| 40 | $template = "{{ 'Gordon Freeman' | truncate(5) }}"; |
||
| 41 | |||
| 42 | $twigTemplate = $twig->createTemplate($template); |
||
| 43 | $this->assertEquals($twigTemplate->render([]), 'Gordo...'); |
||
| 44 | } |
||
| 45 | |||
| 46 | View Code Duplication | public function testTruncateFilterForDefault() |
|
| 47 | { |
||
| 48 | $twig = $this->getTwig(); |
||
| 49 | |||
| 50 | $template = "{{ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit' | truncate }}"; |
||
| 51 | |||
| 52 | $twigTemplate = $twig->createTemplate($template); |
||
| 53 | $this->assertEquals($twigTemplate->render([]), 'Lorem ipsum dolor sit amet, co...'); |
||
| 54 | } |
||
| 55 | |||
| 56 | View Code Duplication | public function testTruncateFilterWithSeparator() |
|
| 57 | { |
||
| 58 | $twig = $this->getTwig(); |
||
| 59 | |||
| 60 | $template = "{{ 'Gordon Freeman' | truncate(5, false, '-') }}"; |
||
| 61 | |||
| 62 | $twigTemplate = $twig->createTemplate($template); |
||
| 63 | $this->assertEquals($twigTemplate->render([]), 'Gordo-'); |
||
| 64 | } |
||
| 65 | |||
| 66 | View Code Duplication | public function testWordWrapFilter() |
|
| 67 | { |
||
| 68 | $twig = $this->getTwig(); |
||
| 69 | |||
| 70 | $template = "{{ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit' | wordwrap(10) }}"; |
||
| 71 | |||
| 72 | $twigTemplate = $twig->createTemplate($template); |
||
| 73 | $this->assertEquals($twigTemplate->render([]), "Lorem ipsu\nm dolor si\nt amet, co\nnsectetur \nadipiscing\n elit"); |
||
| 74 | } |
||
| 75 | |||
| 76 | public function testShuffleFilter() |
||
| 77 | { |
||
| 78 | $twig = $this->getTwig(); |
||
| 79 | |||
| 80 | $template = "{{ [1, 2, 3] | shuffle }}"; |
||
| 81 | |||
| 82 | /* |
||
| 83 | $twigTemplate = $twig->createTemplate($template); |
||
| 84 | $twigTemplate->render([]); |
||
| 85 | */ |
||
| 86 | } |
||
| 87 | |||
| 88 | public function testTimeDiffFunction() |
||
| 89 | { |
||
| 90 | $twig = $this->getTwig(); |
||
| 91 | |||
| 92 | $now = Carbon::now()->subMinute(); |
||
| 93 | $template = "{{ '" . $now->format('Y-m-d H:i:s') . "' | time_diff }}"; |
||
| 94 | |||
| 95 | $twigTemplate = $twig->createTemplate($template); |
||
| 96 | $this->assertEquals($twigTemplate->render([]), '1 minute ago'); |
||
| 97 | } |
||
| 98 | |||
| 99 | View Code Duplication | public function testStrftimeFunction() |
|
| 100 | { |
||
| 101 | $twig = $this->getTwig(); |
||
| 102 | |||
| 103 | $template = "{{ '2016-03-24 23:05' | strftime('%d.%m.%Y %H:%M:%S') }}"; |
||
| 104 | |||
| 105 | $twigTemplate = $twig->createTemplate($template); |
||
| 106 | $this->assertEquals($twigTemplate->render([]), '24.03.2016 23:05:00'); |
||
| 107 | } |
||
| 108 | |||
| 109 | View Code Duplication | public function testUppercaseFunction() |
|
| 110 | { |
||
| 111 | $twig = $this->getTwig(); |
||
| 112 | |||
| 113 | $template = "{{ 'Jack' | uppercase }}"; |
||
| 114 | |||
| 115 | $twigTemplate = $twig->createTemplate($template); |
||
| 116 | $this->assertEquals($twigTemplate->render([]), 'JACK'); |
||
| 117 | } |
||
| 118 | |||
| 119 | View Code Duplication | public function testLowercaseFunction() |
|
| 120 | { |
||
| 121 | $twig = $this->getTwig(); |
||
| 122 | |||
| 123 | $template = "{{ 'JACK' | lowercase }}"; |
||
| 124 | |||
| 125 | $twigTemplate = $twig->createTemplate($template); |
||
| 126 | $this->assertEquals($twigTemplate->render([]), 'jack'); |
||
| 127 | } |
||
| 128 | |||
| 129 | View Code Duplication | public function testUcfirstFunction() |
|
| 130 | { |
||
| 131 | $twig = $this->getTwig(); |
||
| 132 | |||
| 133 | $template = "{{ 'jack' | ucfirst }}"; |
||
| 134 | |||
| 135 | $twigTemplate = $twig->createTemplate($template); |
||
| 136 | $this->assertEquals($twigTemplate->render([]), 'Jack'); |
||
| 137 | } |
||
| 138 | |||
| 139 | View Code Duplication | public function testLcfirstFunction() |
|
| 140 | { |
||
| 141 | $twig = $this->getTwig(); |
||
| 142 | |||
| 143 | $template = "{{ 'JACK' | lcfirst }}"; |
||
| 144 | |||
| 145 | $twigTemplate = $twig->createTemplate($template); |
||
| 146 | $this->assertEquals($twigTemplate->render([]), 'jACK'); |
||
| 147 | } |
||
| 148 | |||
| 149 | View Code Duplication | public function testLtrimFunction() |
|
| 150 | { |
||
| 151 | $twig = $this->getTwig(); |
||
| 152 | |||
| 153 | $template = "{{ ' jack' | ltrim }}"; |
||
| 154 | |||
| 155 | $twigTemplate = $twig->createTemplate($template); |
||
| 156 | $this->assertEquals($twigTemplate->render([]), 'jack'); |
||
| 157 | } |
||
| 158 | |||
| 159 | View Code Duplication | public function testRtrimFunction() |
|
| 160 | { |
||
| 161 | $twig = $this->getTwig(); |
||
| 162 | |||
| 163 | $template = "{{ 'jack ' | rtrim }}"; |
||
| 164 | |||
| 165 | $twigTemplate = $twig->createTemplate($template); |
||
| 166 | $this->assertEquals($twigTemplate->render([]), 'jack'); |
||
| 167 | } |
||
| 168 | |||
| 169 | View Code Duplication | public function testStrRepeatFunction() |
|
| 170 | { |
||
| 171 | $twig = $this->getTwig(); |
||
| 172 | |||
| 173 | $template = "{{ ' best' | str_repeat(3) }}"; |
||
| 174 | |||
| 175 | $twigTemplate = $twig->createTemplate($template); |
||
| 176 | $this->assertEquals($twigTemplate->render([]), ' best best best'); |
||
| 177 | } |
||
| 178 | |||
| 179 | View Code Duplication | public function testPluralFunction() |
|
| 180 | { |
||
| 181 | $twig = $this->getTwig(); |
||
| 182 | |||
| 183 | $template = "{{ 'mail' | plural(count) }}"; |
||
| 184 | |||
| 185 | $twigTemplate = $twig->createTemplate($template); |
||
| 186 | $this->assertEquals($twigTemplate->render([]), 'mails'); |
||
| 187 | } |
||
| 188 | |||
| 189 | View Code Duplication | public function testStrpadFunction() |
|
| 190 | { |
||
| 191 | $twig = $this->getTwig(); |
||
| 192 | |||
| 193 | $template = "{{ 'test' | strpad(10) }}"; |
||
| 194 | |||
| 195 | $twigTemplate = $twig->createTemplate($template); |
||
| 196 | $this->assertEquals($twigTemplate->render([]), ' test '); |
||
| 197 | } |
||
| 198 | |||
| 199 | View Code Duplication | public function testLeftpadFunction() |
|
| 200 | { |
||
| 201 | $twig = $this->getTwig(); |
||
| 202 | |||
| 203 | $template = "{{ 'test' | leftpad(7) }}"; |
||
| 204 | |||
| 205 | $twigTemplate = $twig->createTemplate($template); |
||
| 206 | $this->assertEquals($twigTemplate->render([]), ' test'); |
||
| 207 | } |
||
| 208 | |||
| 209 | View Code Duplication | public function testRightpadFunction() |
|
| 210 | { |
||
| 211 | $twig = $this->getTwig(); |
||
| 212 | |||
| 213 | $template = "{{ 'test' | rightpad(7, 'o') }}"; |
||
| 214 | |||
| 215 | $twigTemplate = $twig->createTemplate($template); |
||
| 216 | $this->assertEquals($twigTemplate->render([]), 'testooo'); |
||
| 217 | } |
||
| 218 | |||
| 219 | View Code Duplication | public function testConfigFunction() |
|
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. Loading history...
|
|||
| 220 | { |
||
| 221 | $twig = $this->getTwig(); |
||
| 222 | |||
| 223 | Config::set('app.custom.key', 'test value'); |
||
| 224 | $template = "{{ config('app.custom.key') }}"; |
||
| 225 | |||
| 226 | $twigTemplate = $twig->createTemplate($template); |
||
| 227 | $this->assertEquals($twigTemplate->render([]), 'test value'); |
||
| 228 | } |
||
| 229 | } |
||
| 230 |
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.
You can also find more detailed suggestions in the “Code” section of your repository.