4 * Copyright (c) 2000 - 2014 Samsung Electronics Co., Ltd. All rights reserved
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
24 #define MT_CHECK_EQUAL(arg1, arg2) arg1 != arg2 ? \
25 fprintf(stderr,"[VOBJECT-TEST-CASE] %s %s:%d NOT EQUAL\n",__FILE__,__FUNCTION__,__LINE__) :\
26 fprintf(stderr,"[VOBJECT-TEST-CASE] %s %s:%d EQUAL\n",__FILE__,__FUNCTION__,__LINE__);
28 #define VDATA_TEST_TRACE(fmt, arg...) \
29 do { {fprintf(stderr, "[VOBJECT-TEST-CASE] %s %s:%d: " fmt,__FILE__,__FUNCTION__, __LINE__, ##arg);}}while (false);
32 /** decode a raw buffer to a tree */
33 void utc_vdata_vcard_decode_1()
38 buffer = g_strdup("BEGIN:VCARD\r\nVERSION:2.1\r\nN:Martin;Stephen\r\nTEL;HOME;VOICE:+1 (210) 555-1357\r\nTEL;HOME;FAX:+1 (210) 555-0864\r\nADR;WORK;PARCEL;POSTAL;DOM:123 Cliff Ave.;Big Town;CA;97531\r\nEND:VCARD");
40 tree = VCardDecode(buffer);
41 VDATA_TEST_TRACE("call executed \n");
43 if(!(tree != NULL)) return;
45 VDATA_TEST_TRACE("treetype is %d \n", tree->treeType);
48 VDATA_TEST_TRACE("decodeing faili - utc_vdata_vcard_decode_%d",1);
51 VDATA_TEST_TRACE ("top property is %d \n", tree->pTop->property);
52 VDATA_TEST_TRACE ("top property value is %s \n", *(tree->pTop->pszValue));
54 if (tree->pTop->pParam){
55 VDATA_TEST_TRACE ("top param is %d \n", tree->pTop->pParam->parameter);
56 VDATA_TEST_TRACE ("top param val is %d \n", tree->pTop->pParam->paramValue);
60 VDATA_TEST_TRACE ("cur property is %d \n", tree->pCur->property);
61 VDATA_TEST_TRACE ("top property value is %s \n", *(tree->pCur->pszValue));
64 if (!(tree->pTop->pSibling)){
65 VDATA_TEST_TRACE("decodeing faili - utc_vdata_vcard_decode_%d",1);
69 VDATA_TEST_TRACE ("sibling not NULL \n");
70 VDATA_TEST_TRACE ("sibling property is %d \n", tree->pTop->pSibling->property);
71 VDATA_TEST_TRACE ("sibling property value is %s \n", *(tree->pTop->pSibling->pszValue));
73 if (tree->pTop->pSibling->pParam){
74 VDATA_TEST_TRACE ("sibling param is %d \n", tree->pTop->pSibling->pParam->parameter);
75 VDATA_TEST_TRACE ("sibling param val is %d \n", tree->pTop->pSibling->pParam->paramValue);
78 VDATA_TEST_TRACE("decodeing success - utc_vdata_vcard_decode_%d\n",1);
80 VObject* pSibling2 = tree->pTop->pSibling->pSibling;
84 VDATA_TEST_TRACE ("sibling2 not NULL \n");
85 VDATA_TEST_TRACE ("sibling2 property is %d \n", pSibling2->property);
86 VDATA_TEST_TRACE ("sibling2 property value is %s \n", *(pSibling2->pszValue));
88 if (pSibling2->pParam){
89 VDATA_TEST_TRACE ("sibling param is %d \n", pSibling2->pParam->parameter);
90 VDATA_TEST_TRACE ("sibling param val is %d \n", pSibling2->pParam->paramValue);
93 if (tree->pTop->pParent)
94 VDATA_TEST_TRACE ("parent not NULL \n");
95 if (tree->pTop->pChild)
96 VDATA_TEST_TRACE ("child not NULL \n");
103 /** decode a raw buffer without begin token to a tree */
104 void utc_vdata_vcard_decode_2()
106 gchar *buffer = NULL;
109 buffer = g_strdup("VERSION:2.1\r\nN:Martin;Stephen\r\nTEL;HOME;VOICE:+1 (210) 555-1357\r\nTEL;HOME;FAX:+1 (210) 555-0864\r\nADR;WORK;PARCEL;POSTAL;DOM:123 Cliff Ave.;Big Town;CA;97531\r\nEND:VCARD");
111 tree = VCardDecode(buffer);
112 VDATA_TEST_TRACE("call executed \n");
114 if(!(tree != NULL)) VDATA_TEST_TRACE("tree is null");
120 /*decode a raw buffer without end token to a tree*/
121 void utc_vdata_vcard_decode_3()
123 gchar *buffer = NULL;
126 buffer = g_strdup("BEGIN:VCARD\r\nVERSION:2.1\r\nN:Martin;Stephen\r\nTEL;HOME;VOICE:+1 (210) 555-1357\r\nTEL;HOME;FAX:+1 (210) 555-0864\r\nADR;WORK;PARCEL;POSTAL;DOM:123 Cliff Ave.;Big Town;CA;97531");
128 VDATA_TEST_TRACE("%s\n", buffer);
129 tree = VCardDecode(buffer);
130 VDATA_TEST_TRACE("call executed \n");
134 VDATA_TEST_TRACE ("treetype is %d \n", tree->treeType);
140 /*decode a raw buffer having invalid version tag to a tree*/
141 void utc_vdata_vcard_decode_4()
143 gchar *buffer = NULL;
146 buffer = g_strdup("BEGIN:VCARD\r\nVE:2.1\r\nN:Martin;Stephen\r\nTEL;HOME;VOICE:+1 (210) 555-1357\r\nTEL;HOME;FAX:+1 (210) 555-0864\r\nADR;WORK;PARCEL;POSTAL;DOM:123 Cliff Ave.;Big Town;CA;97531\r\nEND:VCARD");
148 tree = VCardDecode(buffer);
150 VDATA_TEST_TRACE ("call executed \n");
151 VDATA_TEST_TRACE ("treetype is %d \n", tree->treeType);
154 VDATA_TEST_TRACE ("tree->pTop null. \n");
158 VDATA_TEST_TRACE ("top property is %d \n", tree->pTop->property);
159 VDATA_TEST_TRACE ("top property value is %s \n", *(tree->pTop->pszValue));
161 MT_CHECK_EQUAL(tree->pTop->property, (int)VCARD_TYPE_N);
168 /** decode a raw buffer without having crlf in between two tokens to a tree */
169 void utc_vdata_vcard_decode_5()
171 gchar *buffer = NULL;
174 buffer = g_strdup("BEGIN:VCARDVERSION:2.1\r\nN:Martin;Stephen\r\nTEL;HOME;VOICE:+1 (210) 555-1357\r\nTEL;HOME;FAX:+1 (210) 555-0864\r\nADR;WORK;PARCEL;POSTAL;DOM:123 Cliff Ave.;Big Town;CA;97531\r\nEND:VCARD");
176 tree = VCardDecode(buffer);
177 VDATA_TEST_TRACE ("call executed \n");
178 VDATA_TEST_TRACE ("treetype is %d \n", tree->treeType);
181 VDATA_TEST_TRACE ("tree->pTop null. \n");
185 VDATA_TEST_TRACE ("top property is %d \n", tree->pTop->property);
186 VDATA_TEST_TRACE ("top property value is %s \n", *(tree->pTop->pszValue));
188 MT_CHECK_EQUAL(tree->pTop->property, (int)VCARD_TYPE_N);
194 /*decode a raw buffer having some invalid token to a tree*/
195 void utc_vdata_vcard_decode_6()
197 gchar *buffer = NULL;
200 buffer = g_strdup("BEGIN:VCARD\r\nVERSIOOOONNNN:2.1\r\nN:Martin;Stephen\r\nTEL;HOME;VOICE:+1 (210) 555-1357\r\nTEL;HOME;FAX:+1 (210) 555-0864\r\nADR;WORK;PARCEL;POSTAL;DOM:123 Cliff Ave.;Big Town;CA;97531\r\nEND:VCARD");
202 tree = VCardDecode(buffer);
203 VDATA_TEST_TRACE ("call executed \n");
204 VDATA_TEST_TRACE ("treetype is %d \n", tree->treeType);
207 VDATA_TEST_TRACE ("tree->pTop null. \n");
211 VDATA_TEST_TRACE ("top property is %d \n", tree->pTop->property);
212 VDATA_TEST_TRACE ("top property value is %s \n", *(tree->pTop->pszValue));
214 MT_CHECK_EQUAL(tree->pTop->property, (int)VCARD_TYPE_N);
220 /*decode a NULL raw buffer to a tree*/
221 void utc_vdata_vcard_decode_7()
223 gchar *buffer = NULL;
226 tree = VCardDecode(buffer);
227 VDATA_TEST_TRACE ("call executed \n");
229 MT_CHECK_EQUAL((VTree*)NULL, tree);