Passed
Push — master ( 47c941...a9f564 )
by Roberto
09:10 queued 11s
created
src/ReCaptchaBuilderV2.php 1 patch
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -57,11 +57,11 @@  discard block
 block discarded – undo
57 57
         ksort($config_data_attributes);
58 58
         foreach ($config_data_attributes as $k => $v) {
59 59
             if ($v) {
60
-                $data_attributes[] = 'data-' . $k . '="' . $v . '"';
60
+                $data_attributes[] = 'data-'.$k.'="'.$v.'"';
61 61
             }
62 62
         }
63 63
 
64
-        $html = '<div class="g-recaptcha" ' . implode(" ", $data_attributes) . ' id="recaptcha-element"></div>';
64
+        $html = '<div class="g-recaptcha" '.implode(" ", $data_attributes).' id="recaptcha-element"></div>';
65 65
 
66 66
         return $html;
67 67
     }
@@ -80,15 +80,15 @@  discard block
 block discarded – undo
80 80
         $tag_attributes = array_merge($tag_attributes, config('recaptcha.tag_attributes', []));
81 81
 
82 82
         if (Arr::get($tag_attributes, 'callback') === ReCaptchaBuilder::DEFAULT_ONLOAD_JS_FUNCTION) {
83
-            throw new InvalidConfigurationException('Property "callback" ("data-callback") must be different from "' . ReCaptchaBuilder::DEFAULT_ONLOAD_JS_FUNCTION . '"');
83
+            throw new InvalidConfigurationException('Property "callback" ("data-callback") must be different from "'.ReCaptchaBuilder::DEFAULT_ONLOAD_JS_FUNCTION.'"');
84 84
         }
85 85
 
86 86
         if (Arr::get($tag_attributes, 'expired-callback') === ReCaptchaBuilder::DEFAULT_ONLOAD_JS_FUNCTION) {
87
-            throw new InvalidConfigurationException('Property "expired-callback" ("data-expired-callback") must be different from "' . ReCaptchaBuilder::DEFAULT_ONLOAD_JS_FUNCTION . '"');
87
+            throw new InvalidConfigurationException('Property "expired-callback" ("data-expired-callback") must be different from "'.ReCaptchaBuilder::DEFAULT_ONLOAD_JS_FUNCTION.'"');
88 88
         }
89 89
 
90 90
         if (Arr::get($tag_attributes, 'error-callback') === ReCaptchaBuilder::DEFAULT_ONLOAD_JS_FUNCTION) {
91
-            throw new InvalidConfigurationException('Property "error-callback" ("data-error-callback") must be different from "' . ReCaptchaBuilder::DEFAULT_ONLOAD_JS_FUNCTION . '"');
91
+            throw new InvalidConfigurationException('Property "error-callback" ("data-error-callback") must be different from "'.ReCaptchaBuilder::DEFAULT_ONLOAD_JS_FUNCTION.'"');
92 92
         }
93 93
 
94 94
         return $tag_attributes;
@@ -102,7 +102,7 @@  discard block
 block discarded – undo
102 102
 
103 103
         $attributes = $this->getTagAttributes();
104 104
 
105
-        return "<script>var biscolabOnloadCallback = function() {grecaptcha.render('recaptcha-element', " . json_encode($attributes) . ");};</script>";
105
+        return "<script>var biscolabOnloadCallback = function() {grecaptcha.render('recaptcha-element', ".json_encode($attributes).");};</script>";
106 106
     }
107 107
 
108 108
     /**
@@ -113,7 +113,7 @@  discard block
 block discarded – undo
113 113
      */
114 114
     public static function cleanAttributes(?array $attributes = []): array
