Skip to content

Commit 98250f8

Browse files
committed
added base64 methods
1 parent 5f07408 commit 98250f8

File tree

5 files changed

+105
-71
lines changed

5 files changed

+105
-71
lines changed

src/Extensions/Url.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,20 @@ public function urlDecode(): StringBuffer
2121
{
2222
return $this->string->setString(urldecode($this->string->toString()));
2323
}
24+
25+
/**
26+
* @return StringBuffer
27+
*/
28+
public function base64Encode(): StringBuffer
29+
{
30+
return $this->string->setString(base64_encode($this->string->toString()));
31+
}
32+
33+
/**
34+
* @return StringBuffer
35+
*/
36+
public function base64Decode(): StringBuffer
37+
{
38+
return $this->string->setString(base64_decode($this->string->toString()));
39+
}
2440
}

src/StringBuffer.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@
4545
**** from Url
4646
* @method StringBuffer urlEncode()
4747
* @method StringBuffer urlDecode()
48+
* @method StringBuffer base64Encode()
49+
* @method StringBuffer base64Decode()
4850
*/
4951
class StringBuffer
5052
{

tests/Extensions/UrlTest.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,14 @@ public function testUrlDecode()
1616
{
1717
$this->assertSame(urldecode('test'), StringBuffer::create('test')->urlDecode()->toString());
1818
}
19+
20+
public function testBase64Encode()
21+
{
22+
$this->assertSame(base64_encode('test'), StringBuffer::create('test')->base64Encode()->toString());
23+
}
24+
25+
public function testBase64Decode()
26+
{
27+
$this->assertSame(base64_decode('test'), StringBuffer::create('test')->base64Decode()->toString());
28+
}
1929
}

tests/docs/coverage.xml

