| @@ 3287-3432 (lines=146) @@ | ||
| 3284 | * |
|
| 3285 | * @group swap |
|
| 3286 | */ |
|
| 3287 | public function testLocationSwappedSimpleWithHistory() |
|
| 3288 | { |
|
| 3289 | $handler = $this->getHandler(); |
|
| 3290 | $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_swap_simple_history.php'); |
|
| 3291 | ||
| 3292 | $countBeforeReusing = $this->countRows(); |
|
| 3293 | ||
| 3294 | $handler->locationSwapped(316, 314, 317, 315); |
|
| 3295 | ||
| 3296 | $this->assertEquals( |
|
| 3297 | $countBeforeReusing, |
|
| 3298 | $this->countRows() |
|
| 3299 | ); |
|
| 3300 | ||
| 3301 | $urlAlias = $handler->lookup('jedan/swap'); |
|
| 3302 | $this->assertEquals( |
|
| 3303 | new UrlAlias( |
|
| 3304 | array( |
|
| 3305 | 'id' => '2-' . md5('swap'), |
|
| 3306 | 'type' => UrlAlias::LOCATION, |
|
| 3307 | 'destination' => 316, |
|
| 3308 | 'languageCodes' => array( |
|
| 3309 | 'cro-HR', |
|
| 3310 | ), |
|
| 3311 | 'pathData' => array( |
|
| 3312 | array( |
|
| 3313 | 'always-available' => false, |
|
| 3314 | 'translations' => array( |
|
| 3315 | 'cro-HR' => 'jedan', |
|
| 3316 | ), |
|
| 3317 | ), |
|
| 3318 | array( |
|
| 3319 | 'always-available' => false, |
|
| 3320 | 'translations' => array( |
|
| 3321 | 'cro-HR' => 'swap', |
|
| 3322 | ), |
|
| 3323 | ), |
|
| 3324 | ), |
|
| 3325 | 'alwaysAvailable' => false, |
|
| 3326 | 'isHistory' => true, |
|
| 3327 | 'isCustom' => false, |
|
| 3328 | 'forward' => false, |
|
| 3329 | ) |
|
| 3330 | ), |
|
| 3331 | $urlAlias |
|
| 3332 | ); |
|
| 3333 | ||
| 3334 | $urlAlias = $handler->lookup('dva/swap'); |
|
| 3335 | $this->assertEquals( |
|
| 3336 | new UrlAlias( |
|
| 3337 | array( |
|
| 3338 | 'id' => '3-' . md5('swap'), |
|
| 3339 | 'type' => UrlAlias::LOCATION, |
|
| 3340 | 'destination' => 317, |
|
| 3341 | 'languageCodes' => array( |
|
| 3342 | 'cro-HR', |
|
| 3343 | ), |
|
| 3344 | 'pathData' => array( |
|
| 3345 | array( |
|
| 3346 | 'always-available' => false, |
|
| 3347 | 'translations' => array( |
|
| 3348 | 'cro-HR' => 'dva', |
|
| 3349 | ), |
|
| 3350 | ), |
|
| 3351 | array( |
|
| 3352 | 'always-available' => false, |
|
| 3353 | 'translations' => array( |
|
| 3354 | 'cro-HR' => 'swap', |
|
| 3355 | ), |
|
| 3356 | ), |
|
| 3357 | ), |
|
| 3358 | 'alwaysAvailable' => false, |
|
| 3359 | 'isHistory' => true, |
|
| 3360 | 'isCustom' => false, |
|
| 3361 | 'forward' => false, |
|
| 3362 | ) |
|
| 3363 | ), |
|
| 3364 | $urlAlias |
|
| 3365 | ); |
|
| 3366 | ||
| 3367 | $urlAlias = $handler->lookup('jedan/swap-new'); |
|
| 3368 | $this->assertEquals( |
|
| 3369 | new UrlAlias( |
|
| 3370 | array( |
|
| 3371 | 'id' => '2-' . md5('swap-new'), |
|
| 3372 | 'type' => UrlAlias::LOCATION, |
|
| 3373 | 'destination' => 316, |
|
| 3374 | 'languageCodes' => array( |
|
| 3375 | 'cro-HR', |
|
| 3376 | ), |
|
| 3377 | 'pathData' => array( |
|
| 3378 | array( |
|
| 3379 | 'always-available' => false, |
|
| 3380 | 'translations' => array( |
|
| 3381 | 'cro-HR' => 'jedan', |
|
| 3382 | ), |
|
| 3383 | ), |
|
| 3384 | array( |
|
| 3385 | 'always-available' => false, |
|
| 3386 | 'translations' => array( |
|
| 3387 | 'cro-HR' => 'swap-new', |
|
| 3388 | ), |
|
| 3389 | ), |
|
| 3390 | ), |
|
| 3391 | 'alwaysAvailable' => false, |
|
| 3392 | 'isHistory' => false, |
|
| 3393 | 'isCustom' => false, |
|
| 3394 | 'forward' => false, |
|
| 3395 | ) |
|
| 3396 | ), |
|
| 3397 | $urlAlias |
|
| 3398 | ); |
|
| 3399 | ||
| 3400 | $urlAlias = $handler->lookup('dva/swap-new'); |
|
| 3401 | $this->assertEquals( |
|
| 3402 | new UrlAlias( |
|
| 3403 | array( |
|
| 3404 | 'id' => '3-' . md5('swap-new'), |
|
| 3405 | 'type' => UrlAlias::LOCATION, |
|
| 3406 | 'destination' => 317, |
|
| 3407 | 'languageCodes' => array( |
|
| 3408 | 'cro-HR', |
|
| 3409 | ), |
|
| 3410 | 'pathData' => array( |
|
| 3411 | array( |
|
| 3412 | 'always-available' => false, |
|
| 3413 | 'translations' => array( |
|
| 3414 | 'cro-HR' => 'dva', |
|
| 3415 | ), |
|
| 3416 | ), |
|
| 3417 | array( |
|
| 3418 | 'always-available' => false, |
|
| 3419 | 'translations' => array( |
|
| 3420 | 'cro-HR' => 'swap-new', |
|
| 3421 | ), |
|
| 3422 | ), |
|
| 3423 | ), |
|
| 3424 | 'alwaysAvailable' => false, |
|
| 3425 | 'isHistory' => false, |
|
| 3426 | 'isCustom' => false, |
|
| 3427 | 'forward' => false, |
|
| 3428 | ) |
|
| 3429 | ), |
|
| 3430 | $urlAlias |
|
| 3431 | ); |
|
| 3432 | } |
|
| 3433 | ||
| 3434 | /** |
|
| 3435 | * Test for the locationSwapped() method. |
|
| @@ 4937-5082 (lines=146) @@ | ||
| 4934 | * |
|
| 4935 | * @group swap |
|
| 4936 | */ |
|
| 4937 | public function testLocationSwappedWithReusingExternalHistory() |
|
| 4938 | { |
|
| 4939 | $handler = $this->getHandler(); |
|
| 4940 | $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_swap_reusing_external_history.php'); |
|
| 4941 | ||
| 4942 | $countBeforeReusing = $this->countRows(); |
|
| 4943 | ||
| 4944 | $handler->locationSwapped(318, 314, 319, 315); |
|
| 4945 | ||
| 4946 | $this->assertEquals( |
|
| 4947 | $countBeforeReusing, |
|
| 4948 | $this->countRows() |
|
| 4949 | ); |
|
| 4950 | ||
| 4951 | $urlAlias = $handler->lookup('jedan/swap-that'); |
|
| 4952 | $this->assertEquals( |
|
| 4953 | new UrlAlias( |
|
| 4954 | array( |
|
| 4955 | 'id' => '2-' . md5('swap-that'), |
|
| 4956 | 'type' => UrlAlias::LOCATION, |
|
| 4957 | 'destination' => 318, |
|
| 4958 | 'languageCodes' => array( |
|
| 4959 | 'cro-HR', |
|
| 4960 | ), |
|
| 4961 | 'pathData' => array( |
|
| 4962 | array( |
|
| 4963 | 'always-available' => false, |
|
| 4964 | 'translations' => array( |
|
| 4965 | 'cro-HR' => 'jedan', |
|
| 4966 | ), |
|
| 4967 | ), |
|
| 4968 | array( |
|
| 4969 | 'always-available' => false, |
|
| 4970 | 'translations' => array( |
|
| 4971 | 'cro-HR' => 'swap-that', |
|
| 4972 | ), |
|
| 4973 | ), |
|
| 4974 | ), |
|
| 4975 | 'alwaysAvailable' => false, |
|
| 4976 | 'isHistory' => false, |
|
| 4977 | 'isCustom' => false, |
|
| 4978 | 'forward' => false, |
|
| 4979 | ) |
|
| 4980 | ), |
|
| 4981 | $urlAlias |
|
| 4982 | ); |
|
| 4983 | ||
| 4984 | $urlAlias = $handler->lookup('dva/swap-this'); |
|
| 4985 | $this->assertEquals( |
|
| 4986 | new UrlAlias( |
|
| 4987 | array( |
|
| 4988 | 'id' => '3-' . md5('swap-this'), |
|
| 4989 | 'type' => UrlAlias::LOCATION, |
|
| 4990 | 'destination' => 319, |
|
| 4991 | 'languageCodes' => array( |
|
| 4992 | 'cro-HR', |
|
| 4993 | ), |
|
| 4994 | 'pathData' => array( |
|
| 4995 | array( |
|
| 4996 | 'always-available' => false, |
|
| 4997 | 'translations' => array( |
|
| 4998 | 'cro-HR' => 'dva', |
|
| 4999 | ), |
|
| 5000 | ), |
|
| 5001 | array( |
|
| 5002 | 'always-available' => false, |
|
| 5003 | 'translations' => array( |
|
| 5004 | 'cro-HR' => 'swap-this', |
|
| 5005 | ), |
|
| 5006 | ), |
|
| 5007 | ), |
|
| 5008 | 'alwaysAvailable' => false, |
|
| 5009 | 'isHistory' => false, |
|
| 5010 | 'isCustom' => false, |
|
| 5011 | 'forward' => false, |
|
| 5012 | ) |
|
| 5013 | ), |
|
| 5014 | $urlAlias |
|
| 5015 | ); |
|
| 5016 | ||
| 5017 | $urlAlias = $handler->lookup('dva/swap-that'); |
|
| 5018 | $this->assertEquals( |
|
| 5019 | new UrlAlias( |
|
| 5020 | array( |
|
| 5021 | 'id' => '3-' . md5('swap-that'), |
|
| 5022 | 'type' => UrlAlias::LOCATION, |
|
| 5023 | 'destination' => 319, |
|
| 5024 | 'languageCodes' => array( |
|
| 5025 | 'cro-HR', |
|
| 5026 | ), |
|
| 5027 | 'pathData' => array( |
|
| 5028 | array( |
|
| 5029 | 'always-available' => false, |
|
| 5030 | 'translations' => array( |
|
| 5031 | 'cro-HR' => 'dva', |
|
| 5032 | ), |
|
| 5033 | ), |
|
| 5034 | array( |
|
| 5035 | 'always-available' => false, |
|
| 5036 | 'translations' => array( |
|
| 5037 | 'cro-HR' => 'swap-that', |
|
| 5038 | ), |
|
| 5039 | ), |
|
| 5040 | ), |
|
| 5041 | 'alwaysAvailable' => false, |
|
| 5042 | 'isHistory' => true, |
|
| 5043 | 'isCustom' => false, |
|
| 5044 | 'forward' => false, |
|
| 5045 | ) |
|
| 5046 | ), |
|
| 5047 | $urlAlias |
|
| 5048 | ); |
|
| 5049 | ||
| 5050 | $urlAlias = $handler->lookup('jedan/swap-this'); |
|
| 5051 | $this->assertEquals( |
|
| 5052 | new UrlAlias( |
|
| 5053 | array( |
|
| 5054 | 'id' => '2-' . md5('swap-this'), |
|
| 5055 | 'type' => UrlAlias::LOCATION, |
|
| 5056 | 'destination' => 318, |
|
| 5057 | 'languageCodes' => array( |
|
| 5058 | 'cro-HR', |
|
| 5059 | ), |
|
| 5060 | 'pathData' => array( |
|
| 5061 | array( |
|
| 5062 | 'always-available' => false, |
|
| 5063 | 'translations' => array( |
|
| 5064 | 'cro-HR' => 'jedan', |
|
| 5065 | ), |
|
| 5066 | ), |
|
| 5067 | array( |
|
| 5068 | 'always-available' => false, |
|
| 5069 | 'translations' => array( |
|
| 5070 | 'cro-HR' => 'swap-this', |
|
| 5071 | ), |
|
| 5072 | ), |
|
| 5073 | ), |
|
| 5074 | 'alwaysAvailable' => false, |
|
| 5075 | 'isHistory' => true, |
|
| 5076 | 'isCustom' => false, |
|
| 5077 | 'forward' => false, |
|
| 5078 | ) |
|
| 5079 | ), |
|
| 5080 | $urlAlias |
|
| 5081 | ); |
|
| 5082 | } |
|
| 5083 | ||
| 5084 | /** |
|
| 5085 | * Test for the locationSwapped() method. |
|
| @@ 5089-5234 (lines=146) @@ | ||
| 5086 | * |
|
| 5087 | * @group swap |
|
| 5088 | */ |
|
| 5089 | public function testLocationSwappedWithReusingNopEntry() |
|
| 5090 | { |
|
| 5091 | $handler = $this->getHandler(); |
|
| 5092 | $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_swap_reusing_nop.php'); |
|
| 5093 | ||
| 5094 | $countBeforeReusing = $this->countRows(); |
|
| 5095 | ||
| 5096 | $handler->locationSwapped(316, 314, 317, 315); |
|
| 5097 | ||
| 5098 | $this->assertEquals( |
|
| 5099 | $countBeforeReusing + 1, |
|
| 5100 | $this->countRows() |
|
| 5101 | ); |
|
| 5102 | ||
| 5103 | $urlAlias = $handler->lookup('jedan/swap-that'); |
|
| 5104 | $this->assertEquals( |
|
| 5105 | new UrlAlias( |
|
| 5106 | array( |
|
| 5107 | 'id' => '2-' . md5('swap-that'), |
|
| 5108 | 'type' => UrlAlias::LOCATION, |
|
| 5109 | 'destination' => 316, |
|
| 5110 | 'languageCodes' => array( |
|
| 5111 | 'cro-HR', |
|
| 5112 | ), |
|
| 5113 | 'pathData' => array( |
|
| 5114 | array( |
|
| 5115 | 'always-available' => false, |
|
| 5116 | 'translations' => array( |
|
| 5117 | 'cro-HR' => 'jedan', |
|
| 5118 | ), |
|
| 5119 | ), |
|
| 5120 | array( |
|
| 5121 | 'always-available' => false, |
|
| 5122 | 'translations' => array( |
|
| 5123 | 'cro-HR' => 'swap-that', |
|
| 5124 | ), |
|
| 5125 | ), |
|
| 5126 | ), |
|
| 5127 | 'alwaysAvailable' => false, |
|
| 5128 | 'isHistory' => false, |
|
| 5129 | 'isCustom' => false, |
|
| 5130 | 'forward' => false, |
|
| 5131 | ) |
|
| 5132 | ), |
|
| 5133 | $urlAlias |
|
| 5134 | ); |
|
| 5135 | ||
| 5136 | $urlAlias = $handler->lookup('dva/swap-this'); |
|
| 5137 | $this->assertEquals( |
|
| 5138 | new UrlAlias( |
|
| 5139 | array( |
|
| 5140 | 'id' => '3-' . md5('swap-this'), |
|
| 5141 | 'type' => UrlAlias::LOCATION, |
|
| 5142 | 'destination' => 317, |
|
| 5143 | 'languageCodes' => array( |
|
| 5144 | 'cro-HR', |
|
| 5145 | ), |
|
| 5146 | 'pathData' => array( |
|
| 5147 | array( |
|
| 5148 | 'always-available' => false, |
|
| 5149 | 'translations' => array( |
|
| 5150 | 'cro-HR' => 'dva', |
|
| 5151 | ), |
|
| 5152 | ), |
|
| 5153 | array( |
|
| 5154 | 'always-available' => false, |
|
| 5155 | 'translations' => array( |
|
| 5156 | 'cro-HR' => 'swap-this', |
|
| 5157 | ), |
|
| 5158 | ), |
|
| 5159 | ), |
|
| 5160 | 'alwaysAvailable' => false, |
|
| 5161 | 'isHistory' => false, |
|
| 5162 | 'isCustom' => false, |
|
| 5163 | 'forward' => false, |
|
| 5164 | ) |
|
| 5165 | ), |
|
| 5166 | $urlAlias |
|
| 5167 | ); |
|
| 5168 | ||
| 5169 | $urlAlias = $handler->lookup('dva/swap-that'); |
|
| 5170 | $this->assertEquals( |
|
| 5171 | new UrlAlias( |
|
| 5172 | array( |
|
| 5173 | 'id' => '3-' . md5('swap-that'), |
|
| 5174 | 'type' => UrlAlias::LOCATION, |
|
| 5175 | 'destination' => 317, |
|
| 5176 | 'languageCodes' => array( |
|
| 5177 | 'cro-HR', |
|
| 5178 | ), |
|
| 5179 | 'pathData' => array( |
|
| 5180 | array( |
|
| 5181 | 'always-available' => false, |
|
| 5182 | 'translations' => array( |
|
| 5183 | 'cro-HR' => 'dva', |
|
| 5184 | ), |
|
| 5185 | ), |
|
| 5186 | array( |
|
| 5187 | 'always-available' => false, |
|
| 5188 | 'translations' => array( |
|
| 5189 | 'cro-HR' => 'swap-that', |
|
| 5190 | ), |
|
| 5191 | ), |
|
| 5192 | ), |
|
| 5193 | 'alwaysAvailable' => false, |
|
| 5194 | 'isHistory' => true, |
|
| 5195 | 'isCustom' => false, |
|
| 5196 | 'forward' => false, |
|
| 5197 | ) |
|
| 5198 | ), |
|
| 5199 | $urlAlias |
|
| 5200 | ); |
|
| 5201 | ||
| 5202 | $urlAlias = $handler->lookup('jedan/swap-this'); |
|
| 5203 | $this->assertEquals( |
|
| 5204 | new UrlAlias( |
|
| 5205 | array( |
|
| 5206 | 'id' => '2-' . md5('swap-this'), |
|
| 5207 | 'type' => UrlAlias::LOCATION, |
|
| 5208 | 'destination' => 316, |
|
| 5209 | 'languageCodes' => array( |
|
| 5210 | 'cro-HR', |
|
| 5211 | ), |
|
| 5212 | 'pathData' => array( |
|
| 5213 | array( |
|
| 5214 | 'always-available' => false, |
|
| 5215 | 'translations' => array( |
|
| 5216 | 'cro-HR' => 'jedan', |
|
| 5217 | ), |
|
| 5218 | ), |
|
| 5219 | array( |
|
| 5220 | 'always-available' => false, |
|
| 5221 | 'translations' => array( |
|
| 5222 | 'cro-HR' => 'swap-this', |
|
| 5223 | ), |
|
| 5224 | ), |
|
| 5225 | ), |
|
| 5226 | 'alwaysAvailable' => false, |
|
| 5227 | 'isHistory' => true, |
|
| 5228 | 'isCustom' => false, |
|
| 5229 | 'forward' => false, |
|
| 5230 | ) |
|
| 5231 | ), |
|
| 5232 | $urlAlias |
|
| 5233 | ); |
|
| 5234 | } |
|
| 5235 | ||
| 5236 | /** |
|
| 5237 | * Test for the locationSwapped() method. |
|