Completed
Branch master (eea208)
by Toni
03:53
created
src/Context/MultilingualContext.php 4 patches
Unused Use Statements   -6 removed lines patch added patch discarded remove patch
@@ -4,13 +4,7 @@
 block discarded – undo
4 4
 
5 5
 use Behat\Behat\Context\Context;
6 6
 use Symfony\Component\Yaml\Yaml;
7
-use Drupal\DrupalExtension\Context\DrupalContext;
8
-use Behat\MinkExtension;
9
-use Behat\Behat\Context\TranslatableContext;
10 7
 use Behat\Mink\Element\Element;
11
-use Behat\Gherkin\Node\TableNode;
12
-use Behat\Behat\Hook\Scope\BeforeScenarioScope;
13
-use Behat\MinkExtension\Context\RawMinkContext;
14 8
 
15 9
 /**
16 10
  * This is the file for Multilingual context for Drupal. The context is working based on specifications
Please login to merge, or discard this patch.
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -47,14 +47,14 @@  discard block
 block discarded – undo
47 47
         $file_path = $base_path.$this->multilingual_parameters['translations'];
48 48
         $yaml = file_get_contents($file_path);
49 49
         $yaml_parse_array_check = Yaml::parse($yaml);
50
-        if(is_array($yaml_parse_array_check)) {
50
+        if (is_array($yaml_parse_array_check)) {
51 51
             $this->translations = $yaml_parse_array_check;
52 52
         }
53 53
     }
54 54
 
55 55
     // Checks whether the translations file variable is set in the Behat profile and parses it to array.
56 56
     public function initializeMultilanguage() {
57
-        if(isset($this->multilingual_parameters['translations'])) {
57
+        if (isset($this->multilingual_parameters['translations'])) {
58 58
             $this->parseTranslationFile();
59 59
         }
60 60
         $this->parseLanguageCodes();
@@ -80,12 +80,12 @@  discard block
 block discarded – undo
80 80
         }
81 81
         $base_url_length = strlen($base_url);
82 82
         //Get the 2 symbols in current URL after the base_url when Clean URLs is enabled
83
-        $clean_url_language_code = substr($current_url,$base_url_length,2);
84
-        $not_clean_url_language_code = substr($current_url,$base_url_length+3,2);
85
-        if(in_array($clean_url_language_code,$this->languages_iso_codes) && substr($current_url,$base_url_length+2,1) == "/") {
83
+        $clean_url_language_code = substr($current_url, $base_url_length, 2);
84
+        $not_clean_url_language_code = substr($current_url, $base_url_length + 3, 2);
85
+        if (in_array($clean_url_language_code, $this->languages_iso_codes)&&substr($current_url, $base_url_length + 2, 1) == "/") {
86 86
             return $clean_url_language_code;
87 87
         }
88
-        else if (in_array($not_clean_url_language_code,$this->languages_iso_codes) && substr($current_url,$base_url_length+5,1) == "/"){
88
+        else if (in_array($not_clean_url_language_code, $this->languages_iso_codes)&&substr($current_url, $base_url_length + 5, 1) == "/") {
89 89
             return $not_clean_url_language_code;
90 90
         }
91 91
         else return $this->multilingual_parameters['default_language'];
@@ -100,14 +100,14 @@  discard block
 block discarded – undo
100 100
 
101 101
     public function localizeTarget($target) {
102 102
         $translations = $this->multilingual_parameters['translations'];
103
-        if(isset($this->translations[$target][$this->multilingual_parameters['default_language']])){
103
+        if (isset($this->translations[$target][$this->multilingual_parameters['default_language']])) {
104 104
             $target = $this->translations[$target][$this->languageDetection()];
105 105
             return $target;
106 106
         }
107 107
         elseif (isset($this->translations[$target])) {
108 108
             return $target;
109 109
         }
110
-        else throw new \Exception ("The text '$target'' is not defined in '$translations' translation file.");
110
+        else throw new \Exception("The text '$target'' is not defined in '$translations' translation file.");
111 111
     }
112 112
 
113 113
     /**
@@ -117,7 +117,7 @@  discard block
 block discarded – undo
117 117
     public function localizeField($field) {
118 118
         $re = "/(?:[-])(".$this->multilingual_parameters['default_language'].")(?:[-])/";
119 119
         $language = "-".$this->languageDetection()."-";
120
-        $field = preg_replace($re, $language,$field);
120
+        $field = preg_replace($re, $language, $field);
121 121
         return $field;
122 122
     }
123 123
 
@@ -206,7 +206,7 @@  discard block
 block discarded – undo
206 206
      *
207 207
      * @When /^I wait for localized text "([^"]*)" to appear with max time "([^"]+)"(?: seconds)?$/
208 208
      */