Lines changed: 75 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<coverage generated="1503174756">
3-
<project timestamp="1503174756">
2+
<coverage generated="1503178719">
3+
<project timestamp="1503178719">
44
<package name="Simlux\String\Exceptions">
55
<file name="/home/simon/repositories/string-buffer/src/Exceptions/UnknownExtensionException.php">
66
<class name="UnknownExtensionException" namespace="Simlux\String\Exceptions">
@@ -20,9 +20,9 @@
2020
<class name="AbstractExtension" namespace="Simlux\String\Extensions">
2121
<metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="2" elements="3" coveredelements="3"/>
2222
</class>
23-
<line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="56"/>
24-
<line num="19" type="stmt" count="56"/>
25-
<line num="20" type="stmt" count="56"/>
23+
<line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="58"/>
24+
<line num="19" type="stmt" count="58"/>
25+
<line num="20" type="stmt" count="58"/>
2626
<metrics loc="21" ncloc="15" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="2" elements="3" coveredelements="3"/>
2727
</file>
2828
<file name="/home/simon/repositories/string-buffer/src/Extensions/Conditions.php">
@@ -79,21 +79,21 @@
7979
<class name="Loader" namespace="Simlux\String\Extensions">
8080
<metrics complexity="7" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="15" coveredelements="15"/>
8181
</class>
82-
<line num="49" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="78"/>
83-
<line num="51" type="stmt" count="78"/>
84-
<line num="52" type="stmt" count="78"/>
85-
<line num="53" type="stmt" count="78"/>
86-
<line num="55" type="stmt" count="78"/>
87-
<line num="63" type="method" name="factory" visibility="public" complexity="3" crap="3" count="24"/>
88-
<line num="65" type="stmt" count="24"/>
82+
<line num="49" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="80"/>
83+
<line num="51" type="stmt" count="80"/>
84+
<line num="52" type="stmt" count="80"/>
85+
<line num="53" type="stmt" count="80"/>
86+
<line num="55" type="stmt" count="80"/>
87+
<line num="63" type="method" name="factory" visibility="public" complexity="3" crap="3" count="26"/>
88+
<line num="65" type="stmt" count="26"/>
8989
<line num="66" type="stmt" count="1"/>
90-
<line num="69" type="stmt" count="23"/>
91-
<line num="70" type="stmt" count="23"/>
92-
<line num="73" type="stmt" count="23"/>
93-
<line num="82" type="method" name="extensionHasMethod" visibility="public" complexity="1" crap="1" count="24"/>
94-
<line num="84" type="stmt" count="24"/>
95-
<line num="90" type="method" name="getExtensions" visibility="public" complexity="1" crap="1" count="24"/>
96-
<line num="92" type="stmt" count="24"/>
90+
<line num="69" type="stmt" count="25"/>
91+
<line num="70" type="stmt" count="25"/>
92+
<line num="73" type="stmt" count="25"/>
93+
<line num="82" type="method" name="extensionHasMethod" visibility="public" complexity="1" crap="1" count="26"/>
94+
<line num="84" type="stmt" count="26"/>
95+
<line num="90" type="method" name="getExtensions" visibility="public" complexity="1" crap="1" count="26"/>
96+
<line num="92" type="stmt" count="26"/>
9797
<metrics loc="93" ncloc="61" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="15" coveredelements="15"/>
9898
</file>
9999
<file name="/home/simon/repositories/string-buffer/src/Extensions/Manipulator.php">
@@ -144,78 +144,82 @@
144144
</file>
145145
<file name="/home/simon/repositories/string-buffer/src/Extensions/Url.php">
146146
<class name="Url" namespace="Simlux\String\Extensions">
147-
<metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="2" elements="4" coveredelements="4"/>
147+
<metrics complexity="4" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="8" coveredelements="8"/>
148148
</class>
149149
<line num="12" type="method" name="urlEncode" visibility="public" complexity="1" crap="1" count="1"/>
150150
<line num="14" type="stmt" count="1"/>
151151
<line num="20" type="method" name="urlDecode" visibility="public" complexity="1" crap="1" count="1"/>
152152
<line num="22" type="stmt" count="1"/>
153-
<metrics loc="23" ncloc="17" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="2" elements="4" coveredelements="4"/>
153+
<line num="28" type="method" name="base64Encode" visibility="public" complexity="1" crap="1" count="1"/>
154+
<line num="30" type="stmt" count="1"/>
155+
<line num="36" type="method" name="base64Decode" visibility="public" complexity="1" crap="1" count="1"/>
156+
<line num="38" type="stmt" count="1"/>
157+
<metrics loc="39" ncloc="27" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="8" coveredelements="8"/>
154158
</file>
155159
</package>
156160
<package name="Simlux\String">
157161
<file name="/home/simon/repositories/string-buffer/src/StringBuffer.php">
158162
<class name="StringBuffer" namespace="Simlux\String" fullPackage="Simlux" package="Simlux">
159163
<metrics complexity="23" methods="14" coveredmethods="14" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="41" elements="55" coveredelements="55"/>
160164
</class>
161-
<line num="66" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="78"/>
162-
<line num="68" type="stmt" count="78"/>
163-
<line num="69" type="stmt" count="78"/>
164-
<line num="70" type="stmt" count="78"/>
165-
<line num="77" type="method" name="create" visibility="public" complexity="1" crap="1" count="76"/>
166-
<line num="79" type="stmt" count="76"/>
167-
<line num="89" type="method" name="__call" visibility="public" complexity="3" crap="3" count="24"/>
168-
<line num="91" type="stmt" count="24"/>
169-
<line num="92" type="stmt" count="24"/>
170-
<line num="93" type="stmt" count="24"/>
171-
<line num="97" type="stmt" count="1"/>
172-
<line num="103" type="method" name="toString" visibility="public" complexity="1" crap="1" count="75"/>
173-
<line num="105" type="stmt" count="75"/>
174-
<line num="111" type="method" name="__toString" visibility="public" complexity="1" crap="1" count="6"/>
175-
<line num="113" type="stmt" count="6"/>
176-
<line num="121" type="method" name="setString" visibility="public" complexity="1" crap="1" count="21"/>
177-
<line num="123" type="stmt" count="21"/>
178-
<line num="125" type="stmt" count="21"/>
179-
<line num="133" type="method" name="append" visibility="public" complexity="1" crap="1" count="2"/>
180-
<line num="135" type="stmt" count="2"/>
165+
<line num="68" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="80"/>
166+
<line num="70" type="stmt" count="80"/>
167+
<line num="71" type="stmt" count="80"/>
168+
<line num="72" type="stmt" count="80"/>
169+
<line num="79" type="method" name="create" visibility="public" complexity="1" crap="1" count="78"/>
170+
<line num="81" type="stmt" count="78"/>
171+
<line num="91" type="method" name="__call" visibility="public" complexity="3" crap="3" count="26"/>
172+
<line num="93" type="stmt" count="26"/>
173+
<line num="94" type="stmt" count="26"/>
174+
<line num="95" type="stmt" count="26"/>
175+
<line num="99" type="stmt" count="1"/>
176+
<line num="105" type="method" name="toString" visibility="public" complexity="1" crap="1" count="77"/>
177+
<line num="107" type="stmt" count="77"/>
178+
<line num="113" type="method" name="__toString" visibility="public" complexity="1" crap="1" count="6"/>
179+
<line num="115" type="stmt" count="6"/>
180+
<line num="123" type="method" name="setString" visibility="public" complexity="1" crap="1" count="23"/>
181+
<line num="125" type="stmt" count="23"/>
182+
<line num="127" type="stmt" count="23"/>
183+
<line num="135" type="method" name="append" visibility="public" complexity="1" crap="1" count="2"/>
181184
<line num="137" type="stmt" count="2"/>
182-
<line num="147" type="method" name="appendIf" visibility="public" complexity="3" crap="3" count="1"/>
183-
<line num="149" type="stmt" count="1"/>
184-
<line num="150" type="stmt" count="1"/>
185+
<line num="139" type="stmt" count="2"/>
186+
<line num="149" type="method" name="appendIf" visibility="public" complexity="3" crap="3" count="1"/>
187+
<line num="151" type="stmt" count="1"/>
185188
<line num="152" type="stmt" count="1"/>
186-
<line num="153" type="stmt" count="1"/>
187-
<line num="157" type="stmt" count="1"/>
188-
<line num="165" type="method" name="prepend" visibility="public" complexity="1" crap="1" count="2"/>
189-
<line num="167" type="stmt" count="2"/>
189+
<line num="154" type="stmt" count="1"/>
190+
<line num="155" type="stmt" count="1"/>
191+
<line num="159" type="stmt" count="1"/>
192+
<line num="167" type="method" name="prepend" visibility="public" complexity="1" crap="1" count="2"/>
190193
<line num="169" type="stmt" count="2"/>
191-
<line num="179" type="method" name="prependIf" visibility="public" complexity="3" crap="3" count="1"/>
192-
<line num="181" type="stmt" count="1"/>
193-
<line num="182" type="stmt" count="1"/>
194+
<line num="171" type="stmt" count="2"/>
195+
<line num="181" type="method" name="prependIf" visibility="public" complexity="3" crap="3" count="1"/>
196+
<line num="183" type="stmt" count="1"/>
194197
<line num="184" type="stmt" count="1"/>
195-
<line num="185" type="stmt" count="1"/>
196-
<line num="189" type="stmt" count="1"/>
197-
<line num="197" type="method" name="camelCase" visibility="public" complexity="2" crap="2" count="4"/>
198-
<line num="199" type="stmt" count="4"/>
199-
<line num="200" type="stmt" count="4"/>
200-
<line num="201" type="stmt" count="1"/>
201-
<line num="204" type="stmt" count="4"/>
202-
<line num="212" type="method" name="snakeCase" visibility="public" complexity="1" crap="1" count="4"/>
203-
<line num="214" type="stmt" count="4"/>
198+
<line num="186" type="stmt" count="1"/>
199+
<line num="187" type="stmt" count="1"/>
200+
<line num="191" type="stmt" count="1"/>
201+
<line num="199" type="method" name="camelCase" visibility="public" complexity="2" crap="2" count="4"/>
202+
<line num="201" type="stmt" count="4"/>
203+
<line num="202" type="stmt" count="4"/>
204+
<line num="203" type="stmt" count="1"/>
205+
<line num="206" type="stmt" count="4"/>
206+
<line num="214" type="method" name="snakeCase" visibility="public" complexity="1" crap="1" count="4"/>
204207
<line num="216" type="stmt" count="4"/>
205-
<line num="225" type="method" name="substring" visibility="public" complexity="2" crap="2" count="4"/>
206-
<line num="227" type="stmt" count="4"/>
207-
<line num="228" type="stmt" count="1"/>
208-
<line num="230" type="stmt" count="3"/>
209-
<line num="233" type="stmt" count="4"/>
210-
<line num="241" type="method" name="reverse" visibility="public" complexity="2" crap="2" count="1"/>
211-
<line num="243" type="stmt" count="1"/>
212-
<line num="244" type="stmt" count="1"/>
208+
<line num="218" type="stmt" count="4"/>
209+
<line num="227" type="method" name="substring" visibility="public" complexity="2" crap="2" count="4"/>
210+
<line num="229" type="stmt" count="4"/>
211+
<line num="230" type="stmt" count="1"/>
212+
<line num="232" type="stmt" count="3"/>
213+
<line num="235" type="stmt" count="4"/>
214+
<line num="243" type="method" name="reverse" visibility="public" complexity="2" crap="2" count="1"/>
213215
<line num="245" type="stmt" count="1"/>
216+
<line num="246" type="stmt" count="1"/>
214217
<line num="247" type="stmt" count="1"/>
215-
<line num="250" type="stmt" count="1"/>
216-
<metrics loc="251" ncloc="132" classes="1" methods="14" coveredmethods="14" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="41" elements="55" coveredelements="55"/>
218+
<line num="249" type="stmt" count="1"/>
219+
<line num="252" type="stmt" count="1"/>
220+
<metrics loc="253" ncloc="132" classes="1" methods="14" coveredmethods="14" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="41" elements="55" coveredelements="55"/>
217221
</file>
218222
</package>
219-
<metrics files="11" loc="686" ncloc="422" classes="11" methods="42" coveredmethods="42" conditionals="0" coveredconditionals="0" statements="101" coveredstatements="101" elements="143" coveredelements="143"/>
223+
<metrics files="11" loc="704" ncloc="432" classes="11" methods="44" coveredmethods="44" conditionals="0" coveredconditionals="0" statements="103" coveredstatements="103" elements="147" coveredelements="147"/>
220224
</project>
221225
</coverage>

tests/docs/testdox.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ Simlux\String\Test\Extensions\Transformer
3535
Simlux\String\Test\Extensions\Url
3636
[x] Url encode
3737
[x] Url decode
38+
[x] Base 64 encode
39+
[x] Base 64 decode
3840

3941
Simlux\String\Test\StringBuffer
4042
[ ] That get extensions throws exception

0 commit comments

Comments
 (0)