diff --git a/src/xml/zcl_abapgit_xml_pretty.clas.abap b/src/xml/zcl_abapgit_xml_pretty.clas.abap
index fe54a726b..9a92a29f2 100644
--- a/src/xml/zcl_abapgit_xml_pretty.clas.abap
+++ b/src/xml/zcl_abapgit_xml_pretty.clas.abap
@@ -3,13 +3,18 @@ CLASS zcl_abapgit_xml_pretty DEFINITION
CREATE PUBLIC .
PUBLIC SECTION.
- CLASS-METHODS: print
- IMPORTING iv_xml TYPE string
- iv_ignore_errors TYPE abap_bool DEFAULT abap_true
- iv_unpretty TYPE abap_bool DEFAULT abap_false
- RETURNING VALUE(rv_xml) TYPE string
- RAISING zcx_abapgit_exception.
+ CLASS-METHODS print
+ IMPORTING
+ !iv_xml TYPE string
+ !iv_ignore_errors TYPE abap_bool DEFAULT abap_true
+ !iv_unpretty TYPE abap_bool DEFAULT abap_false
+ RETURNING
+ VALUE(rv_xml) TYPE string
+ RAISING
+ zcx_abapgit_exception .
+ PROTECTED SECTION.
+ PRIVATE SECTION.
ENDCLASS.
diff --git a/src/xml/zcl_abapgit_xml_pretty.clas.testclasses.abap b/src/xml/zcl_abapgit_xml_pretty.clas.testclasses.abap
new file mode 100644
index 000000000..8bd3001c1
--- /dev/null
+++ b/src/xml/zcl_abapgit_xml_pretty.clas.testclasses.abap
@@ -0,0 +1,108 @@
+
+CLASS ltcl_test DEFINITION FOR TESTING
+ DURATION SHORT
+ RISK LEVEL HARMLESS.
+
+ PRIVATE SECTION.
+ DATA:
+ mo_cut TYPE REF TO zcl_abapgit_xml_pretty.
+
+ METHODS:
+ setup,
+ pretty1 FOR TESTING RAISING cx_static_check,
+ pretty2 FOR TESTING RAISING cx_static_check,
+ pretty3 FOR TESTING RAISING cx_static_check,
+ malformatted FOR TESTING RAISING cx_static_check,
+ dont_ignore_error FOR TESTING RAISING cx_static_check,
+ unpretty FOR TESTING RAISING cx_static_check.
+
+ENDCLASS.
+
+
+CLASS ltcl_test IMPLEMENTATION.
+
+ METHOD setup.
+ CREATE OBJECT mo_cut.
+ ENDMETHOD.
+
+ METHOD pretty1.
+
+ DATA lv_result TYPE string.
+
+ lv_result = mo_cut->print( '' ).
+ lv_result = lv_result+1.
+
+ cl_abap_unit_assert=>assert_equals(
+ act = lv_result
+ exp = |\n\n| ).
+
+ ENDMETHOD.
+
+ METHOD pretty2.
+
+ DATA lv_result TYPE string.
+
+ lv_result = mo_cut->print( '2' ).
+ lv_result = lv_result+1.
+
+ cl_abap_unit_assert=>assert_equals(
+ act = lv_result
+ exp = |\n2\n| ).
+
+ ENDMETHOD.
+
+ METHOD pretty3.
+
+ DATA lv_result TYPE string.
+
+ lv_result = mo_cut->print( '2' ).
+ lv_result = lv_result+1.
+
+ cl_abap_unit_assert=>assert_equals(
+ act = lv_result
+ exp = |\n\n 2\n\n| ).
+
+ ENDMETHOD.
+
+ METHOD malformatted.
+
+ DATA lv_result TYPE string.
+
+ lv_result = mo_cut->print( 'abc' ).
+
+ cl_abap_unit_assert=>assert_equals(
+ act = lv_result
+ exp = 'abc' ).
+
+ ENDMETHOD.
+
+ METHOD dont_ignore_error.
+
+ TRY.
+ mo_cut->print(
+ iv_xml = 'abc'
+ iv_ignore_errors = abap_false ).
+ cl_abap_unit_assert=>fail( ).
+ CATCH zcx_abapgit_exception.
+ RETURN.
+ ENDTRY.
+
+ ENDMETHOD.
+
+ METHOD unpretty.
+
+ DATA lv_result TYPE string.
+
+ lv_result = mo_cut->print(
+ iv_xml = |\n 2\n|
+ iv_unpretty = abap_true ).
+
+ lv_result = lv_result+1.
+
+ cl_abap_unit_assert=>assert_equals(
+ act = lv_result
+ exp = |2| ).
+
+ ENDMETHOD.
+
+ENDCLASS.
diff --git a/src/xml/zcl_abapgit_xml_pretty.clas.xml b/src/xml/zcl_abapgit_xml_pretty.clas.xml
index 3058227e6..44d7df5d6 100644
--- a/src/xml/zcl_abapgit_xml_pretty.clas.xml
+++ b/src/xml/zcl_abapgit_xml_pretty.clas.xml
@@ -10,6 +10,7 @@
X
X
X
+ X