Merge branch 'main' into hvam/font2907

This commit is contained in:
Lars Hvam 2023-08-04 14:57:23 +02:00 committed by GitHub
commit 09c662f991
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 91 additions and 1 deletions

View File

@ -846,7 +846,7 @@ CLASS zcl_excel_common IMPLEMENTATION.
lv_value = ip_value. lv_value = ip_value.
FIND REGEX `\s|'` IN lv_value. " \s finds regular and white spaces FIND REGEX `\s|'|-` IN lv_value. " \s finds regular and white spaces
IF sy-subrc = 0. IF sy-subrc = 0.
REPLACE ALL OCCURRENCES OF `'` IN lv_value WITH `''`. REPLACE ALL OCCURRENCES OF `'` IN lv_value WITH `''`.
CONCATENATE `'` lv_value `'` INTO lv_value . CONCATENATE `'` lv_value `'` INTO lv_value .

View File

@ -122,6 +122,12 @@ CLASS lcl_excel_common_test DEFINITION FOR TESTING
METHODS is_cell_in_range_upperside_out FOR TESTING. METHODS is_cell_in_range_upperside_out FOR TESTING.
METHODS is_cell_in_range_rightside_out FOR TESTING. METHODS is_cell_in_range_rightside_out FOR TESTING.
METHODS is_cell_in_range_lowerside_out FOR TESTING. METHODS is_cell_in_range_lowerside_out FOR TESTING.
METHODS escape_string_whitespace1 FOR TESTING.
METHODS escape_string_whitespace2 FOR TESTING.
METHODS escape_string_whitespace3 FOR TESTING.
METHODS escape_string_quote FOR TESTING.
METHODS escape_string_hyphen FOR TESTING.
METHODS escape_string_regular FOR TESTING.
ENDCLASS. ENDCLASS.
@ -1597,4 +1603,88 @@ CLASS lcl_excel_common_test IMPLEMENTATION.
ENDTRY. ENDTRY.
ENDMETHOD. "is_cell_in_range_lowerside_out. ENDMETHOD. "is_cell_in_range_lowerside_out.
METHOD escape_string_hyphen.
DATA: name TYPE string,
escaped_name TYPE string.
name = `A-B`.
escaped_name = zcl_excel_common=>escape_string( name ).
cl_abap_unit_assert=>assert_equals( act = escaped_name
exp = `'A-B'`
msg = 'Escaping - failed' ).
ENDMETHOD.
METHOD escape_string_quote.
DATA: name TYPE string,
escaped_name TYPE string.
name = `A'B`.
escaped_name = zcl_excel_common=>escape_string( name ).
cl_abap_unit_assert=>assert_equals( act = escaped_name
exp = `'A''B'`
msg = `Escaping ' failed` ).
ENDMETHOD.
METHOD escape_string_regular.
DATA: name TYPE string,
escaped_name TYPE string.
name = `Ab1`.
escaped_name = zcl_excel_common=>escape_string( name ).
cl_abap_unit_assert=>assert_equals( act = escaped_name
exp = `Ab1`
msg = 'Escaped for no reason' ).
ENDMETHOD.
METHOD escape_string_whitespace1.
DATA: name TYPE string,
escaped_name TYPE string.
name = `A B`.
escaped_name = zcl_excel_common=>escape_string( name ).
cl_abap_unit_assert=>assert_equals( act = escaped_name
exp = `'A B'`
msg = `Escaping ' ' (space) failed` ).
ENDMETHOD.
METHOD escape_string_whitespace2.
DATA: name TYPE string,
escaped_name TYPE string.
name = `A` && cl_abap_char_utilities=>horizontal_tab && `B`.
escaped_name = zcl_excel_common=>escape_string( name ).
cl_abap_unit_assert=>assert_equals( act = escaped_name
exp = `'A` && cl_abap_char_utilities=>horizontal_tab && `B'`
msg = `Escaping TAB failed` ).
ENDMETHOD.
METHOD escape_string_whitespace3.
DATA: name TYPE string,
escaped_name TYPE string.
name = `A` && cl_abap_char_utilities=>newline && `B`.
escaped_name = zcl_excel_common=>escape_string( name ).
cl_abap_unit_assert=>assert_equals( act = escaped_name
exp = `'A` && cl_abap_char_utilities=>newline && `B'`
msg = `Escaping LF failed` ).
ENDMETHOD.
ENDCLASS. ENDCLASS.