CLASS ltcl_test_simple_table DEFINITION FINAL FOR TESTING RISK LEVEL HARMLESS DURATION SHORT. PUBLIC SECTION. INTERFACES zif_abapgit_html_table. TYPES: BEGIN OF ty_simple_data, col1 TYPE string, col2 TYPE i, col3 TYPE i, col4 TYPE REF TO data, END OF ty_simple_data. METHODS simple_render FOR TESTING RAISING zcx_abapgit_exception. ENDCLASS. CLASS ltcl_test_simple_table IMPLEMENTATION. METHOD zif_abapgit_html_table~get_row_attrs. rs_attrs-css_class = |r{ iv_row_index }|. ENDMETHOD. METHOD zif_abapgit_html_table~render_cell. rs_render-css_class = 'cell'. IF iv_column_id = 'colX'. IF iv_row_index = 2. rs_render-html = zcl_abapgit_html=>create( )->add( 'XHTML' ). ELSE. rs_render-content = 'X'. ENDIF. ELSE. rs_render-content = |{ iv_value }|. ENDIF. ENDMETHOD. METHOD simple_render. DATA lo_tab TYPE REF TO zcl_abapgit_html_table. DATA lt_dummy_data TYPE TABLE OF ty_simple_data. DATA lv_html_act TYPE string. DATA li_html_exp TYPE REF TO zif_abapgit_html. FIELD-SYMBOLS LIKE LINE OF lt_dummy_data. lo_tab = zcl_abapgit_html_table=>create( me )->define_column( iv_column_id = 'col1' iv_column_title = 'Col 1' )->define_column( iv_column_id = 'col2' iv_column_title = 'Col 2' iv_from_field = 'col3' )->define_column( 'colX' ). APPEND INITIAL LINE TO lt_dummy_data ASSIGNING . -col1 = 'Hello'. -col2 = 1. -col3 = 10. APPEND INITIAL LINE TO lt_dummy_data ASSIGNING . -col1 = 'World'. -col2 = 2. -col3 = 20. lv_html_act = lo_tab->render( iv_id = 'tabid' iv_css_class = 'tabclass' it_data = lt_dummy_data )->render( ). CREATE OBJECT li_html_exp TYPE zcl_abapgit_html. li_html_exp->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '' )->add( '
Col 1Col 2
Hello10X
World20' )->add( 'XHTML' )->add( '
' ). cl_abap_unit_assert=>assert_equals( act = lv_html_act exp = li_html_exp->render( ) ). ENDMETHOD. ENDCLASS.