#include <stdio.h>
#include <string.h>
#include "vcaltmp.h"

#if 0
This testcase would generate a file call "frankcal.vcf" with
the following content:

BEGIN:VCALENDAR
DCREATED:19960523T100522
GEO:37.24,-17.87
PRODID:-//Frank Dawson/Hand Crafted In North Carolina//NONSGML Made By Hand//EN
VERSION:0.3
BEGIN:VEVENT
DTSTART:19960523T120000
DTEND:19960523T130000
DESCRIPTION;QUOTED-PRINTABLE:VERSIT PDI PR Teleconference/Interview =0A=
With Tom Streeter and Frank Dawson - Discuss VERSIT PDI project and vCard and vCalendar=0A=
activities with European Press representatives.
SUMMARY:VERSIT PDI PR Teleconference/Interview
SUBTYPE:PHONE CALL
STATUS:CONFIRMED
TRANSP:19960523T100522-4000F100582713-009251
UID:http://www.ibm.com/raleigh/fdawson/~c:\or2\orgfiles\versit.or2
DALARM:19960523T114500;5;3;Your Telecon Starts At Noon!!!;
MALARM:19960522T120000;;;fdawson@raleigh.ibm.com;Remember 05/23 Noon Telecon!!!;
PALARM:19960523T115500;;;c:\or2\organize.exe c:\or2\orgfiles\versit.or2;
X-LDC-OR2-OLE:c:\temp\agenda.doc
END:VEVENT

BEGIN:VTODO
DUE:19960614T0173000
DESCRIPTION:Review VCalendar helper API.
END:VTODO

END:VCALENDAR

#endif

FILE *cfp;

void testVcalAPIs() {
    FILE *fp;
    VObject *vcal, *vevent;
#if _CONSOLE
    cfp = stdout;
#else
    cfp = fopen("vcaltest.out","w");
#endif
    if (cfp == 0) return;
    vcal = vcsCreateVCal(
	"19960523T100522",
	"37.24,-17.87",
	"-//Frank Dawson/Hand Crafted In North Carolina//NONSGML Made By Hand//EN",
	0,
	"0.3"
	);

    vevent = vcsAddEvent(
	vcal,
	"19960523T120000",
	"19960523T130000",
	"VERSIT PDI PR Teleconference/Interview \nWith Tom Streeter and Frank Dawson - Discuss VERSIT PDI project and vCard and vCalendar\nactivities with European Press representatives.",
	"VERSIT PDI PR Teleconference/Interview",
	"PHONE CALL",
	0,
	"CONFIRMED",
	"19960523T100522-4000F100582713-009251",
	"http://www.ibm.com/raleigh/fdawson/~c:\\or2\\orgfiles\\versit.or2",
	0
	);
    
    vcsAddDAlarm(vevent, "19960523T114500", "5", "3",
	    "Your Telecon Starts At Noon!!!");
    vcsAddMAlarm(vevent, "19960522T120000", 0, 0, "fdawson@raleigh.ibm.com",
	    "Remember 05/23 Noon Telecon!!!");
    vcsAddPAlarm(vevent, "19960523T115500", 0 ,0,
	    "c:\\or2\\organize.exe c:\\or2\\orgfiles\\versit.or2");
    
    addPropValue(vevent, "X-LDC-OR2-OLE", "c:\\temp\\agenda.doc");

    vcsAddTodo(
	vcal,
	0,
	"19960614T0173000",
	0,
	"Review VCalendar helper API.",
	0,
	0,
	0,
	0,
	0,
	0
	);

    /* now do something to the resulting VObject */
    /* pretty print on stdout for fun */
    printVObject(cfp,vcal);
    /* open the output text file */

#define OUTFILE "frankcal.vcf"

    fp = fopen(OUTFILE, "w");
    if (fp) {
	/* write it in text form */
	writeVObject(fp,vcal);
	fclose(fp);
	}
    else {
	fprintf(cfp,"open output file '%s' failed\n", OUTFILE);
	}
    if (cfp != stdout) fclose(cfp);
    }

void main() {
    testVcalAPIs();
    }

