egg2ofx 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,429 @@
1
+
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <style type="text/css">
6
+ .visiblebyjs { display: none; }
7
+ </style>
8
+
9
+
10
+ <script type="text/javascript">
11
+ /* <![CDATA[ */
12
+ rum_script_host = "your.egg.com";
13
+ rum_image_host = "phonehome.egg.com";
14
+ if (typeof FM_Key == "undefined" && location.protocol.match(/^http/)) {
15
+ _FTop=new Date().getTime();
16
+ _FTopKey="3.3.48.21";
17
+ document.write("<s" + "cript s" + "rc=\"" + location.protocol +
18
+ "//" + rum_script_host + "/scripts/autogenerated/rum.js\">" +
19
+ "<\/s" + "cript>");
20
+ }
21
+ /* ]]> */
22
+ </script>
23
+
24
+ <script type="text/javascript">
25
+ /* <![CDATA[ */
26
+ if ((typeof $AA == "undefined") && location.protocol.indexOf("http") != -1) {
27
+ (BmonImage = new Image).src = location.protocol
28
+ + "//" + rum_image_host + "/rum/data.gif?DT=2&amp;vp=1&amp;vt=3.3.48.21&amp;l="
29
+ + escape(document.location) + "&amp;ts=" + (new Date).getTime();
30
+ }
31
+ /* ]]> */
32
+ </script>
33
+
34
+ <link rel="stylesheet" type="text/css" href="/styles/x-standard.css" /><link rel="stylesheet" type="text/css" href="/styles/x-options.css" /><link rel="stylesheet" type="text/css" href="/styles/x-new-options.css" /><link rel="stylesheet" type="text/css" href="/styles/x-navigation.css" /><link rel="stylesheet" type="text/css" href="/styles/x-progressbar.css" /><link rel="stylesheet" type="text/css" href="/styles/x-servicing.css" /><link rel="stylesheet" type="text/css" href="/sifr/sIFR-screen.css" media="screen" /><link rel="stylesheet" type="text/css" href="/sifr/sIFR-print.css" media="print" />
35
+
36
+ <!--[if IE 6]>
37
+ <link rel="stylesheet" type="text/css" href="/styles/ie6styles.css" />
38
+ <![endif]-->
39
+
40
+ <script type="text/javascript">
41
+ /* <![CDATA[ */
42
+
43
+ function createStyleRule(css) {
44
+ var style = document.createElement('style');
45
+ style.setAttribute('type', 'text/css');
46
+ if (style.styleSheet) //for IE
47
+ {
48
+ style.styleSheet.cssText = css;
49
+ } else //Nice browsers
50
+ {
51
+ var txt = document.createTextNode(css);
52
+ style.appendChild(txt);
53
+ }
54
+
55
+ var head = document.getElementsByTagName('head')[0];
56
+ head.appendChild(style);
57
+ }
58
+
59
+ createStyleRule("div.page *.hiddenbyjs {display:none;}");
60
+ createStyleRule("div.page *.visiblebyjs {display:block;}");
61
+ /* ]]> */
62
+ </script>
63
+
64
+ <script src="/scripts/prototype.js" type="text/javascript" ></script>
65
+ <script src="/scripts/scriptaculous.js?load=effects" type="text/javascript"></script>
66
+ <script src="/scripts/ProgressiveEnhancements.js" type="text/javascript" ></script>
67
+
68
+ <script src="/scripts/standard.js" type="text/javascript" ></script>
69
+ <script src="/scripts/iebugfix.js" type="text/javascript" ></script>
70
+ <script src="/sifr/sifr.js" type="text/javascript" ></script>
71
+ <script src="/scripts/sec.js" type="text/javascript" ></script>
72
+
73
+ <meta http-equiv="Pragma" content="no-cache" /><meta http-equiv="Cache-Control" content="no-cache" /><meta http-equiv="Expires" content="Mon, 01 Sep 2008 06:37:06 GMT" /><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><title>
74
+ Egg Card Statements
75
+ </title></head>
76
+ <body id="layouta">
77
+ <form method="post" action="statements.aspx?index=0" id="aspnetForm" autocomplete="off">
78
+ <div>
79
+ <input type="hidden" name="sh1" id="sh1" value="478b22eace2d4df861ad50214413f5225b718a84" />
80
+ <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
81
+ <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
82
+ <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="mPcwXWBROcjOda7dDY6sl8LEopZhhEFFgW3/7LqbHEphah1dl06zNe1HbYHffjfKWsDtIRB7wLi3CpGz7TcSee+XaBvTKXGd/hlWgJFpriCAFe63g2akIa/PWYSG/9s9zKqQC1NuEldN75XrNIvM/kFEL6phMkj4JYXeCgVq7A08AJ1UTI2/1ay6CubjdXusJ7ceRu6dgKGXkVKV7PKtqbcl//26xRF8FRXp71RMxegBYyI3svrJ5RHaVUxraXY7UoLjbJV2kZtMR8dSHRFnkZxIofeUVlZuuqFgmZSqYB4W5KRp00z5AqLnCLaYN4riaIbQyZp7dPRuYLQMwo7Ssh7FJ6qY4/JrbDWAFHak1S3oGqZ/sh1rjAJWdi1YP3mWmnShG09YCvqAKrtgIW387AgEAlYhOLOVab43Um2Z1jTtSe81T+pRBCunDAqOioJsU3Dz1QGxt8YO8R5baZxWq1b35nRjjSELR0mq+tmpmNCZqFh9aOoQjYY8huLwqMe5k88T2JH3Hf+8KyBK72YKYEeGBvhU9UUiqNyt3YRLLPsgcKXMf9ORSKz7mvE1sNU3eRDzehdcf5hpZQl5jt6QizmufJyorcOq2LC4YbuRByIR2TLrD8/sX6DSU0tgXgp9DA2QkaFlD2qoivP26zlEZXEKS/URDyfvyMsngjUSvhiLaSesfwdI/kpwgw8mF/o5XMFK1wIcaD30bJtm5cBqOLPDWOlJsFA5uHm+lytS2TrmLZgAS0/xwzE5PRDeUig7kdhoowCYX5Ja8UU3qWceZoeUVOozODGIfMWaoN9EWftY4CgbByUF5GK6qEbLtKUDGZSsflndkHS2YmvGIwl4EXreGs5nIz3f55eG5mLV+sS6qds8VXCakNwLjbYx/aGdEc5ShagPn0S6SUbGvSh5Xw2ZGn4DUAFnXSKMlwXMXjQ70xp5Si0aocVlCxTx2dlocgOFSDxnMg0o2Dsv6ZEXBaWufkr1/Mdv80+5CeIGdmenIoG6b6Ulg+A+15vujZjcCixU0znuyrYO80IfGDieUDlTu/9kb2KN/2kY5ODp1HkzC0p0V+aUSLBDRnEmloccn4d5/raESTr3AbMhC/tgh96UWSfXc4MrWKo0WuWVuudoR1/ckp/HmHwPJlEExahXHVWnnO8PVoWJFQBH/Dao4UrfL9/TrT/yYknyJs8/3UlrKmExAtRiYcGjCrY3P/2y9WP/095jmvI3aJ8ETK+VkEjs7K41SfDWSnVNz+e4A8mDBYtF1llfjnEhSh61qKU4" />
83
+ </div>
84
+
85
+ <script type="text/javascript">
86
+ <!--
87
+ var theForm = document.forms['aspnetForm'];
88
+ if (!theForm) {
89
+ theForm = document.aspnetForm;
90
+ }
91
+ function __doPostBack(eventTarget, eventArgument) {
92
+ if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
93
+ theForm.__EVENTTARGET.value = eventTarget;
94
+ theForm.__EVENTARGUMENT.value = eventArgument;
95
+ theForm.submit();
96
+ }
97
+ }
98
+ // -->
99
+ </script>
100
+
101
+
102
+ <div class="topnav">
103
+
104
+
105
+ <div class="title"></div>
106
+ <div class="mainnavigation">
107
+ <h2>Main navigation</h2>
108
+ <ul>
109
+ <li class="skip"><a href="#maincontent">Skip to main content</a></li>
110
+ <li id="ctl00_topbar_ctl00_liApply"><a href="/customer/apply/select.aspx">Apply</a></li>
111
+ <li id="ctl00_topbar_ctl00_liLegalInfo"><a href="/customer/legalinfo.aspx">Legal info</a></li>
112
+ <li id="ctl00_topbar_ctl00_liContactUs"><a href="/customer/contactus.aspx">Contact us</a></li>
113
+ <li id="ctl00_topbar_ctl00_liNeedHelp" class="lastchild"><a href="/customer/needhelp.aspx">Need help?</a></li>
114
+ </ul>
115
+ </div>
116
+ <div class="servicingnavigation">
117
+ <div class="tabs">
118
+ <h2>Servicing options</h2>
119
+ <ul>
120
+ <li id="ctl00_topbar_ctl00_liYourMoney" class="active"><a href="/customer/yourmoney.aspx"><span>Your money</span></a></li>
121
+ <li id="ctl00_topbar_ctl00_liMoveMoney" class="inactive"><a href="/customer/movemoney/select.aspx"><span>Move money</span></a></li>
122
+ <li id="ctl00_topbar_ctl00_liSecurityDetails" class="inactive"><a href="/customer/securitydetails/select.aspx"><span>Security details</span></a></li>
123
+ <li id="ctl00_topbar_ctl00_liPersonalDetails" class="inactive"><a href="/customer/personaldetails/yourinformation.aspx"><span>Personal details</span></a></li>
124
+ </ul>
125
+ </div>
126
+ <a href="/security/logouthandler.ashx" class="logout"><span>log out</span></a>
127
+ </div>
128
+
129
+
130
+
131
+ </div>
132
+ <div id="page">
133
+ <div id="area1">
134
+
135
+
136
+
137
+ <div class="menu">
138
+ <h3>Egg Card</h3>
139
+ <ul>
140
+ <li id="ctl00_leftsidebar_ctl00_liRecentTransactions"><a href="/customer/eggcard/recenttransactions.aspx" id="ctl00_leftsidebar_ctl00_lnkRecentTransactions">Recent transactions</a></li>
141
+ <li id="ctl00_leftsidebar_ctl00_liStatements" class="selected"><a href="/customer/eggcard/statements.aspx" id="ctl00_leftsidebar_ctl00_lnkStatements">Statements</a></li>
142
+ <li id="ctl00_leftsidebar_ctl00_liViewPin"><a href="/customer/eggcard/viewpin.aspx" id="ctl00_leftsidebar_ctl00_lnkViewPin">View your PIN</a></li>
143
+ <li id="ctl00_leftsidebar_ctl00_liOneOffPayment"><a href="/customer/eggcard/makepayment.aspx" id="ctl00_leftsidebar_ctl00_lnkOneOffPayment">One-off payment</a></li>
144
+ <li id="ctl00_leftsidebar_ctl00_liBalanceTransfer"><a href="/customer/eggcard/balancetransfer.aspx" id="ctl00_leftsidebar_ctl00_lnkBalanceTransfer">Balance transfers</a></li>
145
+ <li id="ctl00_leftsidebar_ctl00_liDirectDebit"><a href="/customer/eggcard/directdebit/select.aspx" id="ctl00_leftsidebar_ctl00_lnkDirectDebit">Your Direct Debit</a></li>
146
+ <li id="ctl00_leftsidebar_ctl00_liCashBack"><a href="/customer/eggcard/cashback.aspx" id="ctl00_leftsidebar_ctl00_lnkCashBack">Cash back and offers</a></li>
147
+ <li id="ctl00_leftsidebar_ctl00_liCardAdmin"><a href="/customer/eggcard/admin/select.aspx" id="ctl00_leftsidebar_ctl00_lnkCardAdmin">Egg Card admin</a></li>
148
+ <li id="ctl00_leftsidebar_ctl00_liRquestLimit"><a href="/customer/eggcard/creditlimit.aspx" id="ctl00_leftsidebar_ctl00_lnkRequestLimit">Request credit limit</a></li>
149
+ <li id="ctl00_leftsidebar_ctl00_liCreditAgreement"><a href="/customer/eggcard/creditagreement.aspx" id="ctl00_leftsidebar_ctl00_lnkCreditAgreement">Credit agreements</a></li>
150
+ </ul>
151
+ </div>
152
+
153
+
154
+ </div>
155
+ <div id="area2">
156
+
157
+ <h1>Your Egg Card statement.</h1>
158
+ <script type="text/javascript">
159
+ /* <![CDATA[ */
160
+ function openTransactionsHelp() {
161
+ helpwin=window.open("/customer/eggcard/help/transactions.aspx",'EggCardTransactionsHelpHome','width=490,height=500,resize=yes,status=no,scrollbars=yes');
162
+ }
163
+ function openPaymentHelp() {
164
+ helpwin=window.open("/customer/eggcard/help/payment.aspx",'EggCardPaymentsHelpHome','width=490,height=500,resize=yes,status=no,scrollbars=yes');
165
+ }
166
+ function openCashBackHelp() {
167
+ helpwin=window.open("/customer/eggcard/help/cashback.aspx",'EggCardCashBackHelpHome','width=490,height=500,resize=yes,status=no,scrollbars=yes');
168
+ }
169
+ /* ]]> */
170
+ </script>
171
+
172
+
173
+ <fieldset>
174
+ <h2>Card details</h2>
175
+ <legend>Card details</legend>
176
+ <div class="input">
177
+ <label class="narrowed" for="lblCardTypeName">card</label>
178
+ <span id="lblCardTypeName" class="value">Egg Card</span>
179
+ </div>
180
+ <div class="input">
181
+ <label class="narrowed" for="lblCardNumber">card number</label>
182
+ <span id="lblCardNumber" class="creditcard">1234 4321 1234 4321</span>
183
+ <span id="lblCardNumberForPrint" class="creditcardforprint">1234 **** **** 4321</span>
184
+ </div>
185
+ <div class="input">
186
+ <label class="narrowed" for="lblCreditLimit">credit limit</label>
187
+ <span id="lblCreditLimit" class="value">&pound;7,000.00</span>
188
+ </div>
189
+ <div class="calltoaction clear">
190
+ <a href="/customer/eggcard/admin/aboutyoureggcard.aspx">more details about your Egg Card</a>
191
+ </div>
192
+ </fieldset>
193
+
194
+
195
+ <fieldset>
196
+ <h2>Statement information</h2>
197
+ <legend>Statement information</legend>
198
+ <div class="input">
199
+ <label class="narrowed" for="ctl00_content_eggCardStatements_lstPreviousStatements">statement period</label>
200
+ <select name="ctl00$content$eggCardStatements$lstPreviousStatements" id="ctl00_content_eggCardStatements_lstPreviousStatements" class="superwide">
201
+ <option value="recent transactions">recent transactions</option>
202
+ <option selected="selected" value="18 July 2009 to 18 August 2009">18 July 2009 to 18 August 2009</option>
203
+ <option value="18 June 2009 to 18 July 2009">18 June 2009 to 18 July 2009</option>
204
+ <option value="18 May 2009 to 18 June 2009">18 May 2009 to 18 June 2009</option>
205
+ <option value="18 April 2009 to 18 May 2009">18 April 2009 to 18 May 2009</option>
206
+ <option value="18 March 2009 to 18 April 2009">18 March 2009 to 18 April 2009</option>
207
+ <option value="18 February 2009 to 18 March 2009">18 February 2009 to 18 March 2009</option>
208
+ <option value="18 January 2009 to 18 February 2009">18 January 2009 to 18 February 2009</option>
209
+ <option value="18 December 2008 to 18 January 2009">18 December 2008 to 18 January 2009</option>
210
+ <option value="18 November 2008 to 18 December 2008">18 November 2008 to 18 December 2008</option>
211
+ <option value="18 October 2008 to 18 November 2008">18 October 2008 to 18 November 2008</option>
212
+ <option value="18 September 2008 to 18 October 2008">18 September 2008 to 18 October 2008</option>
213
+ <option value="18 August 2008 to 18 September 2008">18 August 2008 to 18 September 2008</option>
214
+ </select><a id="ctl00_content_eggCardStatements_lbGotoStatement" class="calltoaction" title="View selected statement" href="javascript:__doPostBack('ctl00$content$eggCardStatements$lbGotoStatement','')">go</a>
215
+ </div>
216
+ <div class="input">
217
+ <label class="narrowed" for="lblStatementDate">statement date</label>
218
+ <span id="lblStatementDate" class="value">18 August 2009</span>
219
+ </div>
220
+ </fieldset>
221
+
222
+
223
+ <fieldset>
224
+ <h2>Payment details</h2>
225
+ <legend>Payment details</legend>
226
+
227
+ <div class="input">
228
+ <label class="narrowed" for="lblMinimumPayment">minimum payment due<br /><span class="subtext">(minimum payment plus any arrears)</span></label>
229
+ <span class="valuemonetary" id="lblMinimumPayment">&pound;25.36</span>
230
+ <a id="help-minpayment-anchor" href="#help-minpayment" class="helpLink" rel="help" title="help with minimum payment due"><img alt="help with minimum payment due" src="/images/icons/icon_questmarkorange.gif" width="17" height="17" class="helpBtn"/></a>
231
+ </div>
232
+ <div class="input">
233
+ <label class="narrowed" for="lblNextPaymentDue">next payment due</label>
234
+ <span class="value" id="lblNextPaymentDue">01 September 2009</span>
235
+ </div>
236
+
237
+ <div class="calltoaction clear">
238
+ <a href="#" onclick="JavaScript:openPaymentHelp();return false;">ways to make an additional payment</a>
239
+ </div>
240
+ </fieldset>
241
+
242
+
243
+
244
+
245
+
246
+ <table id="tblTransactionsTable" class="grid" cellspacing="1" summary="Your transaction details">
247
+ <caption>Transaction details</caption>
248
+ <thead>
249
+ <tr>
250
+ <th class="date">date</th>
251
+ <th class="description">description</th>
252
+ <th class="amount">amount</th>
253
+ </tr>
254
+ </thead>
255
+ <tfoot>
256
+ <tr>
257
+ <th colspan="2">closing balance:</th>
258
+ <td class="money">&pound;1,268.00 DR</td>
259
+ </tr>
260
+ </tfoot>
261
+ <tbody>
262
+
263
+ <tr>
264
+ <td class="date"></td>
265
+ <td class="description">OPENING BALANCE</td>
266
+ <td class="money">&pound;4.59 DR</td>
267
+ </tr>
268
+
269
+ <tr class="alt">
270
+ <td class="date">20 Jul 2009</td>
271
+ <td class="description">LONDON S E RAIL RAMSGATE SS GB</td>
272
+ <td class="money">&pound;87.50 DR</td>
273
+ </tr>
274
+
275
+
276
+ <tr>
277
+ <td class="date">03 Aug 2009</td>
278
+ <td class="description">AMZN PMTS 811-209-1987 WA</td>
279
+ <td class="money">&pound;0.03 DR</td>
280
+ </tr>
281
+
282
+ <tr class="alt">
283
+ <td class="date"></td>
284
+ <td class="description">0.05 USD @ 1.6666666670</td>
285
+ <td class="money"></td>
286
+ </tr>
287
+
288
+ <tr>
289
+ <td class="date">03 Aug 2009</td>
290
+ <td class="description">PAYMENT 2 EGG . GB</td>
291
+ <td class="money">&pound;9.79 CR</td>
292
+ </tr>
293
+
294
+ <tr class="alt">
295
+ <td class="date">18 Aug 2009</td>
296
+ <td class="description">CASH INTEREST AT 1.736 PER MONTH</td>
297
+ <td class="money">&pound;10.07 DR</td>
298
+ </tr>
299
+
300
+ </tbody>
301
+ </table>
302
+ <div class="calltoaction">
303
+ <a href="#" onclick="JavaScript:openTransactionsHelp();return false;">find out more about your transactions</a>
304
+ </div>
305
+ <p><strong>If you do not pay off the full outstanding amount, we will allocate your payment to the outstanding balance in a specific order, which is set out in the <a href="/customer/eggcard/statementinformation.aspx">summary box</a> within
306
+ the statement information page. The way in which payments are allocated can make a significant difference to the amount of interest you will pay until the balance is cleared completely.</strong></p>
307
+
308
+
309
+
310
+
311
+
312
+ <fieldset>
313
+ <h2>Cash back details</h2>
314
+ <legend>Cash back details</legend>
315
+ <div class="input">
316
+ <label class="narrowed" for="lblCashBackThisMonth">cash back this month</label>
317
+ <span class="value" id="lblCashBackThisMonth">&pound;1.11</span>
318
+ </div>
319
+ <div class="input">
320
+ <label class="narrowed" for="lblCashBackToDate">cash back to date</label>
321
+ <span id="lblCashBackToDate" class="value">&pound;7.77</span>
322
+ </div>
323
+ <div class="calltoaction clear">
324
+ <a href="#" onclick="JavaScript:openCashBackHelp();return false;">learn more about cash back</a>
325
+ </div>
326
+ </fieldset>
327
+
328
+
329
+
330
+ <div class="informationmessage">
331
+ <h3>Information</h3>
332
+
333
+ <p>
334
+
335
+ IF YOU ONLY PAY YOUR MINIMUM PAYMENT, YOUR
336
+
337
+ ESTIMATED INTEREST (SEE EXPLANATION) ON YOUR
338
+
339
+ NEXT STATEMENT WILL BE 24.21
340
+
341
+ </p>
342
+ <p><strong>Minimum payments - if you make only the minimum payment each month, it will take you longer and cost you more to clear your balance.</strong> If you are unable to make the minimum repayment or are in financial difficulty, please call <strong>08456 000 296.</strong></p><p>The exchange rates we use to convert foreign transactions to Sterling are those in force when we process the transaction. To see the rest of your statement (including information about foreign transactions, estimated interest and interest calculation) select the link below.</p>
343
+ <div class="calltoaction">
344
+ <a href="/customer/eggcard/statementinformation.aspx" title="statement information">statement information</a>
345
+ </div>
346
+ </div>
347
+
348
+
349
+
350
+
351
+
352
+
353
+ <div class="choices">
354
+ <h3>Options</h3>
355
+ <ul>
356
+ <li><div class="colTwo"><span class="home anchor"><a href="/customer/yourmoney.aspx">your money</a></span></div></li>
357
+ </ul>
358
+ </div>
359
+
360
+ <div id="helpContents" class="hiddenbyjs" >
361
+ <h2>Need Help?</h2>
362
+
363
+ <div id="help-minpayment">
364
+ <p>If your account is up to date you are only required to pay the minimum payment. If you are in arrears, then the arrears amount will be added to your minimum payment to show you what you need to pay to bring your account up to date.</p>
365
+ </div>
366
+ <a href="#help-minpayment-anchor">back to where you were</a>
367
+
368
+ </div>
369
+ </div>
370
+
371
+
372
+ <!-- MarketingSidebar -->
373
+
374
+ <div id="divMarketing" class="tcs">
375
+ <h3>Promotional Links</h3>
376
+ <ul>
377
+ <li>
378
+ <script language='javascript' type='text/javascript'>
379
+ //<![CDATA[
380
+ document.write('<!-- Egg Banking plc Tue Sep 01 06:38:16 2009 --><!-- begin ContentInfo:Detail --><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="left"> <font face="Arial, Helvetica, sans-serif" size="2"> <TABLE width="128" border="0" cellspacing="0" cellpadding="0"><tr><td> <a href=\'http://new.egg.com/visitor/0,,3_11217--View_822,00.html\' target=\'_blank\'><img border="0" src="https://new.egg.com/com.egg/images/Prop/10Feb06_SecPhishing.gif" alt="find out more about security"></a></td> </tr></table><br><br> </font> </td> </tr></table><!-- end ContentInfo:Detail -->');
381
+ //]]>
382
+ </script></li>
383
+ <li>
384
+ <script language='javascript' type='text/javascript'>
385
+ //<![CDATA[
386
+ document.write('<!-- Egg Banking plc Tue Sep 01 06:38:16 2009 --><!-- begin ContentInfo:Detail --><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="left"> <font face="Arial, Helvetica, sans-serif" size="2"> <TABLE width="128" border="0" cellspacing="0" cellpadding="0"><tr><td><a href="https://new.egg.com/viewpin"><img border="0" src="https://new.egg.com/com.egg/images/Prop/tcs_doyouknowpin.gif" alt="check your PIN"></a></td></tr></table><br><br> </font> </td> </tr></table><!-- end ContentInfo:Detail -->');
387
+ //]]>
388
+ </script></li>
389
+ </ul>
390
+ </div>
391
+
392
+ <!-- MarketingSidebar end -->
393
+
394
+ </div>
395
+ <div>
396
+ <input name="PAGE_ID" id="PAGE_ID" type="hidden" value="EggCardStatements" />
397
+ </div>
398
+ <div>
399
+ <input type="hidden" id="individual_id" name="individual_id" value="1176359" /></div>
400
+
401
+ <div>
402
+
403
+ <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="QB2GKCgzAwFbuglOtGomrlki7bELc9tThAZtGgKFlAAyigI4AosQP/FFUBdM6noX" />
404
+ </div></form>
405
+
406
+
407
+ <div>
408
+ <span style="behavior:url(#default#clientCaps)" id="oCC"></span>
409
+ </div>
410
+ <script type="text/javascript">
411
+ /* <![CDATA[ */
412
+ _FBottomKey="3.3.48.21";
413
+ if(typeof($FM_MarkStop)=="function") $FM_MarkStop();
414
+ /* ]]> */
415
+ </script>
416
+ <noscript>
417
+ <div>
418
+ <img src="https://phonehome.egg.com/rum/data.gif?DT=3&amp;vp=1&amp;vt=3.3.48.21" style="border:0;" width="1" height="1" alt=" " />
419
+ </div>
420
+ </noscript>
421
+ <script type="text/javascript">
422
+ /* <![CDATA[ */
423
+ if(typeof sIFR == "function"){
424
+ sIFR.replaceElement(named({sSelector:"h1", sFlashSrc:"/sifr/sifr.swf", sColor:"#333333", sEmColor:"#999999", sStrongColor:"#cccccc", sSpanColor:"#FF9900", sLinkColor:"#444444", sBgColor:"#FFFFFF", sHoverColor:"#999999"}));
425
+ }
426
+ /* ]]> */
427
+ </script>
428
+ </body>
429
+ </html>
@@ -0,0 +1,92 @@
1
+ require File.join(File.dirname(__FILE__), '..', 'test_helper')
2
+
3
+ module Egg
4
+
5
+ class RecentTransactionsParserIntegrationTest < Test::Unit::TestCase
6
+
7
+ def setup
8
+ html = File.read(File.join(FIXTURES, 'recent_transactions.html'))
9
+ @ofx = Egg::Parser.new(html).to_ofx
10
+ @xml = Hpricot::XML(@ofx)
11
+ end
12
+
13
+ def test_should_include_the_xml_processing_instruction
14
+ xml_processing_instruction = @ofx.split("\n")[0] # Should be on the first line
15
+ doc = Hpricot::XML(xml_processing_instruction)
16
+ assert (doc%':eq(0)').xmldecl?
17
+ end
18
+
19
+ def test_should_include_the_ofx_processing_instruction
20
+ ofx_processing_instruction = @ofx.split("\n")[1] # Should be on the second line
21
+ doc = Hpricot::XML(ofx_processing_instruction)
22
+ assert (doc%':eq(0)').procins?
23
+ end
24
+
25
+ def test_should_have_the_ofxheader_version_as_the_first_ofx_processing_instruction_attribute_for_wesabe_compatibility
26
+ ofx_processing_instruction = @ofx.split("\n")[1] # Should be on the second line
27
+ assert_match /\?OFX OFXHEADER="200"/, ofx_processing_instruction
28
+ end
29
+
30
+ def test_should_declare_the_currency_as_gbp
31
+ assert_equal 'GBP', (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:CURDEF).inner_text
32
+ end
33
+
34
+ def test_should_extract_the_account_number_from_the_html
35
+ assert_equal '1234 4321 1234 4321', (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:CCACCTFROM/:ACCTID).inner_text
36
+ end
37
+
38
+ def test_should_extract_the_start_date_of_the_transactions_from_the_html
39
+ assert_equal '20091018', (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:BANKTRANLIST/:DTSTART).inner_text
40
+ end
41
+
42
+ def test_should_extract_the_end_date_of_the_transactions_from_the_html
43
+ assert_equal '20091105', (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:BANKTRANLIST/:DTEND).inner_text
44
+ end
45
+
46
+ def test_should_contain_the_three_transactions_extracted_from_the_html
47
+ assert_equal 3, (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:BANKTRANLIST/:STMTTRN).length
48
+ end
49
+
50
+ def test_should_extract_the_first_debit_transaction
51
+ (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:BANKTRANLIST/"STMTTRN:eq(0)").each do |transaction|
52
+ assert_equal 'DEBIT', (transaction/:TRNTYPE).inner_text
53
+ assert_equal '20091018', (transaction/:DTPOSTED).inner_text
54
+ assert_equal 'EST ANGLIA HGH LDG CR', (transaction/:NAME).inner_text
55
+ assert_equal 'BRANDON', (transaction/:MEMO).inner_text
56
+ assert_equal '-6.4', (transaction/:TRNAMT).inner_text
57
+ assert_equal '4c24622f339bfcd2650bf124935225b1', (transaction/:FITID).inner_text
58
+ end
59
+ end
60
+
61
+ def test_should_extract_the_second_credit_transaction
62
+ (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:BANKTRANLIST/"STMTTRN:eq(1)").each do |transaction|
63
+ assert_equal 'CREDIT', (transaction/:TRNTYPE).inner_text
64
+ assert_equal '20091102', (transaction/:DTPOSTED).inner_text
65
+ assert_equal 'PAYMENT 2 EGG', (transaction/:NAME).inner_text
66
+ assert_equal '.', (transaction/:MEMO).inner_text
67
+ assert_equal '71.77', (transaction/:TRNAMT).inner_text
68
+ assert_equal 'eecbd3a8bb9789a9af61575d5133fbcd', (transaction/:FITID).inner_text
69
+ end
70
+ end
71
+
72
+ def test_should_extract_the_third_debit_transaction
73
+ (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:BANKTRANLIST/"STMTTRN:eq(2)").each do |transaction|
74
+ assert_equal 'DEBIT', (transaction/:TRNTYPE).inner_text
75
+ assert_equal '20091105', (transaction/:DTPOSTED).inner_text
76
+ assert_equal 'LONDON & S E RAIL', (transaction/:NAME).inner_text
77
+ assert_equal 'LONDON BRIDG', (transaction/:MEMO).inner_text
78
+ assert_equal '-16.65', (transaction/:TRNAMT).inner_text
79
+ assert_equal '33c33de7e823d9d1c2f9ea68671e5589', (transaction/:FITID).inner_text
80
+ end
81
+ end
82
+
83
+ def test_should_extract_the_statement_balance_from_the_html
84
+ assert_equal '-4708.31', (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:LEDGERBAL/:BALAMT).inner_text
85
+ end
86
+
87
+ def test_should_extract_the_date_of_the_statement_balance_from_the_html
88
+ assert_equal '20091105', (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:LEDGERBAL/:DTASOF).inner_text
89
+ end
90
+
91
+ end
92
+ end
@@ -0,0 +1,103 @@
1
+ require File.join(File.dirname(__FILE__), '..', 'test_helper')
2
+
3
+ module Egg
4
+
5
+ class StatmentParserIntegrationTest < Test::Unit::TestCase
6
+
7
+ def setup
8
+ html = File.read(File.join(FIXTURES, 'statement.html'))
9
+ @ofx = Egg::Parser.new(html).to_ofx
10
+ @xml = Hpricot::XML(@ofx)
11
+ end
12
+
13
+ def test_should_include_the_xml_processing_instruction
14
+ xml_processing_instruction = @ofx.split("\n")[0] # Should be on the first line
15
+ doc = Hpricot::XML(xml_processing_instruction)
16
+ assert (doc%':eq(0)').xmldecl?
17
+ end
18
+
19
+ def test_should_include_the_ofx_processing_instruction
20
+ ofx_processing_instruction = @ofx.split("\n")[1] # Should be on the second line
21
+ doc = Hpricot::XML(ofx_processing_instruction)
22
+ assert (doc%':eq(0)').procins?
23
+ end
24
+
25
+ def test_should_have_the_ofxheader_version_as_the_first_ofx_processing_instruction_attribute_for_wesabe_compatibility
26
+ ofx_processing_instruction = @ofx.split("\n")[1] # Should be on the second line
27
+ assert_match /\?OFX OFXHEADER="200"/, ofx_processing_instruction
28
+ end
29
+
30
+ def test_should_declare_the_currency_as_gbp
31
+ assert_equal 'GBP', (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:CURDEF).inner_text
32
+ end
33
+
34
+ def test_should_extract_the_account_number_from_the_html
35
+ assert_equal '1234 4321 1234 4321', (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:CCACCTFROM/:ACCTID).inner_text
36
+ end
37
+
38
+ def test_should_extract_the_start_date_of_the_transactions_from_the_html
39
+ assert_equal '20090718', (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:BANKTRANLIST/:DTSTART).inner_text
40
+ end
41
+
42
+ def test_should_extract_the_end_date_of_the_transactions_from_the_html
43
+ assert_equal '20090818', (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:BANKTRANLIST/:DTEND).inner_text
44
+ end
45
+
46
+ def test_should_contain_the_four_transactions_extracted_from_the_html
47
+ assert_equal 4, (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:BANKTRANLIST/:STMTTRN).length
48
+ end
49
+
50
+ def test_should_extract_the_first_debit_transaction
51
+ (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:BANKTRANLIST/"STMTTRN:eq(0)").each do |transaction|
52
+ assert_equal 'DEBIT', (transaction/:TRNTYPE).inner_text
53
+ assert_equal '20090720', (transaction/:DTPOSTED).inner_text
54
+ assert_equal 'LONDON S E RAIL', (transaction/:NAME).inner_text
55
+ assert_equal 'RAMSGATE SS', (transaction/:MEMO).inner_text
56
+ assert_equal '-87.5', (transaction/:TRNAMT).inner_text
57
+ assert_equal 'aff05b64c9f603848051ba9afe8ff666', (transaction/:FITID).inner_text
58
+ end
59
+ end
60
+
61
+ def test_should_extract_the_second_multiline_debit_transaction
62
+ (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:BANKTRANLIST/"STMTTRN:eq(1)").each do |transaction|
63
+ assert_equal 'DEBIT', (transaction/:TRNTYPE).inner_text
64
+ assert_equal '20090803', (transaction/:DTPOSTED).inner_text
65
+ assert_equal 'AMZN PMTS', (transaction/:NAME).inner_text
66
+ assert_equal '811-209-1987', (transaction/:MEMO).inner_text
67
+ assert_equal '-0.03', (transaction/:TRNAMT).inner_text
68
+ assert_equal 'f8f014252d03edd2a2d2bdf3b6fac940', (transaction/:FITID).inner_text
69
+ end
70
+ end
71
+
72
+ def test_should_extract_the_third_credit_transaction
73
+ (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:BANKTRANLIST/"STMTTRN:eq(2)").each do |transaction|
74
+ assert_equal 'CREDIT', (transaction/:TRNTYPE).inner_text
75
+ assert_equal '20090803', (transaction/:DTPOSTED).inner_text
76
+ assert_equal 'PAYMENT 2 EGG', (transaction/:NAME).inner_text
77
+ assert_equal '.', (transaction/:MEMO).inner_text
78
+ assert_equal '9.79', (transaction/:TRNAMT).inner_text
79
+ assert_equal '0f7f4f3274e4042be4c51d5cd6e151e0', (transaction/:FITID).inner_text
80
+ end
81
+ end
82
+
83
+ def test_should_extract_the_interest_transaction
84
+ (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:BANKTRANLIST/"STMTTRN:eq(3)").each do |transaction|
85
+ assert_equal 'INT', (transaction/:TRNTYPE).inner_text
86
+ assert_equal '20090818', (transaction/:DTPOSTED).inner_text
87
+ assert_equal 'CASH INTEREST AT 1.736 PER MONTH', (transaction/:NAME).inner_text
88
+ assert_equal '', (transaction/:MEMO).inner_text
89
+ assert_equal '-10.07', (transaction/:TRNAMT).inner_text
90
+ assert_equal 'dda1fbfc6316ab5287bef98b0f251250', (transaction/:FITID).inner_text
91
+ end
92
+ end
93
+
94
+ def test_should_extract_the_statement_balance_from_the_html
95
+ assert_equal '-1268.0', (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:LEDGERBAL/:BALAMT).inner_text
96
+ end
97
+
98
+ def test_should_extract_the_date_of_the_statement_balance_from_the_html
99
+ assert_equal '20090818', (@xml/:OFX/:CREDITCARDMSGSRSV1/:CCSTMTTRNRS/:CCSTMTRS/:LEDGERBAL/:DTASOF).inner_text
100
+ end
101
+
102
+ end
103
+ end
@@ -0,0 +1,7 @@
1
+ require 'test/unit'
2
+ require 'rubygems'
3
+ require 'mocha'
4
+
5
+ require File.join(File.dirname(__FILE__), '..', 'lib', 'egg')
6
+
7
+ FIXTURES = File.join(File.dirname(__FILE__), 'fixtures') unless defined?(FIXTURES)