assert( NULL != p_line );
assert( p_line->dw_strlen >= (dw_pos + dw_len) );
- if(( 0 == dw_pos ) && ( dw_len == p_line->dw_strlen )) {
+ if(( 0 == dw_pos ) && ( dw_len == p_line->dw_strlen )
+ && ( dw_line + 1 < p_tinfo->dw_maxline)) {
// Delete Line ---
i_result = LibEditText_LineCtrl_DeleteLine( p_tinfo, p_line, dw_line );
goto goto_LibEditText_LineEdit_DeleteString_post;
memset( (pb_data + p_line->dw_strlen - dw_len), 0x00, dw_len );
p_line->dw_strlen -= dw_len;
- assert( 0 < p_line->dw_strlen );
-
if( p_tinfo->dw_line_end == p_line->dw_id )
{ goto goto_LibEditText_LineEdit_DeleteString_post; }
if( '\n' == *(pb_data + p_line->dw_strlen - 1) )
CU_ASSERT( 0x00 == i_result );
do {
-i_result = LibEditText_CursorInfo_DEBUG_CheckCursor(p_tinfo, i_curid, __FILE__, __LINE__ );
-CU_ASSERT( 0x00 == i_result );
i_result = LibEditText_JoinLine( i_tinfoid, i_curb );
CU_ASSERT( 0x00 == i_result );
-i_result = LibEditText_CursorInfo_DEBUG_CheckCursor(p_tinfo, i_curid, __FILE__, __LINE__ );
-CU_ASSERT( 0x00 == i_result );
i_result = LibEditText_MoveDownCursor( i_tinfoid, i_curb, 1);
}while( 0x00 == i_result );
/* Test 31 --- BackSpace */
-/* dw_targline = (dw_maxline / 4) * 3;
+ dw_targline = (dw_maxline / 4) * 3;
i_result = LibEditText_MoveEndCursor( i_tinfoid, i_curid );
CU_ASSERT( 0x00 == i_result );
+ i_result = LibEditText_GetCursorPosition( i_tinfoid, i_curid, &dw_nowline, &dw_pos );
+ CU_ASSERT( 0x00 == i_result );
+ //printf( "%u %u\n", dw_nowline, dw_pos );
+
do {
i_result = LibEditText_BackSpace( i_tinfoid, i_curid );
CU_ASSERT( 0x00 == i_result );
i_result = LibEditText_GetCursorPosition( i_tinfoid, i_curid, &dw_nowline, &dw_pos );
CU_ASSERT( 0x00 == i_result );
- printf("now: %u %u\n", dw_nowline, dw_pos );
}while( ( dw_targline < dw_nowline ) || ( 0 < dw_pos ) );
-*/
+
/* Test 32 --- DeleteChar */
+ i_result = LibEditText_JumpCursor( i_tinfoid, i_curid, 1525 );
+ CU_ASSERT( 0x00 == i_result );
+
+ i_result = LibEditText_MoveStartCursor( i_tinfoid, i_curid );
+ CU_ASSERT( 0x00 == i_result );
+
+ do {
+ i_result = LibEditText_DeleteChar( i_tinfoid, i_curid );
+ CU_ASSERT( 0x00 == i_result );
+
+ dw_maxline = LibEditText_GetMaxLines( i_tinfoid );
+ }while( ( 1526 < dw_maxline ) || ( 0 < dw_pos ) );
+
/* Test 33 --- DeleteString */