Skip to content
This repository has been archived by the owner on Sep 8, 2020. It is now read-only.

Commit

Permalink
Merge pull request #50 from renatomb/master
Browse files Browse the repository at this point in the history
Fix malfunction on closeUnclosedXmlTags when an open <MEMO> has " ins…
  • Loading branch information
asgrim authored Oct 29, 2018
2 parents 11f64bd + 8734530 commit a7cc813
Show file tree
Hide file tree
Showing 3 changed files with 178 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/OfxParser/Parser.php
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ private function closeUnclosedXmlTags($line)
// Does not match: <SOMETHING>
// Does not match: <SOMETHING>blah</SOMETHING>
if (preg_match(
"/<([A-Za-z0-9.]+)>([\wà-úÀ-Ú0-9\.\-\_\+\, ;:\[\]\'\&\/\\\*\(\)\+\{\|\}\!\£\$\?=@€£#%±§~`]+)$/",
"/<([A-Za-z0-9.]+)>([\wà-úÀ-Ú0-9\.\-\_\+\, ;:\[\]\'\&\/\\\*\(\)\+\{\|\}\!\£\$\?=@€£#%±§~`\"]+)$/",
trim($line),
$matches
)) {
Expand Down
1 change: 1 addition & 0 deletions tests/OfxParser/ParserTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ public function loadFromStringProvider()
'ofxdata-bb-two-stmtrs.ofx' => [dirname(__DIR__).'/fixtures/ofxdata-bb-two-stmtrs.ofx'],
'ofxdata-credit-card.ofx' => [dirname(__DIR__).'/fixtures/ofxdata-credit-card.ofx'],
'ofxdata-bpbfc.ofx' => [dirname(__DIR__).'/fixtures/ofxdata-bpbfc.ofx'],
'ofxdata-memoWithQuotes.ofx' => [dirname(__DIR__).'/fixtures/ofxdata-memoWithQuotes.ofx'],
];
}

Expand Down
176 changes: 176 additions & 0 deletions tests/fixtures/ofxdata-memoWithQuotes.ofx
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE
<OFX>
<SIGNONMSGSRSV1>
<SONRS>
<STATUS>
<CODE>0
<SEVERITY>INFO
</STATUS>

<DTSERVER>20181026000000[-3:GMT]
<LANGUAGE>POR
</SONRS>
</SIGNONMSGSRSV1>

<CREDITCARDMSGSRSV1>
<CCSTMTTRNRS>
<TRNUID>1001
<STATUS>
<CODE>0
<SEVERITY>INFO
</STATUS>

<CCSTMTRS>
<CURDEF>BRL
<CCACCTFROM>
<ACCTID>99999999-9999-9999-9999-999999999999
</CCACCTFROM>

<BANKTRANLIST>
<DTSTART>20180913000000[-3:GMT]
<DTEND>20181013000000[-3:GMT]
<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20180913000000[-3:GMT]
<TRNAMT>-33.3
<FITID>5b4f6eea-9999-9999-9999-794a31c8f61b
<MEMO>Amazon.Com.Br Amazon S 3/3
</STMTTRN>

<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20180913000000[-3:GMT]
<TRNAMT>-9.9
<FITID>5b62619e-9999-9999-9999-e26b2df210fc
<MEMO>Empiricus 3/12
</STMTTRN>

<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20180913000000[-3:GMT]
<TRNAMT>-140
<FITID>5b4f3b92-9999-9999-9999-902a256f3470
<MEMO>Funcern 3/4
</STMTTRN>

<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20180913000000[-3:GMT]
<TRNAMT>-40
<FITID>5b2b9e42-9999-9999-9999-1742bdf860ad
<MEMO>Azul Linhas Aereas*Fef 4/4
</STMTTRN>

<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20180917000000[-3:GMT]
<TRNAMT>-5.27
<FITID>5ba09990-9999-9999-9999-ebd979a2a758
<MEMO>IOF de "Leupay.Eu"
</STMTTRN>

<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20180917000000[-3:GMT]
<TRNAMT>-82.54
<FITID>5ba09c73-9999-9999-9999-191cf5c75cb1
<MEMO>Leupay.Eu
</STMTTRN>

<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20180918000000[-3:GMT]
<TRNAMT>-225
<FITID>5b9fe897-9999-9999-9999-8ef65fb1ec8f
<MEMO>Mercpago
</STMTTRN>

<STMTTRN>
<TRNTYPE>CREDIT
<DTPOSTED>20180920000000[-3:GMT]
<TRNAMT>600
<FITID>5ba47b96-9999-9999-9999-d57a38a6507d
<MEMO>Pagamento recebido
</STMTTRN>

<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20180920000000[-3:GMT]
<TRNAMT>-12.2
<FITID>5ba2937e-9999-9999-9999-7f21ffede0af
<MEMO>Mundo Verde
</STMTTRN>

<STMTTRN>
<TRNTYPE>CREDIT
<DTPOSTED>20180920000000[-3:GMT]
<TRNAMT>127.87
<FITID>5ba47b64-9999-9999-9999-4e784e26540d
<MEMO>Pagamento recebido
</STMTTRN>

<STMTTRN>
<TRNTYPE>CREDIT
<DTPOSTED>20180920000000[-3:GMT]
<TRNAMT>400
<FITID>5ba47b9d-9999-9999-9999-3635c88dfb3f
<MEMO>Pagamento recebido
</STMTTRN>

<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20180921000000[-3:GMT]
<TRNAMT>-80.68
<FITID>5ba38bad-9999-9999-9999-354f59379d1d
<MEMO>Assai Ata
</STMTTRN>

<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20180922000000[-3:GMT]
<TRNAMT>-14.5
<FITID>5ba5599b-9999-9999-9999-986103e3cd9e
<MEMO>Pag*Marianadiasdebrit
</STMTTRN>

<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20180924000000[-3:GMT]
<TRNAMT>-9.88
<FITID>5ba66b2a-9999-9999-9999-2da061b5ad4d
<MEMO>Superfacil Atacado
</STMTTRN>

<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20181005000000[-3:GMT]
<TRNAMT>-4.84
<FITID>5bb8d7fa-9999-9999-9999-d9632e284d02
<MEMO>IOF de "Leupay.Eu"
</STMTTRN>

<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20181005000000[-3:GMT]
<TRNAMT>-75.94
<FITID>5bb8d808-9999-9999-9999-dfa3886b11ab
<MEMO>Leupay.Eu
</STMTTRN>
</BANKTRANLIST>

<LEDGERBAL>
<BALAMT>-734.05
<DTASOF>20181013000000[-3:GMT]
</LEDGERBAL>
</CCSTMTRS>
</CCSTMTTRNRS>
</CREDITCARDMSGSRSV1>
</OFX>

0 comments on commit a7cc813

Please sign in to comment.