| @@ 3217-3362 (lines=146) @@ | ||
| 3214 | * |
|
| 3215 | * @group swap |
|
| 3216 | */ |
|
| 3217 | public function testLocationSwappedSimpleWithHistory() |
|
| 3218 | { |
|
| 3219 | $handler = $this->getHandler(); |
|
| 3220 | $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_swap_simple_history.php'); |
|
| 3221 | ||
| 3222 | $countBeforeReusing = $this->countRows(); |
|
| 3223 | ||
| 3224 | $handler->locationSwapped(316, 314, 317, 315); |
|
| 3225 | ||
| 3226 | $this->assertEquals( |
|
| 3227 | $countBeforeReusing, |
|
| 3228 | $this->countRows() |
|
| 3229 | ); |
|
| 3230 | ||
| 3231 | $urlAlias = $handler->lookup('jedan/swap'); |
|
| 3232 | $this->assertEquals( |
|
| 3233 | new UrlAlias( |
|
| 3234 | array( |
|
| 3235 | 'id' => '2-' . md5('swap'), |
|
| 3236 | 'type' => UrlAlias::LOCATION, |
|
| 3237 | 'destination' => 316, |
|
| 3238 | 'languageCodes' => array( |
|
| 3239 | 'cro-HR', |
|
| 3240 | ), |
|
| 3241 | 'pathData' => array( |
|
| 3242 | array( |
|
| 3243 | 'always-available' => false, |
|
| 3244 | 'translations' => array( |
|
| 3245 | 'cro-HR' => 'jedan', |
|
| 3246 | ), |
|
| 3247 | ), |
|
| 3248 | array( |
|
| 3249 | 'always-available' => false, |
|
| 3250 | 'translations' => array( |
|
| 3251 | 'cro-HR' => 'swap', |
|
| 3252 | ), |
|
| 3253 | ), |
|
| 3254 | ), |
|
| 3255 | 'alwaysAvailable' => false, |
|
| 3256 | 'isHistory' => true, |
|
| 3257 | 'isCustom' => false, |
|
| 3258 | 'forward' => false, |
|
| 3259 | ) |
|
| 3260 | ), |
|
| 3261 | $urlAlias |
|
| 3262 | ); |
|
| 3263 | ||
| 3264 | $urlAlias = $handler->lookup('dva/swap'); |
|
| 3265 | $this->assertEquals( |
|
| 3266 | new UrlAlias( |
|
| 3267 | array( |
|
| 3268 | 'id' => '3-' . md5('swap'), |
|
| 3269 | 'type' => UrlAlias::LOCATION, |
|
| 3270 | 'destination' => 317, |
|
| 3271 | 'languageCodes' => array( |
|
| 3272 | 'cro-HR', |
|
| 3273 | ), |
|
| 3274 | 'pathData' => array( |
|
| 3275 | array( |
|
| 3276 | 'always-available' => false, |
|
| 3277 | 'translations' => array( |
|
| 3278 | 'cro-HR' => 'dva', |
|
| 3279 | ), |
|
| 3280 | ), |
|
| 3281 | array( |
|
| 3282 | 'always-available' => false, |
|
| 3283 | 'translations' => array( |
|
| 3284 | 'cro-HR' => 'swap', |
|
| 3285 | ), |
|
| 3286 | ), |
|
| 3287 | ), |
|
| 3288 | 'alwaysAvailable' => false, |
|
| 3289 | 'isHistory' => true, |
|
| 3290 | 'isCustom' => false, |
|
| 3291 | 'forward' => false, |
|
| 3292 | ) |
|
| 3293 | ), |
|
| 3294 | $urlAlias |
|
| 3295 | ); |
|
| 3296 | ||
| 3297 | $urlAlias = $handler->lookup('jedan/swap-new'); |
|
| 3298 | $this->assertEquals( |
|
| 3299 | new UrlAlias( |
|
| 3300 | array( |
|
| 3301 | 'id' => '2-' . md5('swap-new'), |
|
| 3302 | 'type' => UrlAlias::LOCATION, |
|
| 3303 | 'destination' => 316, |
|
| 3304 | 'languageCodes' => array( |
|
| 3305 | 'cro-HR', |
|
| 3306 | ), |
|
| 3307 | 'pathData' => array( |
|
| 3308 | array( |
|
| 3309 | 'always-available' => false, |
|
| 3310 | 'translations' => array( |
|
| 3311 | 'cro-HR' => 'jedan', |
|
| 3312 | ), |
|
| 3313 | ), |
|
| 3314 | array( |
|
| 3315 | 'always-available' => false, |
|
| 3316 | 'translations' => array( |
|
| 3317 | 'cro-HR' => 'swap-new', |
|
| 3318 | ), |
|
| 3319 | ), |
|
| 3320 | ), |
|
| 3321 | 'alwaysAvailable' => false, |
|
| 3322 | 'isHistory' => false, |
|
| 3323 | 'isCustom' => false, |
|
| 3324 | 'forward' => false, |
|
| 3325 | ) |
|
| 3326 | ), |
|
| 3327 | $urlAlias |
|
| 3328 | ); |
|
| 3329 | ||
| 3330 | $urlAlias = $handler->lookup('dva/swap-new'); |
|
| 3331 | $this->assertEquals( |
|
| 3332 | new UrlAlias( |
|
| 3333 | array( |
|
| 3334 | 'id' => '3-' . md5('swap-new'), |
|
| 3335 | 'type' => UrlAlias::LOCATION, |
|
| 3336 | 'destination' => 317, |
|
| 3337 | 'languageCodes' => array( |
|
| 3338 | 'cro-HR', |
|
| 3339 | ), |
|
| 3340 | 'pathData' => array( |
|
| 3341 | array( |
|
| 3342 | 'always-available' => false, |
|
| 3343 | 'translations' => array( |
|
| 3344 | 'cro-HR' => 'dva', |
|
| 3345 | ), |
|
| 3346 | ), |
|
| 3347 | array( |
|
| 3348 | 'always-available' => false, |
|
| 3349 | 'translations' => array( |
|
| 3350 | 'cro-HR' => 'swap-new', |
|
| 3351 | ), |
|
| 3352 | ), |
|
| 3353 | ), |
|
| 3354 | 'alwaysAvailable' => false, |
|
| 3355 | 'isHistory' => false, |
|
| 3356 | 'isCustom' => false, |
|
| 3357 | 'forward' => false, |
|
| 3358 | ) |
|
| 3359 | ), |
|
| 3360 | $urlAlias |
|
| 3361 | ); |
|
| 3362 | } |
|
| 3363 | ||
| 3364 | /** |
|
| 3365 | * Test for the locationSwapped() method. |
|
| @@ 4867-5012 (lines=146) @@ | ||
| 4864 | * |
|
| 4865 | * @group swap |
|
| 4866 | */ |
|
| 4867 | public function testLocationSwappedWithReusingExternalHistory() |
|
| 4868 | { |
|
| 4869 | $handler = $this->getHandler(); |
|
| 4870 | $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_swap_reusing_external_history.php'); |
|
| 4871 | ||
| 4872 | $countBeforeReusing = $this->countRows(); |
|
| 4873 | ||
| 4874 | $handler->locationSwapped(318, 314, 319, 315); |
|
| 4875 | ||
| 4876 | $this->assertEquals( |
|
| 4877 | $countBeforeReusing, |
|
| 4878 | $this->countRows() |
|
| 4879 | ); |
|
| 4880 | ||
| 4881 | $urlAlias = $handler->lookup('jedan/swap-that'); |
|
| 4882 | $this->assertEquals( |
|
| 4883 | new UrlAlias( |
|
| 4884 | array( |
|
| 4885 | 'id' => '2-' . md5('swap-that'), |
|
| 4886 | 'type' => UrlAlias::LOCATION, |
|
| 4887 | 'destination' => 318, |
|
| 4888 | 'languageCodes' => array( |
|
| 4889 | 'cro-HR', |
|
| 4890 | ), |
|
| 4891 | 'pathData' => array( |
|
| 4892 | array( |
|
| 4893 | 'always-available' => false, |
|
| 4894 | 'translations' => array( |
|
| 4895 | 'cro-HR' => 'jedan', |
|
| 4896 | ), |
|
| 4897 | ), |
|
| 4898 | array( |
|
| 4899 | 'always-available' => false, |
|
| 4900 | 'translations' => array( |
|
| 4901 | 'cro-HR' => 'swap-that', |
|
| 4902 | ), |
|
| 4903 | ), |
|
| 4904 | ), |
|
| 4905 | 'alwaysAvailable' => false, |
|
| 4906 | 'isHistory' => false, |
|
| 4907 | 'isCustom' => false, |
|
| 4908 | 'forward' => false, |
|
| 4909 | ) |
|
| 4910 | ), |
|
| 4911 | $urlAlias |
|
| 4912 | ); |
|
| 4913 | ||
| 4914 | $urlAlias = $handler->lookup('dva/swap-this'); |
|
| 4915 | $this->assertEquals( |
|
| 4916 | new UrlAlias( |
|
| 4917 | array( |
|
| 4918 | 'id' => '3-' . md5('swap-this'), |
|
| 4919 | 'type' => UrlAlias::LOCATION, |
|
| 4920 | 'destination' => 319, |
|
| 4921 | 'languageCodes' => array( |
|
| 4922 | 'cro-HR', |
|
| 4923 | ), |
|
| 4924 | 'pathData' => array( |
|
| 4925 | array( |
|
| 4926 | 'always-available' => false, |
|
| 4927 | 'translations' => array( |
|
| 4928 | 'cro-HR' => 'dva', |
|
| 4929 | ), |
|
| 4930 | ), |
|
| 4931 | array( |
|
| 4932 | 'always-available' => false, |
|
| 4933 | 'translations' => array( |
|
| 4934 | 'cro-HR' => 'swap-this', |
|
| 4935 | ), |
|
| 4936 | ), |
|
| 4937 | ), |
|
| 4938 | 'alwaysAvailable' => false, |
|
| 4939 | 'isHistory' => false, |
|
| 4940 | 'isCustom' => false, |
|
| 4941 | 'forward' => false, |
|
| 4942 | ) |
|
| 4943 | ), |
|
| 4944 | $urlAlias |
|
| 4945 | ); |
|
| 4946 | ||
| 4947 | $urlAlias = $handler->lookup('dva/swap-that'); |
|
| 4948 | $this->assertEquals( |
|
| 4949 | new UrlAlias( |
|
| 4950 | array( |
|
| 4951 | 'id' => '3-' . md5('swap-that'), |
|
| 4952 | 'type' => UrlAlias::LOCATION, |
|
| 4953 | 'destination' => 319, |
|
| 4954 | 'languageCodes' => array( |
|
| 4955 | 'cro-HR', |
|
| 4956 | ), |
|
| 4957 | 'pathData' => array( |
|
| 4958 | array( |
|
| 4959 | 'always-available' => false, |
|
| 4960 | 'translations' => array( |
|
| 4961 | 'cro-HR' => 'dva', |
|
| 4962 | ), |
|
| 4963 | ), |
|
| 4964 | array( |
|
| 4965 | 'always-available' => false, |
|
| 4966 | 'translations' => array( |
|
| 4967 | 'cro-HR' => 'swap-that', |
|
| 4968 | ), |
|
| 4969 | ), |
|
| 4970 | ), |
|
| 4971 | 'alwaysAvailable' => false, |
|
| 4972 | 'isHistory' => true, |
|
| 4973 | 'isCustom' => false, |
|
| 4974 | 'forward' => false, |
|
| 4975 | ) |
|
| 4976 | ), |
|
| 4977 | $urlAlias |
|
| 4978 | ); |
|
| 4979 | ||
| 4980 | $urlAlias = $handler->lookup('jedan/swap-this'); |
|
| 4981 | $this->assertEquals( |
|
| 4982 | new UrlAlias( |
|
| 4983 | array( |
|
| 4984 | 'id' => '2-' . md5('swap-this'), |
|
| 4985 | 'type' => UrlAlias::LOCATION, |
|
| 4986 | 'destination' => 318, |
|
| 4987 | 'languageCodes' => array( |
|
| 4988 | 'cro-HR', |
|
| 4989 | ), |
|
| 4990 | 'pathData' => array( |
|
| 4991 | array( |
|
| 4992 | 'always-available' => false, |
|
| 4993 | 'translations' => array( |
|
| 4994 | 'cro-HR' => 'jedan', |
|
| 4995 | ), |
|
| 4996 | ), |
|
| 4997 | array( |
|
| 4998 | 'always-available' => false, |
|
| 4999 | 'translations' => array( |
|
| 5000 | 'cro-HR' => 'swap-this', |
|
| 5001 | ), |
|
| 5002 | ), |
|
| 5003 | ), |
|
| 5004 | 'alwaysAvailable' => false, |
|
| 5005 | 'isHistory' => true, |
|
| 5006 | 'isCustom' => false, |
|
| 5007 | 'forward' => false, |
|
| 5008 | ) |
|
| 5009 | ), |
|
| 5010 | $urlAlias |
|
| 5011 | ); |
|
| 5012 | } |
|
| 5013 | ||
| 5014 | /** |
|
| 5015 | * Test for the locationSwapped() method. |
|
| @@ 5019-5164 (lines=146) @@ | ||
| 5016 | * |
|
| 5017 | * @group swap |
|
| 5018 | */ |
|
| 5019 | public function testLocationSwappedWithReusingNopEntry() |
|
| 5020 | { |
|
| 5021 | $handler = $this->getHandler(); |
|
| 5022 | $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_swap_reusing_nop.php'); |
|
| 5023 | ||
| 5024 | $countBeforeReusing = $this->countRows(); |
|
| 5025 | ||
| 5026 | $handler->locationSwapped(316, 314, 317, 315); |
|
| 5027 | ||
| 5028 | $this->assertEquals( |
|
| 5029 | $countBeforeReusing + 1, |
|
| 5030 | $this->countRows() |
|
| 5031 | ); |
|
| 5032 | ||
| 5033 | $urlAlias = $handler->lookup('jedan/swap-that'); |
|
| 5034 | $this->assertEquals( |
|
| 5035 | new UrlAlias( |
|
| 5036 | array( |
|
| 5037 | 'id' => '2-' . md5('swap-that'), |
|
| 5038 | 'type' => UrlAlias::LOCATION, |
|
| 5039 | 'destination' => 316, |
|
| 5040 | 'languageCodes' => array( |
|
| 5041 | 'cro-HR', |
|
| 5042 | ), |
|
| 5043 | 'pathData' => array( |
|
| 5044 | array( |
|
| 5045 | 'always-available' => false, |
|
| 5046 | 'translations' => array( |
|
| 5047 | 'cro-HR' => 'jedan', |
|
| 5048 | ), |
|
| 5049 | ), |
|
| 5050 | array( |
|
| 5051 | 'always-available' => false, |
|
| 5052 | 'translations' => array( |
|
| 5053 | 'cro-HR' => 'swap-that', |
|
| 5054 | ), |
|
| 5055 | ), |
|
| 5056 | ), |
|
| 5057 | 'alwaysAvailable' => false, |
|
| 5058 | 'isHistory' => false, |
|
| 5059 | 'isCustom' => false, |
|
| 5060 | 'forward' => false, |
|
| 5061 | ) |
|
| 5062 | ), |
|
| 5063 | $urlAlias |
|
| 5064 | ); |
|
| 5065 | ||
| 5066 | $urlAlias = $handler->lookup('dva/swap-this'); |
|
| 5067 | $this->assertEquals( |
|
| 5068 | new UrlAlias( |
|
| 5069 | array( |
|
| 5070 | 'id' => '3-' . md5('swap-this'), |
|
| 5071 | 'type' => UrlAlias::LOCATION, |
|
| 5072 | 'destination' => 317, |
|
| 5073 | 'languageCodes' => array( |
|
| 5074 | 'cro-HR', |
|
| 5075 | ), |
|
| 5076 | 'pathData' => array( |
|
| 5077 | array( |
|
| 5078 | 'always-available' => false, |
|
| 5079 | 'translations' => array( |
|
| 5080 | 'cro-HR' => 'dva', |
|
| 5081 | ), |
|
| 5082 | ), |
|
| 5083 | array( |
|
| 5084 | 'always-available' => false, |
|
| 5085 | 'translations' => array( |
|
| 5086 | 'cro-HR' => 'swap-this', |
|
| 5087 | ), |
|
| 5088 | ), |
|
| 5089 | ), |
|
| 5090 | 'alwaysAvailable' => false, |
|
| 5091 | 'isHistory' => false, |
|
| 5092 | 'isCustom' => false, |
|
| 5093 | 'forward' => false, |
|
| 5094 | ) |
|
| 5095 | ), |
|
| 5096 | $urlAlias |
|
| 5097 | ); |
|
| 5098 | ||
| 5099 | $urlAlias = $handler->lookup('dva/swap-that'); |
|
| 5100 | $this->assertEquals( |
|
| 5101 | new UrlAlias( |
|
| 5102 | array( |
|
| 5103 | 'id' => '3-' . md5('swap-that'), |
|
| 5104 | 'type' => UrlAlias::LOCATION, |
|
| 5105 | 'destination' => 317, |
|
| 5106 | 'languageCodes' => array( |
|
| 5107 | 'cro-HR', |
|
| 5108 | ), |
|
| 5109 | 'pathData' => array( |
|
| 5110 | array( |
|
| 5111 | 'always-available' => false, |
|
| 5112 | 'translations' => array( |
|
| 5113 | 'cro-HR' => 'dva', |
|
| 5114 | ), |
|
| 5115 | ), |
|
| 5116 | array( |
|
| 5117 | 'always-available' => false, |
|
| 5118 | 'translations' => array( |
|
| 5119 | 'cro-HR' => 'swap-that', |
|
| 5120 | ), |
|
| 5121 | ), |
|
| 5122 | ), |
|
| 5123 | 'alwaysAvailable' => false, |
|
| 5124 | 'isHistory' => true, |
|
| 5125 | 'isCustom' => false, |
|
| 5126 | 'forward' => false, |
|
| 5127 | ) |
|
| 5128 | ), |
|
| 5129 | $urlAlias |
|
| 5130 | ); |
|
| 5131 | ||
| 5132 | $urlAlias = $handler->lookup('jedan/swap-this'); |
|
| 5133 | $this->assertEquals( |
|
| 5134 | new UrlAlias( |
|
| 5135 | array( |
|
| 5136 | 'id' => '2-' . md5('swap-this'), |
|
| 5137 | 'type' => UrlAlias::LOCATION, |
|
| 5138 | 'destination' => 316, |
|
| 5139 | 'languageCodes' => array( |
|
| 5140 | 'cro-HR', |
|
| 5141 | ), |
|
| 5142 | 'pathData' => array( |
|
| 5143 | array( |
|
| 5144 | 'always-available' => false, |
|
| 5145 | 'translations' => array( |
|
| 5146 | 'cro-HR' => 'jedan', |
|
| 5147 | ), |
|
| 5148 | ), |
|
| 5149 | array( |
|
| 5150 | 'always-available' => false, |
|
| 5151 | 'translations' => array( |
|
| 5152 | 'cro-HR' => 'swap-this', |
|
| 5153 | ), |
|
| 5154 | ), |
|
| 5155 | ), |
|
| 5156 | 'alwaysAvailable' => false, |
|
| 5157 | 'isHistory' => true, |
|
| 5158 | 'isCustom' => false, |
|
| 5159 | 'forward' => false, |
|
| 5160 | ) |
|
| 5161 | ), |
|
| 5162 | $urlAlias |
|
| 5163 | ); |
|
| 5164 | } |
|
| 5165 | ||
| 5166 | /** |
|
| 5167 | * Test for the locationSwapped() method. |
|