_yarn/hosted-git-info-2.8.9'>dependabot/npm_and_yarn/hosted-git-info-2.8.9</option>
<option value='dependabot/npm_and_yarn/i-0.3.7'>dependabot/npm_and_yarn/i-0.3.7</option>
<option value='dependabot/npm_and_yarn/jsdom-16.5.0'>dependabot/npm_and_yarn/jsdom-16.5.0</option>
<option value='dependabot/npm_and_yarn/jszip-3.10.1'>dependabot/npm_and_yarn/jszip-3.10.1</option>
<option value='dependabot/npm_and_yarn/karma-6.3.14'>dependabot/npm_and_yarn/karma-6.3.14</option>
<option value='dependabot/npm_and_yarn/karma-6.3.16'>dependabot/npm_and_yarn/karma-6.3.16</option>
<option value='dependabot/npm_and_yarn/lodash-es-4.17.21'>dependabot/npm_and_yarn/lodash-es-4.17.21</option>
<option value='dependabot/npm_and_yarn/luxon-1.28.1'>dependabot/npm_and_yarn/luxon-1.28.1</option>
<option value='dependabot/npm_and_yarn/luxon-2.5.2'>dependabot/npm_and_yarn/luxon-2.5.2</option>
<option value='dependabot/npm_and_yarn/markdown-to-jsx-6.11.4'>dependabot/npm_and_yarn/markdown-to-jsx-6.11.4</option>
<option value='dependabot/npm_and_yarn/merge-deep-3.0.3'>dependabot/npm_and_yarn/merge-deep-3.0.3</option>
<option value='dependabot/npm_and_yarn/moment-2.29.2'>dependabot/npm_and_yarn/moment-2.29.2</option>
<option value='dependabot/npm_and_yarn/moment-2.29.4'>dependabot/npm_and_yarn/moment-2.29.4</option>
<option value='dependabot/npm_and_yarn/nested-object-assign-1.0.4'>dependabot/npm_and_yarn/nested-object-assign-1.0.4</option>
<option value='dependabot/npm_and_yarn/node-sass-4.13.1'>dependabot/npm_and_yarn/node-sass-4.13.1</option>
<option value='dependabot/npm_and_yarn/node-sass-7.0.0'>dependabot/npm_and_yarn/node-sass-7.0.0</option>
<option value='dependabot/npm_and_yarn/path-parse-1.0.7'>dependabot/npm_and_yarn/path-parse-1.0.7</option>
<option value='dependabot/npm_and_yarn/pathval-1.1.1'>dependabot/npm_and_yarn/pathval-1.1.1</option>
<option value='dependabot/npm_and_yarn/qs-6.5.3'>dependabot/npm_and_yarn/qs-6.5.3</option>
<option value='dependabot/npm_and_yarn/snyk-1.1024.0'>dependabot/npm_and_yarn/snyk-1.1024.0</option>
<option value='dependabot/npm_and_yarn/ssri-6.0.2'>dependabot/npm_and_yarn/ssri-6.0.2</option>
<option value='dependabot/npm_and_yarn/terser-4.8.1'>dependabot/npm_and_yarn/terser-4.8.1</option>
<option value='dependabot/npm_and_yarn/thenify-3.3.1'>dependabot/npm_and_yarn/thenify-3.3.1</option>
<option value='dependabot/npm_and_yarn/tree-kill-1.2.2'>dependabot/npm_and_yarn/tree-kill-1.2.2</option>
<option value='dependabot/npm_and_yarn/ua-parser-js-0.7.28'>dependabot/npm_and_yarn/ua-parser-js-0.7.28</option>
<option value='dependabot/npm_and_yarn/url-parse-1.5.1'>dependabot/npm_and_yarn/url-parse-1.5.1</option>
<option value='dependabot/npm_and_yarn/url-parse-1.5.10'>dependabot/npm_and_yarn/url-parse-1.5.10</option>
<option value='dependabot/npm_and_yarn/url-parse-1.5.3'>dependabot/npm_and_yarn/url-parse-1.5.3</option>
<option value='dependabot/npm_and_yarn/url-parse-1.5.7'>dependabot/npm_and_yarn/url-parse-1.5.7</option>
<option value='dependabot/npm_and_yarn/websocket-extensions-0.1.4'>dependabot/npm_and_yarn/websocket-extensions-0.1.4</option>
<option value='dependabot/npm_and_yarn/xmldom-and-testem--removed'>dependabot/npm_and_yarn/xmldom-and-testem--removed</option>
<option value='dependabot/npm_and_yarn/y18n-3.2.2'>dependabot/npm_and_yarn/y18n-3.2.2</option>
<option value='master'>master</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>Tangerine fork of MetaMask browser extension (https://github.com/tangerine-network/tangerine-wallet-browser)
</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/~lantw44/cgit/tangerine-wallet-browser/about/?h=v5.3.1'>about</a><a href='/~lantw44/cgit/tangerine-wallet-browser/?h=v5.3.1'>summary</a><a href='/~lantw44/cgit/tangerine-wallet-browser/refs/?h=v5.3.1'>refs</a><a class='active' href='/~lantw44/cgit/tangerine-wallet-browser/log/test/integration?h=v5.3.1&amp;showmsg=1'>log</a><a href='/~lantw44/cgit/tangerine-wallet-browser/tree/test/integration?h=v5.3.1'>tree</a><a href='/~lantw44/cgit/tangerine-wallet-browser/commit/test/integration?h=v5.3.1'>commit</a><a href='/~lantw44/cgit/tangerine-wallet-browser/diff/test/integration?h=v5.3.1'>diff</a><a href='/~lantw44/cgit/tangerine-wallet-browser/stats/test/integration?h=v5.3.1'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/tangerine-wallet-browser/log/test/integration'>
<input type='hidden' name='h' value='v5.3.1'/><input type='hidden' name='showmsg' value='1'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/~lantw44/cgit/tangerine-wallet-browser/log/?h=v5.3.1&amp;showmsg=1'>root</a>/<a href='/~lantw44/cgit/tangerine-wallet-browser/log/test?h=v5.3.1&amp;showmsg=1'>test</a>/<a href='/~lantw44/cgit/tangerine-wallet-browser/log/test/integration?h=v5.3.1&amp;showmsg=1'>integration</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/tangerine-wallet-browser/log/test/integration?h=v5.3.1'>Collapse</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr>
<tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/~lantw44/cgit/tangerine-wallet-browser/commit/test/integration?h=v5.3.1&amp;id=30a2be85eebe4f6b8cddb297f14faba392fe1133'>Prevent users from changing the From field in the send screen (#5922)</a></td><td>Alexander Tseung</td><td><span title='2018-12-14 10:19:36 +0800'>2018-12-14</span></td><td>1</td><td><span class='deletions'>-20</span>/<span class='insertions'>+5</span></td></tr>
<tr class='nohover-highlight'><td class='commitgraph'><span class='column1'>|</span> 
<span class='column1'>|</span> 
<span class='column1'>|</span> 
<span class='column1'>|</span> 
<span class='column1'>|</span> 
<span class='column1'>|</span> </td>
<td colspan='5' class='logmsg'>
* Prevent users from changing the From field in the send screen

* Fix integration tests


</td></tr>
<tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/~lantw44/cgit/tangerine-wallet-browser/commit/test/integration?h=v5.3.1&amp;id=1fbdce8916151df2b31eebc5de29a1365e5dadff'>Improve ux for low gas price set (#5862)</a></td><td>Dan J Miller</td><td><span title='2018-12-11 05:51:00 +0800'>2018-12-11</span></td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+16</span></td></tr>
<tr class='nohover-highlight'><td class='commitgraph'><span class='column1'>|</span> 
<span class='column1'>|</span> 
<span class='column1'>|</span> 
<span class='column1'>|</span> 
<span class='column1'>|</span> 
<span class='column1'>|</span> 
<span class='column1'>|</span> 
<span class='column1'>|</span> 
<span class='column1'>|</span> 
<span class='column1'>|</span> </td>
<td colspan='5' class='logmsg'>
* Show user warning if they set gas price below safelow minimum, error if 0.

* Properly cache basic price estimate data.

* Default retry price to recommended price if original price was 0x0

* Use mock fetch in send-new-ui integration tests.


</td></tr>
<tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/~lantw44/cgit/tangerine-wallet-browser/commit/test/integration?h=v5.3.1&amp;id=d8ab9cc002c10757b7382a174dafff7a0247e307'>Group transactions by nonce (#5886)</a></td><td>Alexander Tseung</td><td><span title='2018-12-10 04:48:06 +0800'>2018-12-10</span></td><td>2</td><td><span class='deletions'>-20</span>/<span class='insertions'>+10</span></td></tr>
<tr class='nohover-highlight'><td class='commitgraph'><span class='column1'>|</span> </td>
<td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td class='commitgraph'>* </td><td class='logsubject'><a href='/~lantw44/cgit/tangerine-wallet-browser/commit/test/integration?h=v5.3.1&amp;id=8c8359ca14efdbff2dd879f81090647036799607'>Remove gas customization integration tests (in favour of e2e tests)</a></td><td>Dan Miller</td><td><span title='2018-12-04 11:36:22 +0800'>2018-12-04</span></td><td>1</td><td><span class='deletions'>-35</span>/<span class='insertions'>+0</span></td></tr>
<tr class='nohover-highlight'><td class='commitgraph'><span class='column1'>|</span> </td>
<td colspan='5' class='logmsg'>
</td></tr>