mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
83 lines
1.9 KiB
ABAP
83 lines
1.9 KiB
ABAP
CLASS ltcl_settings DEFINITION FOR TESTING RISK LEVEL HARMLESS
|
|
DURATION SHORT FINAL.
|
|
|
|
PRIVATE SECTION.
|
|
DATA mo_cut TYPE REF TO zcl_abapgit_settings.
|
|
|
|
METHODS:
|
|
setup,
|
|
feature_disabled FOR TESTING,
|
|
feature_enabled FOR TESTING.
|
|
|
|
ENDCLASS.
|
|
|
|
CLASS ltcl_settings IMPLEMENTATION.
|
|
|
|
METHOD setup.
|
|
CREATE OBJECT mo_cut.
|
|
ENDMETHOD.
|
|
|
|
METHOD feature_disabled.
|
|
|
|
" Only run for dev version
|
|
IF zcl_abapgit_factory=>get_environment( )->is_merged( ) = abap_true.
|
|
RETURN.
|
|
ENDIF.
|
|
|
|
" All off
|
|
mo_cut->set_experimental_features( '' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = mo_cut->get_experimental_features( )
|
|
exp = '' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = mo_cut->is_feature_enabled( 'TEST' )
|
|
exp = abap_false ).
|
|
|
|
ENDMETHOD.
|
|
|
|
METHOD feature_enabled.
|
|
|
|
" Only run for dev version
|
|
IF zcl_abapgit_factory=>get_environment( )->is_merged( ) = abap_true.
|
|
RETURN.
|
|
ENDIF.
|
|
|
|
" All on
|
|
mo_cut->set_experimental_features( 'X' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = mo_cut->get_experimental_features( )
|
|
exp = 'X' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = mo_cut->is_feature_enabled( 'TEST' )
|
|
exp = abap_true ).
|
|
|
|
" Just one feature on
|
|
mo_cut->set_experimental_features( 'TEST' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = mo_cut->get_experimental_features( )
|
|
exp = 'TEST' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = mo_cut->is_feature_enabled( 'TEST' )
|
|
exp = abap_true ).
|
|
|
|
" Several features on
|
|
mo_cut->set_experimental_features( 'AFF,LXE' ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = mo_cut->is_feature_enabled( 'TEST' )
|
|
exp = abap_false ).
|
|
|
|
cl_abap_unit_assert=>assert_equals(
|
|
act = mo_cut->is_feature_enabled( 'AFF' )
|
|
exp = abap_true ).
|
|
|
|
ENDMETHOD.
|
|
|
|
ENDCLASS.
|