All files / output zcl_abapgit_object_sfpf.clas.testclasses.mjs

100% Statements 79/79
58.33% Branches 7/12
60% Functions 6/10
100% Lines 79/79

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 791x 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_objects_super} = await import("./zcl_abapgit_objects_super.clas.mjs");
const {zcl_abapgit_object_sfpf} = await import("./zcl_abapgit_object_sfpf.clas.mjs");
const {cx_root} = await import("./cx_root.clas.mjs");
// zcl_abapgit_object_sfpf.clas.testclasses.abap
 
 
class ltcl_test_sort_contexts {
  static STATIC_SUPER = undefined;
  static INTERNAL_TYPE = 'CLAS';
  static INTERNAL_NAME = 'CLAS-ZCL_ABAPGIT_OBJECT_SFPF-LTCL_TEST_SORT_CONTEXTS';
  static IMPLEMENTED_INTERFACES = [];
  static ATTRIBUTES = {};
  static METHODS = {"BASIC": {"visibility": "I", "parameters": {}},
  "PARSE": {"visibility": "I", "parameters": {"RI_DOC": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "IF_IXML_DOCUMENT", RTTIName: "\\INTERFACE=IF_IXML_DOCUMENT"});}, "is_optional": " ", "parm_kind": "R", "type_name": "ObjectReferenceType"}, "IV_XML": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " ", "parm_kind": "I", "type_name": "StringType"}}},
  "RENDER": {"visibility": "I", "parameters": {"RV_XML": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " ", "parm_kind": "R", "type_name": "StringType"}, "II_DOC": {"type": () => {return new abap.types.ABAPObject({qualifiedName: "IF_IXML_DOCUMENT", RTTIName: "\\INTERFACE=IF_IXML_DOCUMENT"});}, "is_optional": " ", "parm_kind": "I", "type_name": "ObjectReferenceType"}}}};
  constructor() {
    this.me = new abap.types.ABAPObject();
    this.me.set(this);
    this.INTERNAL_ID = abap.internalIdCounter++;
    this.FRIENDS_ACCESS_INSTANCE = {
      "basic": this.#basic.bind(this),
      "parse": this.#parse.bind(this),
      "render": this.#render.bind(this),
    };
  }
  async constructor_(INPUT) {
    if (super.constructor_) { await super.constructor_(INPUT); }
    return this;
  }
  async #parse(INPUT) {
    let ri_doc = new abap.types.ABAPObject({qualifiedName: "IF_IXML_DOCUMENT", RTTIName: "\\INTERFACE=IF_IXML_DOCUMENT"});
    let iv_xml = INPUT?.iv_xml;
    if (iv_xml?.getQualifiedName === undefined || iv_xml.getQualifiedName() !== "STRING") { iv_xml = undefined; }
    if (iv_xml === undefined) { iv_xml = new abap.types.String({qualifiedName: "STRING"}).set(INPUT.iv_xml); }
    let li_factory = new abap.types.ABAPObject({qualifiedName: "IF_IXML_STREAM_FACTORY", RTTIName: "\\INTERFACE=IF_IXML_STREAM_FACTORY"});
    let li_istream = new abap.types.ABAPObject({qualifiedName: "IF_IXML_ISTREAM", RTTIName: "\\INTERFACE=IF_IXML_ISTREAM"});
    let li_parser = new abap.types.ABAPObject({qualifiedName: "IF_IXML_PARSER", RTTIName: "\\INTERFACE=IF_IXML_PARSER"});
    let lv_subrc = new abap.types.Integer({qualifiedName: "I"});
    let li_ixml = new abap.types.ABAPObject({qualifiedName: "IF_IXML", RTTIName: "\\INTERFACE=IF_IXML"});
    li_ixml.set((await abap.Classes['CL_IXML'].create()));
    ri_doc.set((await li_ixml.get().if_ixml$create_document()));
    li_factory.set((await li_ixml.get().if_ixml$create_stream_factory()));
    li_istream.set((await li_factory.get().if_ixml_stream_factory$create_istream_string({string: iv_xml})));
    li_parser.set((await li_ixml.get().if_ixml$create_parser({stream_factory: li_factory, istream: li_istream, document: ri_doc})));
    await li_parser.get().if_ixml_parser$add_strip_space_element();
    lv_subrc.set((await li_parser.get().if_ixml_parser$parse()));
    await li_istream.get().if_ixml_istream$close();
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_subrc, exp: abap.IntegerFactory.get(0)});
    return ri_doc;
  }
  async #render(INPUT) {
    let rv_xml = new abap.types.String({qualifiedName: "STRING"});
    let ii_doc = INPUT?.ii_doc;
    if (ii_doc?.getQualifiedName === undefined || ii_doc.getQualifiedName() !== "IF_IXML_DOCUMENT") { ii_doc = undefined; }
    if (ii_doc === undefined) { ii_doc = new abap.types.ABAPObject({qualifiedName: "IF_IXML_DOCUMENT", RTTIName: "\\INTERFACE=IF_IXML_DOCUMENT"}).set(INPUT.ii_doc); }
    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_factory = new abap.types.ABAPObject({qualifiedName: "IF_IXML_STREAM_FACTORY", RTTIName: "\\INTERFACE=IF_IXML_STREAM_FACTORY"});
    let li_ixml = new abap.types.ABAPObject({qualifiedName: "IF_IXML", RTTIName: "\\INTERFACE=IF_IXML"});
    li_ixml.set((await abap.Classes['CL_IXML'].create()));
    li_factory.set((await li_ixml.get().if_ixml$create_stream_factory()));
    li_ostream.set((await li_factory.get().if_ixml_stream_factory$create_ostream_cstring({string: rv_xml})));
    li_renderer.set((await li_ixml.get().if_ixml$create_renderer({ostream: li_ostream, document: ii_doc})));
    await li_renderer.get().if_ixml_renderer$render();
    return rv_xml;
  }
  async #basic() {
    let lv_xml = new abap.types.String({qualifiedName: "STRING"});
    let lv_result = new abap.types.String({qualifiedName: "STRING"});
    let li_xml_doc = new abap.types.ABAPObject({qualifiedName: "IF_IXML_DOCUMENT", RTTIName: "\\INTERFACE=IF_IXML_DOCUMENT"});
    lv_xml.set(abap.operators.concat(new abap.types.String().set(`<ROOT>`),abap.operators.concat(new abap.types.String().set(` <FPCONTEXTT>`),abap.operators.concat(new abap.types.String().set(`  <item>`),abap.operators.concat(new abap.types.String().set(`   <NAME>ZB</NAME>`),abap.operators.concat(new abap.types.String().set(`   <STATE>A</STATE>`),abap.operators.concat(new abap.types.String().set(`   <LANGUAGE>E</LANGUAGE>`),abap.operators.concat(new abap.types.String().set(`   <ID>1</ID>`),abap.operators.concat(new abap.types.String().set(`   <TEXT>fourth</TEXT>`),abap.operators.concat(new abap.types.String().set(`  </item>`),abap.operators.concat(new abap.types.String().set(`  <item>`),abap.operators.concat(new abap.types.String().set(`   <NAME>ZA</NAME>`),abap.operators.concat(new abap.types.String().set(`   <STATE>B</STATE>`),abap.operators.concat(new abap.types.String().set(`   <LANGUAGE>E</LANGUAGE>`),abap.operators.concat(new abap.types.String().set(`   <ID>1</ID>`),abap.operators.concat(new abap.types.String().set(`   <TEXT>third</TEXT>`),abap.operators.concat(new abap.types.String().set(`  </item>`),abap.operators.concat(new abap.types.String().set(`  <item>`),abap.operators.concat(new abap.types.String().set(`   <NAME>ZA</NAME>`),abap.operators.concat(new abap.types.String().set(`   <STATE>A</STATE>`),abap.operators.concat(new abap.types.String().set(`   <LANGUAGE>D</LANGUAGE>`),abap.operators.concat(new abap.types.String().set(`   <ID>1</ID>`),abap.operators.concat(new abap.types.String().set(`   <TEXT>second</TEXT>`),abap.operators.concat(new abap.types.String().set(`  </item>`),abap.operators.concat(new abap.types.String().set(`  <item>`),abap.operators.concat(new abap.types.String().set(`   <NAME>ZA</NAME>`),abap.operators.concat(new abap.types.String().set(`   <STATE>A</STATE>`),abap.operators.concat(new abap.types.String().set(`   <LANGUAGE>C</LANGUAGE>`),abap.operators.concat(new abap.types.String().set(`   <ID>2</ID>`),abap.operators.concat(new abap.types.String().set(`   <TEXT>id second</TEXT>`),abap.operators.concat(new abap.types.String().set(`  </item>`),abap.operators.concat(new abap.types.String().set(`  <item>`),abap.operators.concat(new abap.types.String().set(`   <NAME>ZA</NAME>`),abap.operators.concat(new abap.types.String().set(`   <STATE>A</STATE>`),abap.operators.concat(new abap.types.String().set(`   <LANGUAGE>C</LANGUAGE>`),abap.operators.concat(new abap.types.String().set(`   <ID>1</ID>`),abap.operators.concat(new abap.types.String().set(`   <TEXT>id first</TEXT>`),abap.operators.concat(new abap.types.String().set(`  </item>`),abap.operators.concat(new abap.types.String().set(` </FPCONTEXTT>`),new abap.types.String().set(`</ROOT>`))))))))))))))))))))))))))))))))))))))));
    li_xml_doc.set((await this.#parse({iv_xml: lv_xml})));
    await abap.Classes['ZCL_ABAPGIT_OBJECT_SFPF'].sort_contexts({ii_document: li_xml_doc});
    lv_result.set((await this.#render({ii_doc: li_xml_doc})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_char_cp({act: lv_result, exp: abap.operators.concat(abap.CharacterFactory.get(13, '*<FPCONTEXTT>'),abap.operators.concat(abap.CharacterFactory.get(97, '<item><NAME>ZA</NAME><STATE>A</STATE><LANGUAGE>C</LANGUAGE><ID>1</ID><TEXT>id first</TEXT></item>'),abap.operators.concat(abap.CharacterFactory.get(98, '<item><NAME>ZA</NAME><STATE>A</STATE><LANGUAGE>C</LANGUAGE><ID>2</ID><TEXT>id second</TEXT></item>'),abap.operators.concat(abap.CharacterFactory.get(95, '<item><NAME>ZA</NAME><STATE>A</STATE><LANGUAGE>D</LANGUAGE><ID>1</ID><TEXT>second</TEXT></item>'),abap.operators.concat(abap.CharacterFactory.get(94, '<item><NAME>ZA</NAME><STATE>B</STATE><LANGUAGE>E</LANGUAGE><ID>1</ID><TEXT>third</TEXT></item>'),abap.operators.concat(abap.CharacterFactory.get(95, '<item><NAME>ZB</NAME><STATE>A</STATE><LANGUAGE>E</LANGUAGE><ID>1</ID><TEXT>fourth</TEXT></item>'),abap.CharacterFactory.get(14, '</FPCONTEXTT>*')))))))});
  }
}
abap.Classes['CLAS-ZCL_ABAPGIT_OBJECT_SFPF-LTCL_TEST_SORT_CONTEXTS'] = ltcl_test_sort_contexts;
export {ltcl_test_sort_contexts};