Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | const {zcl_abapgit_xml} = await import("./zcl_abapgit_xml.clas.mjs"); const {cx_root} = await import("./cx_root.clas.mjs"); // zcl_abapgit_xml.clas.testclasses.abap class ltcl_xml_concrete extends zcl_abapgit_xml { static INTERNAL_TYPE = 'CLAS'; static INTERNAL_NAME = 'CLAS-ZCL_ABAPGIT_XML-LTCL_XML_CONCRETE'; static IMPLEMENTED_INTERFACES = []; static ATTRIBUTES = {}; static METHODS = {}; constructor() { const sup = super(); this.me = new abap.types.ABAPObject(); this.me.set(this); this.INTERNAL_ID = abap.internalIdCounter++; this.FRIENDS_ACCESS_INSTANCE = { "SUPER": sup.FRIENDS_ACCESS_INSTANCE, }; } async constructor_(INPUT) { if (super.constructor_) { await super.constructor_(INPUT); } return this; } } abap.Classes['CLAS-ZCL_ABAPGIT_XML-LTCL_XML_CONCRETE'] = ltcl_xml_concrete; class ltcl_xml { static INTERNAL_TYPE = 'CLAS'; static INTERNAL_NAME = 'CLAS-ZCL_ABAPGIT_XML-LTCL_XML'; static IMPLEMENTED_INTERFACES = []; static ATTRIBUTES = {"MO_XML": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "LTCL_XML_CONCRETE", RTTIName: "\\CLASS-POOL=ZCL_ABAPGIT_XML\\CLASS=LTCL_XML_CONCRETE"});}, "visibility": "I", "is_constant": " ", "is_class": " "}}; static METHODS = {"SETUP": {"visibility": "I", "parameters": {}}, "SPACE_LEADING_TRAILING": {"visibility": "I", "parameters": {}}, "BAD_VERSION_RAISES_EXC": {"visibility": "I", "parameters": {}}, "BAD_XML_RAISES_EXC": {"visibility": "I", "parameters": {}}, "PARSE_XML": {"visibility": "I", "parameters": {"IV_XML": {"type": () => {return new abap.types.Character();}, "is_optional": " "}}}, "RENDER_XML": {"visibility": "I", "parameters": {"RV_XML": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " "}}}}; #mo_xml; constructor() { this.me = new abap.types.ABAPObject(); this.me.set(this); this.INTERNAL_ID = abap.internalIdCounter++; this.FRIENDS_ACCESS_INSTANCE = { "setup": this.#setup.bind(this), "space_leading_trailing": this.#space_leading_trailing.bind(this), "bad_version_raises_exc": this.#bad_version_raises_exc.bind(this), "bad_xml_raises_exc": this.#bad_xml_raises_exc.bind(this), "parse_xml": this.#parse_xml.bind(this), "render_xml": this.#render_xml.bind(this), }; this.#mo_xml = new abap.types.ABAPObject({qualifiedName: "LTCL_XML_CONCRETE", RTTIName: "\\CLASS-POOL=ZCL_ABAPGIT_XML\\CLASS=LTCL_XML_CONCRETE"}); this.FRIENDS_ACCESS_INSTANCE["mo_xml"] = this.#mo_xml; } async constructor_(INPUT) { if (super.constructor_) { await super.constructor_(INPUT); } return this; } async #setup() { this.#mo_xml.set(await (new abap.Classes['CLAS-ZCL_ABAPGIT_XML-LTCL_XML_CONCRETE']()).constructor_()); } async #parse_xml(INPUT) { let iv_xml = INPUT?.iv_xml; let lv_xml = new abap.types.String({qualifiedName: "STRING"}); lv_xml.set(abap.operators.concat(new abap.types.String().set(`<?xml version="1.0"?>`),abap.operators.concat(new abap.types.String().set(`<${abap.templateFormatting(this.#mo_xml.get().c_abapgit_tag)} ${abap.templateFormatting(this.#mo_xml.get().c_attr_version)}="${abap.templateFormatting(abap.Classes['ZIF_ABAPGIT_VERSION'].zif_abapgit_version$c_xml_version)}">`),abap.operators.concat(iv_xml,new abap.types.String().set(`</${abap.templateFormatting(this.#mo_xml.get().c_abapgit_tag)}>`))))); await this.#mo_xml.get().parse({iv_xml: lv_xml}); } async #space_leading_trailing() { let lv_from_xml = new abap.types.String({qualifiedName: "STRING"}); let lv_to_xml = new abap.types.String({qualifiedName: "STRING"}); lv_from_xml.set(new abap.types.String().set(`<FOO> A </FOO>`)); await this.#parse_xml({iv_xml: lv_from_xml}); lv_to_xml.set((await this.#render_xml())); await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_char_cp({act: lv_to_xml, exp: new abap.types.String().set(`*${abap.templateFormatting(lv_from_xml)}*`)}); } async #render_xml() { let rv_xml = new abap.types.String({qualifiedName: "STRING"}); let li_ostream = new abap.types.ABAPObject({qualifiedName: "IF_IXML_OSTREAM", RTTIName: "\\INTERFACE=IF_IXML_OSTREAM"}); let li_renderer = new abap.types.ABAPObject({qualifiedName: "IF_IXML_RENDERER", RTTIName: "\\INTERFACE=IF_IXML_RENDERER"}); let li_streamfactory = new abap.types.ABAPObject({qualifiedName: "IF_IXML_STREAM_FACTORY", RTTIName: "\\INTERFACE=IF_IXML_STREAM_FACTORY"}); li_streamfactory.set((await this.#mo_xml.get().mi_ixml.get().if_ixml$create_stream_factory())); li_ostream.set((await li_streamfactory.get().if_ixml_stream_factory$create_ostream_cstring({string: rv_xml}))); li_renderer.set((await this.#mo_xml.get().mi_ixml.get().if_ixml$create_renderer({ostream: li_ostream, document: this.#mo_xml.get().mi_xml_doc}))); await li_renderer.get().if_ixml_renderer$render(); return rv_xml; } async #bad_version_raises_exc() { let lv_xml = new abap.types.String({qualifiedName: "STRING"}); let lo_error = new abap.types.ABAPObject({qualifiedName: "ZCX_ABAPGIT_EXCEPTION", RTTIName: "\\CLASS=ZCX_ABAPGIT_EXCEPTION"}); let lv_text = new abap.types.String({qualifiedName: "STRING"}); lv_xml.set(abap.operators.concat(new abap.types.String().set(`<?xml version="1.0"?>`),abap.operators.concat(new abap.types.String().set(`<${abap.templateFormatting(this.#mo_xml.get().c_abapgit_tag)} ${abap.templateFormatting(this.#mo_xml.get().c_attr_version)}="v9.8.7">`),abap.operators.concat(new abap.types.String().set(`<TEST>data</TEST>`),new abap.types.String().set(`</${abap.templateFormatting(this.#mo_xml.get().c_abapgit_tag)}>`))))); try { await this.#mo_xml.get().parse({iv_xml: lv_xml}); await abap.Classes['CL_ABAP_UNIT_ASSERT'].fail({msg: abap.CharacterFactory.get(20, 'Exception not raised')}); } catch (e) { if ((abap.Classes['ZCX_ABAPGIT_EXCEPTION'] && e instanceof abap.Classes['ZCX_ABAPGIT_EXCEPTION'])) { lo_error.set(e); lv_text.set((await lo_error.get().if_message$get_text())); await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_char_cp({act: lv_text, exp: abap.CharacterFactory.get(13, '*XML version*')}); } else { throw e; } } } async #bad_xml_raises_exc() { let lv_xml = new abap.types.String({qualifiedName: "STRING"}); let lo_error = new abap.types.ABAPObject({qualifiedName: "ZCX_ABAPGIT_EXCEPTION", RTTIName: "\\CLASS=ZCX_ABAPGIT_EXCEPTION"}); let lv_text = new abap.types.String({qualifiedName: "STRING"}); lv_xml.set(abap.operators.concat(new abap.types.String().set(`<?xml version="1.0"?>`),abap.operators.concat(new abap.types.String().set(`<${abap.templateFormatting(this.#mo_xml.get().c_abapgit_tag)} ${abap.templateFormatting(this.#mo_xml.get().c_attr_version)}="${abap.templateFormatting(abap.Classes['ZIF_ABAPGIT_VERSION'].zif_abapgit_version$c_xml_version)}">`),abap.operators.concat(new abap.types.String().set(`<open_tag>`),new abap.types.String().set(`</${abap.templateFormatting(this.#mo_xml.get().c_abapgit_tag)}>`))))); try { await this.#mo_xml.get().parse({iv_xml: lv_xml}); await abap.Classes['CL_ABAP_UNIT_ASSERT'].fail({msg: abap.CharacterFactory.get(20, 'Exception not raised')}); } catch (e) { if ((abap.Classes['ZCX_ABAPGIT_EXCEPTION'] && e instanceof abap.Classes['ZCX_ABAPGIT_EXCEPTION'])) { lo_error.set(e); lv_text.set((await lo_error.get().if_message$get_text())); await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_char_cp({act: lv_text, exp: abap.CharacterFactory.get(10, '*open_tag*')}); } else { throw e; } } } } abap.Classes['CLAS-ZCL_ABAPGIT_XML-LTCL_XML'] = ltcl_xml; export {ltcl_xml_concrete, ltcl_xml}; |