1 /*DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64
4 for INTEL64(R), AMD64(R)
6 Copyright(C) 2007-2009 Koine Yuusuke(koinec). All rights reserved.
8 Redistribution and use in source and binary forms, with or without
9 modification, are permitted provided that the following conditions are met:
11 1. Redistributions of source code must retain the above copyright notice,
12 this list of conditions and the following disclaimer.
13 2. Redistributions in binary form must reproduce the above copyright
14 notice, this list of conditions and the following disclaimer in the
15 documentation and/or other materials provided with the distribution.
17 THIS SOFTWARE IS PROVIDED BY Koine Yuusuke(koinec) ``AS IS'' AND ANY
18 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 DISCLAIMED. IN NO EVENT SHALL Koine Yuusuke(koinec) OR CONTRIBUTORS BE
21 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
27 OF THE POSSIBILITY OF SUCH DAMAGE.
29 DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64*/
31 /* File Info -----------------------------------------------------------
35 ----------------------------------------------------------------------*/
37 #define DRD64_SRC_TEST_LIBEDITTEXT_LINECTRL
38 #include"test_libedittext.h"
39 #include"drd64_libedittext.h"
42 /* LibEditText_AppendLine (API) ***************************************/
43 /*--------------------------------------------------------------------*/
44 void Test_LibEditText_API_AppendLine_test00_001(void)
50 char str_testdata[256];
52 i_result = LibEditText_Init();
53 CU_ASSERT( 0x00 == i_result );
55 i_tinfoid = LibEditText_CreateTextFile( "./testdata", NULL );
56 CU_ASSERT( 0x00 == i_result );
58 for( i_cnt = 1; i_cnt < 65537; i_cnt++ ) {
59 i_len = snprintf( str_testdata, 255, "%6d Dr.deamon64 libeditext testdata---\n", i_cnt);
60 i_result = LibEditText_AppendLine( i_tinfoid, str_testdata, i_len);
61 CU_ASSERT( 0x00 == i_result );
64 i_result = LibEditText_Debug_DebugTextInfo( i_tinfoid, 0x00);
65 CU_ASSERT( 0x00 == i_result );
67 for( i_cnt = 65536; i_cnt > 2; i_cnt-- ) {
68 i_result = LibEditText_DeleteLine_toLine( i_tinfoid, i_cnt );
69 CU_ASSERT( 0x00 == i_result );
72 i_result = LibEditText_Debug_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
73 CU_ASSERT( 0x00 == i_result );
75 i_result = LibEditText_Term();
76 CU_ASSERT( 0x00 == i_result );
82 /* LibEditText_InsertLine (API) ***************************************/
83 /*--------------------------------------------------------------------*/
84 void Test_LibEditText_API_InsertLine_test00_001(void)
89 i_result = LibEditText_Init();
90 CU_ASSERT( 0x00 == i_result );
92 i_tinfoid = LibEditText_CreateTextFile( "./testdata", NULL );
93 CU_ASSERT( 0x00 == i_result );
95 i_result = LibEditText_InsertLine_toLine( i_tinfoid, 0, " 1: InsertLine Test00_001", 25);
96 CU_ASSERT( 0x00 == i_result );
98 i_result = LibEditText_DeleteLine_toLine( i_tinfoid, 1 );
99 CU_ASSERT( 0x00 == i_result );
101 i_result = LibEditText_InsertLine_toLine( i_tinfoid, 0, " 0: InsertLine Test00_001\n", 26);
102 CU_ASSERT( 0x00 == i_result );
104 i_result = LibEditText_DeleteLine_toLine( i_tinfoid, 0 );
105 CU_ASSERT( 0x00 == i_result );
107 i_result = LibEditText_InsertLine_toLine( i_tinfoid, 1, " 2: InsertLine Test00_001", 25);
108 CU_ASSERT( 0x00 == i_result );
110 i_result = LibEditText_DeleteLine_toLine( i_tinfoid, 1 );
111 CU_ASSERT( 0x00 == i_result );
113 i_result = LibEditText_Debug_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
114 CU_ASSERT( 0x00 == i_result );
116 i_result = LibEditText_Term();
117 CU_ASSERT( 0x00 == i_result );
122 /*--------------------------------------------------------------------*/
123 void Test_LibEditText_API_InsertLine_test00_002(void)
129 char str_testdata[256];
131 i_result = LibEditText_Init();
132 CU_ASSERT( 0x00 == i_result );
134 i_tinfoid = LibEditText_CreateTextFile( "./testdata", NULL );
135 CU_ASSERT( 0x00 == i_result );
137 i_result = LibEditText_AppendLine( i_tinfoid, "END of testdata ---", 19);
138 CU_ASSERT( 0x00 == i_result );
140 for( i_cnt = 16384; i_cnt > 0; i_cnt-- ) {
141 i_len = snprintf( str_testdata, 255, "%6d Dr.deamon64 libeditext InsertLine2---\n", i_cnt);
142 i_result = LibEditText_InsertLine_toLine( i_tinfoid, 1, str_testdata, i_len);
143 CU_ASSERT( 0x00 == i_result );
146 for( i_cnt = 0; i_cnt < 16384; i_cnt++ ) {
147 i_result = LibEditText_DeleteLine_toLine( i_tinfoid, 1 );
148 CU_ASSERT( 0x00 == i_result );
151 i_result = LibEditText_DeleteLine_toLine( i_tinfoid, 0 );
152 CU_ASSERT( 0x00 == i_result );
154 i_result = LibEditText_Debug_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
155 CU_ASSERT( 0x00 == i_result );
157 i_result = LibEditText_Term();
158 CU_ASSERT( 0x00 == i_result );
164 /* LibEditText_JoinLine (API) *****************************************/
165 /*--------------------------------------------------------------------*/
166 void Test_LibEditText_API_JoinLine_test00_001(void)
172 char str_testdata[256];
174 i_result = LibEditText_Init();
175 CU_ASSERT( 0x00 == i_result );
177 i_tinfoid = LibEditText_CreateTextFile( "./testdata", NULL );
178 CU_ASSERT( 0x00 == i_result );
180 i_result = LibEditText_AppendLine( i_tinfoid, "END of testdata ---", 19);
181 CU_ASSERT( 0x00 == i_result );
183 for( i_cnt = 1024; i_cnt > 0; i_cnt-- ) {
184 i_len = snprintf( str_testdata, 255, "%04d JoinLine test001 -\n", i_cnt);
185 i_result = LibEditText_InsertLine_toLine( i_tinfoid, 1, str_testdata, i_len);
186 CU_ASSERT( 0x00 == i_result );
189 i_result = LibEditText_DeleteLine_toLine( i_tinfoid, 0 );
190 CU_ASSERT( 0x00 == i_result );
192 for( i_cnt = 1; i_cnt < 2; i_cnt++ ) {
193 i_result = LibEditText_JoinLine_toLine( i_tinfoid, i_cnt );
194 CU_ASSERT( 0x00 == i_result );
197 i_result = LibEditText_Debug_DebugTextInfo( i_tinfoid, DEBUG_TEXTINFO_OUTPUT );
198 CU_ASSERT( 0x00 == i_result );
200 i_result = LibEditText_Term();
201 CU_ASSERT( 0x00 == i_result );
207 /*----------------------------------------------------------------------
208 ----------------------------------------------------------------------*/
209 DRD64_TEST_LIBEDITTEXT_LINECTRL_EXTERN
211 Test_LibEditText_LineCtrl(
214 CU_pSuite pt_edittext;
216 pt_edittext = CU_add_suite( "LibEditText_LineCtrl", NULL, NULL );
218 CU_add_test( pt_edittext, "EditText_API_AppendLine_test00_001",
219 Test_LibEditText_API_AppendLine_test00_001 );
221 CU_add_test( pt_edittext, "EditText_API_InsertLine_test00_001",
222 Test_LibEditText_API_InsertLine_test00_001 );
223 CU_add_test( pt_edittext, "EditText_API_InsertLine_test00_002",
224 Test_LibEditText_API_InsertLine_test00_002 );
226 CU_add_test( pt_edittext, "EditText_API_JoinLine_test00_001",
227 Test_LibEditText_API_JoinLine_test00_001 );
233 /* EOF of drd64_.c ----------------------------------- */