unit testing updates (#5080)

* wip, unit testing

* refactor popup

* update abaplint

* transpile additional classes

* all data classes

* all git

* update

* fix

* change type

* all gui

* all http

* ZCL_ABAPGIT_USER_RECORD

* all zlib

* all exceptions

* all xml

* all html

* all html zif

* all gui zif

* all xml zif

* all repo zif

* more generic

* star

* zif_abapgit_longtexts

* sort

* zcl_abapgit_news

* zcl_abapgit_adt_link

* ZCL_ABAPGIT_DIFF

* more

* add zcl_abapgit_services_git
This commit is contained in:
Lars Hvam 2021-11-02 16:50:30 +01:00 committed by GitHub
parent 9fa3579739
commit e45bdfc4e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 87 additions and 99 deletions

View File

@ -20,12 +20,14 @@
},
"c8": {
"all": true,
"src": ["src"]
"src": [
"src"
]
},
"devDependencies": {
"@abaplint/cli": "^2.79.34",
"@abaplint/runtime": "^1.6.55",
"@abaplint/transpiler-cli": "^1.6.55",
"@abaplint/cli": "^2.79.35",
"@abaplint/runtime": "^1.6.62",
"@abaplint/transpiler-cli": "^1.6.62",
"abapmerge": "^0.14.3",
"c8": "^7.10.0",
"eslint": "^8.1.0"

View File

@ -47,13 +47,13 @@ CLASS zcl_abapgit_gui_page_codi_base DEFINITION PUBLIC ABSTRACT INHERITING FROM
RETURNING
VALUE(ro_menu) TYPE REF TO zcl_abapgit_html_toolbar .
PRIVATE SECTION.
CONSTANTS c_object_separator TYPE char1 VALUE '|'.
CONSTANTS c_object_separator TYPE c LENGTH 1 VALUE '|'.
CONSTANTS c_ci_sig TYPE string VALUE 'cinav:'.
ENDCLASS.
CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION.
CLASS zcl_abapgit_gui_page_codi_base IMPLEMENTATION.
METHOD build_base_menu.
@ -221,13 +221,13 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION.
( is_result-objtype = 'PROG' AND NOT is_result-sobjname+30(*) IS INITIAL ).
TRY.
CASE is_result-sobjname+30(*).
WHEN seop_incextapp_definition.
WHEN 'CCDEF'.
lv_obj_txt = |CLAS { is_result-objname } : Local Definitions|.
WHEN seop_incextapp_implementation.
WHEN 'CCIMP'.
lv_obj_txt = |CLAS { is_result-objname } : Local Implementations|.
WHEN seop_incextapp_macros.
WHEN 'CCMAC'.
lv_obj_txt = |CLAS { is_result-objname } : Macros|.
WHEN seop_incextapp_testclasses.
WHEN 'CCAU'.
lv_obj_txt = |CLAS { is_result-objname } : Test Classes|.
WHEN 'CU'.
lv_obj_txt = |CLAS { is_result-objname } : Public Section|.

View File

@ -20,9 +20,9 @@ CLASS zcl_abapgit_gui_page_debuginfo DEFINITION
PROTECTED SECTION.
PRIVATE SECTION.
CONSTANTS c_exit_standalone TYPE progname VALUE 'ZABAPGIT_USER_EXIT' ##NO_TEXT.
CONSTANTS c_exit_class TYPE seoclsname VALUE 'ZCL_ABAPGIT_USER_EXIT' ##NO_TEXT.
CONSTANTS c_exit_interface TYPE seoclsname VALUE 'ZIF_ABAPGIT_EXIT' ##NO_TEXT.
CONSTANTS c_exit_standalone TYPE c LENGTH 30 VALUE 'ZABAPGIT_USER_EXIT' ##NO_TEXT.
CONSTANTS c_exit_class TYPE c LENGTH 30 VALUE 'ZCL_ABAPGIT_USER_EXIT' ##NO_TEXT.
CONSTANTS c_exit_interface TYPE c LENGTH 30 VALUE 'ZIF_ABAPGIT_EXIT' ##NO_TEXT.
CONSTANTS:
BEGIN OF c_action,
save TYPE string VALUE 'save',
@ -68,7 +68,7 @@ ENDCLASS.
CLASS zcl_abapgit_gui_page_debuginfo IMPLEMENTATION.
CLASS ZCL_ABAPGIT_GUI_PAGE_DEBUGINFO IMPLEMENTATION.
METHOD build_toolbar.

View File

@ -13,9 +13,9 @@ CLASS zcl_abapgit_gui_page_diff DEFINITION
filename TYPE string,
obj_type TYPE string,
obj_name TYPE string,
lstate TYPE char1,
rstate TYPE char1,
fstate TYPE char1, " FILE state - Abstraction for shorter ifs
lstate TYPE c LENGTH 1,
rstate TYPE c LENGTH 1,
fstate TYPE c LENGTH 1, " FILE state - Abstraction for shorter ifs
o_diff TYPE REF TO zcl_abapgit_diff,
changed_by TYPE xubname,
type TYPE string,
@ -28,9 +28,9 @@ CLASS zcl_abapgit_gui_page_diff DEFINITION
CONSTANTS:
BEGIN OF c_fstate,
local TYPE char1 VALUE 'L',
remote TYPE char1 VALUE 'R',
both TYPE char1 VALUE 'B',
local TYPE c LENGTH 1 VALUE 'L',
remote TYPE c LENGTH 1 VALUE 'R',
both TYPE c LENGTH 1 VALUE 'B',
END OF c_fstate.
METHODS constructor

View File

@ -17,7 +17,7 @@ CLASS zcl_abapgit_gui_page_syntax DEFINITION PUBLIC FINAL CREATE PUBLIC
REDEFINITION.
PROTECTED SECTION.
CONSTANTS: c_variant TYPE sci_chkv VALUE 'SYNTAX_CHECK'.
CONSTANTS: c_variant TYPE c LENGTH 30 VALUE 'SYNTAX_CHECK'.
METHODS:
render_content REDEFINITION.

View File

@ -8,14 +8,14 @@ CLASS zcl_abapgit_popups DEFINITION
INTERFACES zif_abapgit_popups .
CONSTANTS c_default_column TYPE lvc_fname VALUE `DEFAULT_COLUMN` ##NO_TEXT.
PROTECTED SECTION.
PRIVATE SECTION.
CONSTANTS c_default_column TYPE abap_componentdescr-name VALUE `DEFAULT_COLUMN` ##NO_TEXT.
TYPES:
ty_lt_fields TYPE STANDARD TABLE OF sval WITH DEFAULT KEY .
CONSTANTS c_fieldname_selected TYPE lvc_fname VALUE `SELECTED` ##NO_TEXT.
CONSTANTS c_fieldname_selected TYPE abap_componentdescr-name VALUE `SELECTED` ##NO_TEXT.
CONSTANTS c_answer_cancel TYPE c LENGTH 1 VALUE 'A' ##NO_TEXT.
DATA mo_select_list_popup TYPE REF TO cl_salv_table .

View File

@ -2,48 +2,25 @@
"input_folder": "{test,src,deps}",
"input_filter": [
"vseointerf",
"zcl_abapgit_adt_link",
"zcl_abapgit_ajson*",
"zcl_abapgit_auth",
"zcl_abapgit_convert",
"zcl_abapgit_data_config",
"zcl_abapgit_data_injector",
"zcl_abapgit_data_utils",
"zcl_abapgit_data*",
"zcl_abapgit_diff",
"zcl_abapgit_dot_abapgit",
"zcl_abapgit_exit",
"zcl_abapgit_factory",
"zcl_abapgit_frontend_services",
"zcl_abapgit_git_add_patch",
"zcl_abapgit_git_branch_list",
"zcl_abapgit_git_commit",
"zcl_abapgit_git_pack",
"zcl_abapgit_git_porcelain",
"zcl_abapgit_git_tag",
"zcl_abapgit_git_transport",
"zcl_abapgit_git_url",
"zcl_abapgit_git_utils",
"zcl_abapgit_gui_asset_manager",
"zcl_abapgit_gui_buttons",
"zcl_abapgit_gui_chunk_lib",
"zcl_abapgit_gui_component",
"zcl_abapgit_gui_css_processor",
"zcl_abapgit_gui_event",
"zcl_abapgit_gui_functions",
"zcl_abapgit_gui_html_processor",
"zcl_abapgit_gui_page_hoc",
"zcl_abapgit_gui_page_tutorial",
"zcl_abapgit_gui_page.clas",
"zcl_abapgit_gui_utils",
"zcl_abapgit_gui.clas",
"zcl_abapgit_git*",
"zcl_abapgit_gui*",
"zcl_abapgit_hash",
"zcl_abapgit_html_action_utils",
"zcl_abapgit_html_parts",
"zcl_abapgit_html_toolbar",
"zcl_abapgit_html.clas",
"zcl_abapgit_http_agent",
"zcl_abapgit_http_client",
"zcl_abapgit_http_digest",
"zcl_abapgit_http",
"zcl_abapgit_html*",
"zcl_abapgit_http*",
"zcl_abapgit_injector",
"zcl_abapgit_log.clas",
"zcl_abapgit_login_manager",
"zcl_abapgit_news",
"zcl_abapgit_password_dialog",
"zcl_abapgit_path",
"zcl_abapgit_persist_background",
@ -52,79 +29,55 @@
"zcl_abapgit_persist_settings",
"zcl_abapgit_persistence_db",
"zcl_abapgit_persistence_user",
"zcl_abapgit_popups",
"zcl_abapgit_pr_enum_github",
"zcl_abapgit_pr_enumerator",
"zcl_abapgit_progress",
"zcl_abapgit_proxy_auth",
"zcl_abapgit_proxy_config",
"zcl_abapgit_repo_filter",
"zcl_abapgit_services_basis",
"zcl_abapgit_services_git",
"zcl_abapgit_settings",
"zcl_abapgit_string_map",
"zcl_abapgit_syntax_*",
"zcl_abapgit_time",
"zcl_abapgit_ui_factory",
"zcl_abapgit_ui*",
"zcl_abapgit_url",
"zcl_abapgit_utils",
"zcl_abapgit_version",
"zcl_abapgit_xml_input",
"zcl_abapgit_xml_output",
"zcl_abapgit_xml_pretty",
"zcl_abapgit_xml.clas",
"zcl_abapgit_zlib_convert",
"zcl_abapgit_zlib_huffman",
"zcl_abapgit_zlib_stream",
"zcl_abapgit_zlib",
"zcx_abapgit_ajson_error",
"zcx_abapgit_cancel",
"zcx_abapgit_exception",
"zcx_abapgit_not_found",
"zcl_abapgit_xml*",
"zcl_abapgit_zlib*",
"zcx_abapgit_*",
"zif_abapgit_ajson*",
"zif_abapgit_apack_definitions",
"zif_abapgit_auth",
"zif_abapgit_branch_overview",
"zif_abapgit_code_inspector",
"zif_abapgit_cts_api",
"zif_abapgit_data_config",
"zif_abapgit_data_deserializer",
"zif_abapgit_data_serializer",
"zif_abapgit_data*",
"zif_abapgit_definitions",
"zif_abapgit_dot_abapgit",
"zif_abapgit_environment",
"zif_abapgit_exit",
"zif_abapgit_frontend_services",
"zif_abapgit_gui_asset_manager",
"zif_abapgit_gui_error_handler",
"zif_abapgit_gui_event_handler",
"zif_abapgit_gui_event",
"zif_abapgit_gui_functions",
"zif_abapgit_gui_hotkey_ctl",
"zif_abapgit_gui_hotkeys",
"zif_abapgit_gui_html_processor",
"zif_abapgit_gui_renderable",
"zif_abapgit_gui_services",
"zif_abapgit_html_viewer",
"zif_abapgit_html",
"zif_abapgit_http_agent",
"zif_abapgit_http_response",
"zif_abapgit_gui*",
"zif_abapgit_html*",
"zif_abapgit_http*",
"zif_abapgit_log",
"zif_abapgit_longtexts",
"zif_abapgit_lxe_texts",
"zif_abapgit_merge",
"zif_abapgit_persist_repo",
"zif_abapgit_persist_settings",
"zif_abapgit_persist_user",
"zif_abapgit_persistence",
"zif_abapgit_persist*",
"zif_abapgit_popups",
"zcl_abapgit_repo_filter",
"zif_abapgit_pr_enum_provider",
"zif_abapgit_progress",
"zif_abapgit_repo_listener",
"zif_abapgit_repo_online",
"zif_abapgit_repo_srv",
"zif_abapgit_pr*",
"zif_abapgit_repo*",
"zif_abapgit_sap_package",
"zif_abapgit_stage_logic",
"zif_abapgit_tadir",
"zif_abapgit_tag_popups",
"zif_abapgit_version",
"zif_abapgit_xml_input",
"zif_abapgit_xml_output",
"zif_abapgit_xml"
"zif_abapgit_xml*"
],
"output_folder": "output",
"lib": "https://github.com/open-abap/open-abap",
@ -199,6 +152,9 @@
{"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_abap_to_json", "method": "set_array"},
{"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_abap_to_json", "method": "set_complex_obj"},
{"object": "ZCL_ABAPGIT_UI_INJECTOR", "class": "ltcl_no_dependency_injection", "method": "no_injection"},
{"object": "ZCL_ABAPGIT_UI_INJECTOR", "class": "ltcl_simple_dependency_inject", "method": "simple_injection"},
{"object": "ZCL_ABAPGIT_AJSON_MAPPING", "class": "ltcl_camel_case", "method": "to_abap", "note": "secondary key fields? READ WITH KEY, Path not found @/FieldData"},
{"object": "ZCL_ABAPGIT_AJSON_MAPPING", "class": "ltcl_camel_case", "method": "to_json"},
{"object": "ZCL_ABAPGIT_AJSON_MAPPING", "class": "ltcl_camel_case", "method": "to_json_first_lower"},
@ -207,6 +163,19 @@
{"object": "ZCL_ABAPGIT_AJSON_MAPPING", "class": "ltcl_to_lower", "method": "to_json"},
{"object": "ZCL_ABAPGIT_AJSON_MAPPING", "class": "ltcl_to_upper", "method": "to_json"},
{"object": "ZCL_ABAPGIT_DATA_DESERIALIZER", "class": "ltcl_test", "method": "test1"},
{"object": "ZCL_ABAPGIT_DATA_SERIALIZER", "class": "ltcl_test", "method": "serialize"},
{"object": "ZCL_ABAPGIT_DIFF", "class": "ltcl_diff", "method": "diff01", "note": "Void type: RSWSOURCET"},
{"object": "ZCL_ABAPGIT_DIFF", "class": "ltcl_diff", "method": "diff02", "note": "Void type: RSWSOURCET"},
{"object": "ZCL_ABAPGIT_DIFF", "class": "ltcl_diff", "method": "diff03", "note": "Void type: RSWSOURCET"},
{"object": "ZCL_ABAPGIT_DIFF", "class": "ltcl_diff", "method": "diff04", "note": "Void type: RSWSOURCET"},
{"object": "ZCL_ABAPGIT_DIFF", "class": "ltcl_diff", "method": "diff05", "note": "Void type: RSWSOURCET"},
{"object": "ZCL_ABAPGIT_DIFF", "class": "ltcl_diff", "method": "diff06", "note": "Void type: RSWSOURCET"},
{"object": "ZCL_ABAPGIT_DIFF", "class": "ltcl_diff", "method": "diff07", "note": "Void type: RSWSOURCET"},
{"object": "ZCL_ABAPGIT_DIFF", "class": "ltcl_diff", "method": "diff08", "note": "Void type: RSWSOURCET"},
{"object": "ZCL_ABAPGIT_DIFF", "class": "ltcl_diff", "method": "diff09", "note": "Void type: RSWSOURCET"},
{"object": "ZCL_ABAPGIT_GUI_UTILS", "class": "ltcl_gui_utils", "method": "is_renderable", "note": "casting, https://github.com/abaplint/transpiler/issues/465"},
{"object": "ZCL_ABAPGIT_GUI_UTILS", "class": "ltcl_gui_utils", "method": "is_event_handler", "note": "casting, https://github.com/abaplint/transpiler/issues/465"},
@ -236,6 +205,23 @@
{"object": "ZCL_ABAPGIT_GIT_COMMIT", "class": "ltcl_test", "method": "check_author_regex"},
{"object": "ZCL_ABAPGIT_GIT_URL", "class": "ltcl_repo_online", "method": "test_repo_commit_show_urls"},
{"object": "ZCL_ABAPGIT_USER_RECORD", "class": "ltcl_user_record", "method": "test_invalid_user", "note": "Void type: BAPIADDR3"},
{"object": "ZCL_ABAPGIT_SERVICES_BASIS", "class": "ltcl_create_package", "method": "raise_error_if_package_exists", "note": "Void type: SCOMPKDTLN"},
{"object": "ZCL_ABAPGIT_SERVICES_BASIS", "class": "ltcl_create_package", "method": "package_given_in_popup", "note": "Void type: SCOMPKDTLN"},
{"object": "ZCL_ABAPGIT_SERVICES_BASIS", "class": "ltcl_create_package", "method": "package_not_created_when_canc", "note": "Void type: SCOMPKDTLN"},
{"object": "ZCL_ABAPGIT_SERVICES_BASIS", "class": "ltcl_create_package", "method": "package_created_when_confirm", "note": "Void type: SCOMPKDTLN"},
{"object": "ZCL_ABAPGIT_INJECTOR", "class": "ltcl_no_dependency_injection", "method": "no_injection"},
{"object": "ZCL_ABAPGIT_INJECTOR", "class": "ltcl_simple_dependency_inject", "method": "simple_injection"},
{"object": "ZCL_ABAPGIT_HTML_FORM_UTILS", "class": "ltcl_test_form", "method": "validate", "note": "Void type: TIMESTAMPL"},
{"object": "ZCL_ABAPGIT_HTML_FORM_UTILS", "class": "ltcl_test_form", "method": "normalize", "note": "Void type: TIMESTAMPL"},
{"object": "ZCL_ABAPGIT_HTML_FORM_UTILS", "class": "ltcl_test_form", "method": "is_empty", "note": "Void type: TIMESTAMPL"},
{"object": "ZCL_ABAPGIT_HTML_FORM_UTILS", "class": "ltcl_test_form", "method": "exit_clean", "note": "Void type: TIMESTAMPL"},
{"object": "ZCL_ABAPGIT_HTML_FORM_UTILS", "class": "ltcl_test_form", "method": "exit_dirty_confirm", "note": "Void type: TIMESTAMPL"},
{"object": "ZCL_ABAPGIT_HTML_FORM_UTILS", "class": "ltcl_test_form", "method": "exit_dirty_cancel", "note": "Void type: TIMESTAMPL"},
{"object": "ZCL_ABAPGIT_DOT_ABAPGIT", "class": "ltcl_dot_abapgit", "method": "ignore", "note": "Void type: DLVUNIT"},
{"object": "ZCL_ABAPGIT_DOT_ABAPGIT", "class": "ltcl_dot_abapgit", "method": "identity"}
]