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 124 125 | 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 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 STATIC_SUPER = 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 STATIC_SUPER = undefined;
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": " ", "parm_kind": "I", "type_name": "CSequenceType"}}},
"RENDER_XML": {"visibility": "I", "parameters": {"RV_XML": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " ", "parm_kind": "R", "type_name": "StringType"}}}};
#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}; |