115 115
     {
116
-        return array_filter($attributes, function ($k) {
116
+        return array_filter($attributes, function($k) {
117 117
             return in_array($k, self::$allowed_data_attribute);
118 118
         }, ARRAY_FILTER_USE_KEY);
119 119
     }
Please login to merge, or discard this patch.
tests/ReCaptchaTest.php 1 patch
Indentation   +184 added lines, -184 removed lines patch added patch discarded remove patch
@@ -24,188 +24,188 @@
 block discarded – undo
24 24
 class ReCaptchaTest extends TestCase
25 25
 {
26 26
 
27
-	/**
28
-	 * @var ReCaptchaBuilderInvisible
29
-	 */
30
-	protected $recaptcha_invisible = null;
31
-
32
-	/**
33
-	 * @var ReCaptchaBuilderV2
34
-	 */
35
-	protected $recaptcha_v2 = null;
36
-
37
-	/**
38
-	 * @var ReCaptchaBuilderV3
39
-	 */
40
-	protected $recaptcha_v3 = null;
41
-
42
-	/**
43
-	 * @tests
44
-	 */
45
-	public function testHtmlScriptTagJsApiGetHtmlScriptTag()
46
-	{
47
-
48
-		$r = ReCaptcha::htmlScriptTagJsApi();
49
-		$this->assertEquals('<script src="https://www.google.com/recaptcha/api.js" async defer></script>', $r);
50
-	}
51
-
52
-	/**
53
-	 * @test
54
-	 */
55
-	public function testReCaptchaInvisibleHtmlFormButtonDefault()
56
-	{
57
-
58
-		$recaptcha = $this->recaptcha_invisible;
59
-		$html_button = $recaptcha->htmlFormButton();
60
-		$this->assertEquals(
61
-			'<button class="g-recaptcha" data-callback="biscolabLaravelReCaptcha" data-sitekey="api_site_key">Submit</button>',
62
-			$html_button
63
-		);
64
-	}
65
-
66
-	/**
67
-	 * @test
68
-	 */
69
-	public function testReCaptchaInvisibleHtmlFormButtonCustom()
70
-	{
71
-
72
-		$recaptcha = $this->recaptcha_invisible;
73
-		$html_button = $recaptcha->htmlFormButton('Custom Text');
74
-		$this->assertEquals(
75
-			'<button class="g-recaptcha" data-callback="biscolabLaravelReCaptcha" data-sitekey="api_site_key">Custom Text</button>',
76
-			$html_button
77
-		);
78
-	}
79
-
80
-	/**
81
-	 * @test
82
-	 */
83
-	public function testReCaptchaV2HtmlFormSnippet()
84
-	{
85
-
86
-		$recaptcha = $this->recaptcha_v2;
87
-		$html_snippet = $recaptcha->htmlFormSnippet();
88
-		$this->assertEquals('<div class="g-recaptcha" data-sitekey="api_site_key" data-size="normal" data-theme="light" id="recaptcha-element"></div>', $html_snippet);
89
-	}
90
-
91
-	/**
92
-	 * @test
93
-	 * @expectedException     \Error
94
-	 */
95
-	public function testReCaptchaInvisibleHtmlFormSnippetShouldThrowError()
96
-	{
97
-
98
-		$this->recaptcha_invisible->htmlFormSnippet();
99
-	}
100
-
101
-	/**
102
-	 * @test
103
-	 */
104
-	public function testSkipByIpAndReturnArrayReturnsDefaultArray()
105
-	{
106
-
107
-		$mock = $this->getMockBuilder(ReCaptchaBuilder::class)
108
-			->setConstructorArgs([
109
-				"api_site_key",
110
-				"api_secret_key"
111
-			])
112
-			->setMethods([
113
-				'returnArray'
114
-			])
115
-			->getMock();
116
-
117
-		$mock->method('returnArray')
118
-			->willReturn(true);
119
-
120
-		$this->setSkipByIp($this->recaptcha_v3, true);
121
-
122
-		$validate = $this->recaptcha_v3->validate("");
123
-
124
-		$this->assertEquals([
125
-			"skip_by_ip" => true,
126
-			"score"      => 0.9,
127
-			"success"    => true
128
-		], $validate);
129
-	}
130
-
131
-	/**
132
-	 * @test
133
-	 */
134
-	public function testSlipByIpReturnsValidResponse()
135
-	{
136
-
137
-		$this->setSkipByIp($this->recaptcha_invisible, true);
138
-		$validate = $this->recaptcha_invisible->validate("");
139
-
140
-		$this->assertTrue($validate);
141
-	}
142
-
143
-	/**
144
-	 * @test
145
-	 */
146
-	public function testDefaultCurlTimeout()
147
-	{
148
-
149
-		$this->assertEquals($this->recaptcha_invisible->getCurlTimeout(), ReCaptchaBuilder::DEFAULT_CURL_TIMEOUT);
150
-		$this->assertEquals($this->recaptcha_v2->getCurlTimeout(), ReCaptchaBuilder::DEFAULT_CURL_TIMEOUT);
151
-		$this->assertEquals($this->recaptcha_v3->getCurlTimeout(), ReCaptchaBuilder::DEFAULT_CURL_TIMEOUT);
152
-	}
153
-
154
-	/**
155
-	 * @test
156
-	 * @expectedException     \Error
157
-	 */
158
-	public function testReCaptchaV2htmlFormButtonShouldThrowError()
159
-	{
160
-
161
-		$this->recaptcha_v2->htmlFormButton();
162
-	}
163
-
164
-	/**
165
-	 * @test
166
-	 */
167
-	public function testRecaptchaFieldNameHelperReturnsReCaptchaBuilderDefaultFieldName()
168
-	{
169
-		$this->assertEquals(ReCaptchaBuilder::DEFAULT_RECAPTCHA_FIELD_NAME, recaptchaFieldName());
170
-	}
171
-
172
-	/**
173
-	 * @test
174
-	 */
175
-	public function testRecaptchaRuleNameHelperReturnsReCaptchaBuilderDefaultRuleName()
176
-	{
177
-		$this->assertEquals(ReCaptchaBuilder::DEFAULT_RECAPTCHA_RULE_NAME, recaptchaRuleName());
178
-	}
179
-
180
-	/**
181
-	 * @test
182
-	 */
183
-	public function testDefaultRecaptchaApiDomainIsGoogleDotCom()
184
-	{
185
-		$this->assertEquals("www.google.com", $this->recaptcha_v2->getApiDomain());
186
-		$this->assertEquals("www.google.com", $this->recaptcha_invisible->getApiDomain());
187
-		$this->assertEquals("www.google.com", $this->recaptcha_v3->getApiDomain());
188
-	}
189
-
190
-	protected function setSkipByIp(ReCaptchaBuilder $builder, bool $value)
191
-	{
192
-
193
-		$reflection = new \ReflectionClass($builder);
194
-		$reflection_property = $reflection->getProperty('skip_by_ip');
195
-		$reflection_property->setAccessible(true);
196
-		$reflection_property->setValue($builder, $value);
197
-	}
198
-
199
-	/**
200
-	 * @inheritdoc
201
-	 */
202
-	protected function setUp(): void
203
-	{
204
-
205
-		parent::setUp(); // TODO: Change the autogenerated stub
206
-
207
-		$this->recaptcha_invisible = new ReCaptchaBuilderInvisible('api_site_key', 'api_secret_key');
208
-		$this->recaptcha_v2 = new ReCaptchaBuilderV2('api_site_key', 'api_secret_key');
209
-		$this->recaptcha_v3 = new ReCaptchaBuilderV3('api_site_key', 'api_secret_key');
210
-	}
27
+    /**
28
+     * @var ReCaptchaBuilderInvisible
29
+     */
30
+    protected $recaptcha_invisible = null;
31
+
32
+    /**
33
+     * @var ReCaptchaBuilderV2
34
+     */
35
+    protected $recaptcha_v2 = null;
36
+
37
+    /**
38
+     * @var ReCaptchaBuilderV3
39
+     */
40
+    protected $recaptcha_v3 = null;
41
+
42
+    /**
43
+     * @tests
44
+     */
45
+    public function testHtmlScriptTagJsApiGetHtmlScriptTag()
46
+    {
47
+
48
+        $r = ReCaptcha::htmlScriptTagJsApi();
49
+        $this->assertEquals('<script src="https://www.google.com/recaptcha/api.js" async defer></script>', $r);
50
+    }
51
+
52
+    /**
53
+     * @test
54
+     */
55
+    public function testReCaptchaInvisibleHtmlFormButtonDefault()
56
+    {
57
+
58
+        $recaptcha = $this->recaptcha_invisible;
59
+        $html_button = $recaptcha->htmlFormButton();
60
+        $this->assertEquals(
61
+            '<button class="g-recaptcha" data-callback="biscolabLaravelReCaptcha" data-sitekey="api_site_key">Submit</button>',
62
+            $html_button
63
+        );
64
+    }
65
+
66
+    /**
67
+     * @test
68
+     */
69
+    public function testReCaptchaInvisibleHtmlFormButtonCustom()
70
+    {
71
+
72
+        $recaptcha = $this->recaptcha_invisible;
73
+        $html_button = $recaptcha->htmlFormButton('Custom Text');
74
+        $this->assertEquals(
75
+            '<button class="g-recaptcha" data-callback="biscolabLaravelReCaptcha" data-sitekey="api_site_key">Custom Text</button>',
76
+            $html_button
77
+        );
78
+    }
79
+
80
+    /**
81
+     * @test
82
+     */
83
+    public function testReCaptchaV2HtmlFormSnippet()
84
+    {
85
+
86
+        $recaptcha = $this->recaptcha_v2;
87
+        $html_snippet = $recaptcha->htmlFormSnippet();
88
+        $this->assertEquals('<div class="g-recaptcha" data-sitekey="api_site_key" data-size="normal" data-theme="light" id="recaptcha-element"></div>', $html_snippet);
89
+    }
90
+
91
+    /**
92
+     * @test
93
+     * @expectedException     \Error
94
+     */
95
+    public function testReCaptchaInvisibleHtmlFormSnippetShouldThrowError()
96
+    {
97
+
98
+        $this->recaptcha_invisible->htmlFormSnippet();
99
+    }
100
+
101
+    /**
102
+     * @test
103
+     */
104
+    public function testSkipByIpAndReturnArrayReturnsDefaultArray()
105
+    {
106
+
107
+        $mock = $this->getMockBuilder(ReCaptchaBuilder::class)
108
+            ->setConstructorArgs([
109
+                "api_site_key",
110
+                "api_secret_key"
111
+            ])
112
+            ->setMethods([
113
+                'returnArray'
114
+            ])
115
+            ->getMock();
116
+
117
+        $mock->method('returnArray')
118
+            ->willReturn(true);
119
+
120
+        $this->setSkipByIp($this->recaptcha_v3, true);
121
+
122
+        $validate = $this->recaptcha_v3->validate("");
123
+
124
+        $this->assertEquals([
125
+            "skip_by_ip" => true,
126
+            "score"      => 0.9,
127
+            "success"    => true
128
+        ], $validate);
129
+    }
130
+
131
+    /**
132
+     * @test
133
+     */
134
+    public function testSlipByIpReturnsValidResponse()
135
+    {
136
+
137
+        $this->setSkipByIp($this->recaptcha_invisible, true);
138
+        $validate = $this->recaptcha_invisible->validate("");
139
+
140
+        $this->assertTrue($validate);
141
+    }
142
+
143
+    /**
144
+     * @test
145
+     */
146
+    public function testDefaultCurlTimeout()
147
+    {
148
+
149
+        $this->assertEquals($this->recaptcha_invisible->getCurlTimeout(), ReCaptchaBuilder::DEFAULT_CURL_TIMEOUT);
150
+        $this->assertEquals($this->recaptcha_v2->getCurlTimeout(), ReCaptchaBuilder::DEFAULT_CURL_TIMEOUT);
151
+        $this->assertEquals($this->recaptcha_v3->getCurlTimeout(), ReCaptchaBuilder::DEFAULT_CURL_TIMEOUT);
152
+    }
153
+
154
+    /**
155
+     * @test
156
+     * @expectedException     \Error
157
+     */
158
+    public function testReCaptchaV2htmlFormButtonShouldThrowError()
159
+    {
160
+
161
+        $this->recaptcha_v2->htmlFormButton();
162
+    }
163
+
164
+    /**
165
+     * @test
166
+     */
167
+    public function testRecaptchaFieldNameHelperReturnsReCaptchaBuilderDefaultFieldName()
168
+    {
169
+        $this->assertEquals(ReCaptchaBuilder::DEFAULT_RECAPTCHA_FIELD_NAME, recaptchaFieldName());
170
+    }
171
+
172
+    /**
173
+     * @test
174
+     */
175
+    public function testRecaptchaRuleNameHelperReturnsReCaptchaBuilderDefaultRuleName()
176
+    {
177
+        $this->assertEquals(ReCaptchaBuilder::DEFAULT_RECAPTCHA_RULE_NAME, recaptchaRuleName());
178
+    }
179
+
180
+    /**
181
+     * @test
182
+     */
183
+    public function testDefaultRecaptchaApiDomainIsGoogleDotCom()
184
+    {
185
+        $this->assertEquals("www.google.com", $this->recaptcha_v2->getApiDomain());
186
+        $this->assertEquals("www.google.com", $this->recaptcha_invisible->getApiDomain());
187
+        $this->assertEquals("www.google.com", $this->recaptcha_v3->getApiDomain());
188
+    }
189
+
190
+    protected function setSkipByIp(ReCaptchaBuilder $builder, bool $value)
191
+    {
192
+
193
+        $reflection = new \ReflectionClass($builder);
194
+        $reflection_property = $reflection->getProperty('skip_by_ip');
195
+        $reflection_property->setAccessible(true);
196
+        $reflection_property->setValue($builder, $value);
197
+    }
198
+
199
+    /**
200
+     * @inheritdoc
201
+     */
202
+    protected function setUp(): void
203
+    {
204
+
205
+        parent::setUp(); // TODO: Change the autogenerated stub
206
+
207
+        $this->recaptcha_invisible = new ReCaptchaBuilderInvisible('api_site_key', 'api_secret_key');
208
+        $this->recaptcha_v2 = new ReCaptchaBuilderV2('api_site_key', 'api_secret_key');
209
+        $this->recaptcha_v3 = new ReCaptchaBuilderV3('api_site_key', 'api_secret_key');
210
+    }
211 211
 }
Please login to merge, or discard this patch.