209
-    public function iWaitForLocalizedTextToAppearWithMaxTime($target, $maxExecutionTime){
209
+    public function iWaitForLocalizedTextToAppearWithMaxTime($target, $maxExecutionTime) {
210 210
         $target = $this->localizeTarget($target);
211 211
         $this->iWaitForTextToAppearWithMaxTime($target, $maxExecutionTime);
212 212
     }
@@ -230,7 +230,7 @@  discard block
 block discarded – undo
230 230
      * @Given I click localized :link in the :rowText row
231 231
      * @Then I (should )see the localized :link in the :rowText row
232 232
      */
233
-    public function assertLocalizedClickInTableRow($link, $rowText){
233
+    public function assertLocalizedClickInTableRow($link, $rowText) {
234 234
         $link = $this->localizeTarget($link);
235 235
         $page = $this->getSession()->getPage();
236 236
         if ($link_element = $this->getTableRow($page, $rowText)->findLink($link)) {
@@ -259,7 +259,7 @@  discard block
 block discarded – undo
259 259
      *
260 260
      * @When /^I click on the localized text "([^"]*)" in the "(?P<region>[^"]*)"(?:| region)$/
261 261
      */
262
-    public function iClickOnTheLocalizedTextInRegion($text, $region){
262
+    public function iClickOnTheLocalizedTextInRegion($text, $region) {
263 263
         $text = $this->localizeTarget($text);
264 264
         $this->iClickOnTheTextInRegion($text, $region);
265 265
     }
Please login to merge, or discard this patch.
Braces   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -84,11 +84,11 @@  discard block
 block discarded – undo
84 84
         $not_clean_url_language_code = substr($current_url,$base_url_length+3,2);
85 85
         if(in_array($clean_url_language_code,$this->languages_iso_codes) && substr($current_url,$base_url_length+2,1) == "/") {
86 86
             return $clean_url_language_code;
87
-        }
88
-        else if (in_array($not_clean_url_language_code,$this->languages_iso_codes) && substr($current_url,$base_url_length+5,1) == "/"){
87
+        } else if (in_array($not_clean_url_language_code,$this->languages_iso_codes) && substr($current_url,$base_url_length+5,1) == "/"){
89 88
             return $not_clean_url_language_code;
89
+        } else {
90
+            return $this->multilingual_parameters['default_language'];
90 91
         }
91
-        else return $this->multilingual_parameters['default_language'];
92 92
     }
93 93
 
94 94
     /**
@@ -103,11 +103,11 @@  discard block
 block discarded – undo
103 103
         if(isset($this->translations[$target][$this->multilingual_parameters['default_language']])){
104 104
             $target = $this->translations[$target][$this->languageDetection()];
105 105
             return $target;
106
-        }
107
-        elseif (isset($this->translations[$target])) {
106
+        } elseif (isset($this->translations[$target])) {
108 107
             return $target;
108
+        } else {
109
+            throw new \Exception ("The text '$target'' is not defined in '$translations' translation file.");
109 110
         }
110
-        else throw new \Exception ("The text '$target'' is not defined in '$translations' translation file.");
111 111
     }
112 112
 
113 113
     /**
Please login to merge, or discard this patch.
Doc Comments   +1 added lines patch added patch discarded remove patch
@@ -112,6 +112,7 @@
 block discarded – undo
112 112
 
113 113
     /**
114 114
      * This function localizes the field based on Drupal standards. default_language variable is used as a base.
115
+     * @return string
115 116
      */
116 117
 
117 118
     public function localizeField($field) {
Please login to merge, or discard this patch.
src/Context/RawMultilingualContext.php 2 patches
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -50,7 +50,7 @@  discard block
 block discarded – undo
50 50
         $session = $this->getSession();
51 51
         $element = $session->getPage()->find(
52 52
             'xpath',
53
-            $session->getSelectorsHandler()->selectorToXpath('xpath', '//*[contains(text(),"' . $text . '")]'));
53
+            $session->getSelectorsHandler()->selectorToXpath('xpath', '//*[contains(text(),"'.$text.'")]'));
54 54
 
55 55
         if (null === $element) {
56 56
             throw new \InvalidArgumentException(sprintf('Cannot find text: "%s"', $text));
@@ -61,19 +61,19 @@  discard block
 block discarded – undo
61 61
 
62 62
     public function assertValueInInput($value, $input) {
63 63
 
64
-        if (substr($input,0,1) != "#") {
65
-            $input = "#" . $input;
64
+        if (substr($input, 0, 1) != "#") {
65
+            $input = "#".$input;
66 66
         }
67 67
         $session = $this->getSession();
68 68
         $element = $session->getPage()->find('css', $input);
69
-        if(isset($element)) {
69
+        if (isset($element)) {
70 70
             $text = $element->getValue();
71 71
         }
72 72
         else {
73 73
             throw new \Exception(sprintf("Element is null"));
74 74
         }
75 75
 
76
-        if($text === $value) {
76
+        if ($text === $value) {
77 77
             return true;
78 78
         }
79 79
         else {
@@ -105,12 +105,12 @@  discard block
 block discarded – undo
105 105
 
106 106
         $html = $this->getSession()->getDriver()->getContent();
107 107
         $text = $this->validateTextForSearchInSource($text);
108
-        $regex = '/' . $text . '/';
108
+        $regex = '/'.$text.'/';
109 109
 
110 110
         preg_match($regex, $html, $results);
111 111
 
112 112
         if ($results == null) {
113
-            throw new \Exception('The searched text ' . $text . ' was not found in the source of the page.');
113
+            throw new \Exception('The searched text '.$text.' was not found in the source of the page.');
114 114
         }
115 115
 
116 116
         return true;
@@ -129,7 +129,7 @@  discard block
 block discarded – undo
129 129
 
130 130
         $session = $this->getSession();
131 131
         $element = $session->getPage()->find('region', $region)->find('xpath', $session->getSelectorsHandler()->selectorToXpath('xpath',
132
-            '//*[contains(text(),"' . $text . '")]'));
132
+            '//*[contains(text(),"'.$text.'")]'));
133 133
         if (null === $element) {
134 134
             throw new \InvalidArgumentException(sprintf('Cannot find text: "%s"', $text));
135 135
         }
@@ -141,7 +141,7 @@  discard block
 block discarded – undo
141 141
 
142 142
         $session = $this->getSession();
143 143
         $element = $session->getPage()->find('region', $region)->find('xpath', $session->getSelectorsHandler()->selectorToXpath('xpath',
144
-            '//*[contains(text(),"' . $text . '")]'));
144
+            '//*[contains(text(),"'.$text.'")]'));
145 145
 
146 146
         if (null === $element) {
147 147
             throw new \InvalidArgumentException(sprintf('Cannot find text: "%s"', $text));
Please login to merge, or discard this patch.
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -68,15 +68,13 @@  discard block
 block discarded – undo
68 68
         $element = $session->getPage()->find('css', $input);
69 69
         if(isset($element)) {
70 70
             $text = $element->getValue();
71
-        }
72
-        else {
71
+        } else {
73 72
             throw new \Exception(sprintf("Element is null"));
74 73
         }
75 74
 
76 75
         if($text === $value) {
77 76
             return true;
78
-        }
79
-        else {
77
+        } else {
80 78
             throw new \Exception(sprintf('Value of input : "%s" does not match the text "%s"', $text, $value));
81 79
         }
82 80
     }
@@ -90,8 +88,7 @@  discard block
 block discarded – undo
90 88
                 $this->iShouldSeeInTheSourceOfThePage($text);
91 89
                 $isTextFound = true;
92 90
                 break;
93
-            }
94
-            catch (\Exception $e) {
91
+            } catch (\Exception $e) {
95 92
                 sleep(1);
96 93
             }
97 94
         }
Please login to merge, or discard this patch.