All files / output zcl_abapgit_path.clas.testclasses.mjs

100% Statements 109/109
90% Branches 9/10
100% Functions 8/8
100% Lines 109/109

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 1091x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 1x 5x 5x 5x 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_path} = await import("./zcl_abapgit_path.clas.mjs");
const {cx_root} = await import("./cx_root.clas.mjs");
// zcl_abapgit_path.clas.testclasses.abap
class ltcl_path {
  static INTERNAL_TYPE = 'CLAS';
  static INTERNAL_NAME = 'CLAS-ZCL_ABAPGIT_PATH-LTCL_PATH';
  static IMPLEMENTED_INTERFACES = [];
  static ATTRIBUTES = {};
  static METHODS = {"IS_ROOT": {"visibility": "U", "parameters": {}},
  "SPLIT_FILE_LOCATION": {"visibility": "U", "parameters": {}},
  "IS_SUBDIR": {"visibility": "U", "parameters": {}},
  "CHANGE_DIR": {"visibility": "U", "parameters": {}},
  "GET_FILENAME_FROM_SYSPATH": {"visibility": "U", "parameters": {}}};
  constructor() {
    this.me = new abap.types.ABAPObject();
    this.me.set(this);
    this.INTERNAL_ID = abap.internalIdCounter++;
    this.FRIENDS_ACCESS_INSTANCE = {
      "is_root": this.is_root.bind(this),
      "split_file_location": this.split_file_location.bind(this),
      "is_subdir": this.is_subdir.bind(this),
      "change_dir": this.change_dir.bind(this),
      "get_filename_from_syspath": this.get_filename_from_syspath.bind(this),
    };
  }
  async constructor_(INPUT) {
    if (super.constructor_) { await super.constructor_(INPUT); }
    return this;
  }
  async is_root() {
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({exp: abap.builtin.abap_true, act: (await abap.Classes['ZCL_ABAPGIT_PATH'].is_root({iv_path: abap.CharacterFactory.get(1, '/')}))});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({exp: abap.builtin.abap_false, act: (await abap.Classes['ZCL_ABAPGIT_PATH'].is_root({iv_path: abap.CharacterFactory.get(1, '')}))});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({exp: abap.builtin.abap_false, act: (await abap.Classes['ZCL_ABAPGIT_PATH'].is_root({iv_path: abap.CharacterFactory.get(7, 'somedir')}))});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({exp: abap.builtin.abap_false, act: (await abap.Classes['ZCL_ABAPGIT_PATH'].is_root({iv_path: abap.CharacterFactory.get(8, '/somedir')}))});
  }
  async split_file_location() {
    let lv_path = new abap.types.String({qualifiedName: "STRING"});
    let lv_name = new abap.types.String({qualifiedName: "STRING"});
    await abap.Classes['ZCL_ABAPGIT_PATH'].split_file_location({iv_fullpath: abap.CharacterFactory.get(1, ''), ev_path: lv_path, ev_filename: lv_name});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_path, exp: abap.CharacterFactory.get(1, '')});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_name, exp: abap.CharacterFactory.get(1, '')});
    await abap.Classes['ZCL_ABAPGIT_PATH'].split_file_location({iv_fullpath: abap.CharacterFactory.get(8, 'somefile'), ev_path: lv_path, ev_filename: lv_name});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_path, exp: abap.CharacterFactory.get(1, '')});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_name, exp: abap.CharacterFactory.get(8, 'somefile')});
    await abap.Classes['ZCL_ABAPGIT_PATH'].split_file_location({iv_fullpath: abap.CharacterFactory.get(1, '/'), ev_path: lv_path, ev_filename: lv_name});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_path, exp: abap.CharacterFactory.get(1, '/')});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_name, exp: abap.CharacterFactory.get(1, '')});
    await abap.Classes['ZCL_ABAPGIT_PATH'].split_file_location({iv_fullpath: abap.CharacterFactory.get(9, '/somefile'), ev_path: lv_path, ev_filename: lv_name});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_path, exp: abap.CharacterFactory.get(1, '/')});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_name, exp: abap.CharacterFactory.get(8, 'somefile')});
    await abap.Classes['ZCL_ABAPGIT_PATH'].split_file_location({iv_fullpath: abap.CharacterFactory.get(9, '/somedir/'), ev_path: lv_path, ev_filename: lv_name});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_path, exp: abap.CharacterFactory.get(9, '/somedir/')});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_name, exp: abap.CharacterFactory.get(1, '')});
    await abap.Classes['ZCL_ABAPGIT_PATH'].split_file_location({iv_fullpath: abap.CharacterFactory.get(17, '/somedir/somefile'), ev_path: lv_path, ev_filename: lv_name});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_path, exp: abap.CharacterFactory.get(9, '/somedir/')});
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_name, exp: abap.CharacterFactory.get(8, 'somefile')});
  }
  async is_subdir() {
    let lv_yes = new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"});
    lv_yes.set((await abap.Classes['ZCL_ABAPGIT_PATH'].is_subdir({iv_path: abap.CharacterFactory.get(11, '/dir/subdir'), iv_parent: abap.CharacterFactory.get(4, '/dir')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_yes, exp: abap.builtin.abap_true});
    lv_yes.set((await abap.Classes['ZCL_ABAPGIT_PATH'].is_subdir({iv_path: abap.CharacterFactory.get(11, '/dir/subdir'), iv_parent: abap.CharacterFactory.get(5, '/dir/')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_yes, exp: abap.builtin.abap_true});
    lv_yes.set((await abap.Classes['ZCL_ABAPGIT_PATH'].is_subdir({iv_path: abap.CharacterFactory.get(8, '/another'), iv_parent: abap.CharacterFactory.get(4, '/dir')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_yes, exp: abap.builtin.abap_false});
    lv_yes.set((await abap.Classes['ZCL_ABAPGIT_PATH'].is_subdir({iv_path: abap.CharacterFactory.get(4, '/dir'), iv_parent: abap.CharacterFactory.get(4, '/dir')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_yes, exp: abap.builtin.abap_false});
    lv_yes.set((await abap.Classes['ZCL_ABAPGIT_PATH'].is_subdir({iv_path: abap.CharacterFactory.get(4, '/dir'), iv_parent: abap.CharacterFactory.get(1, '/')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_yes, exp: abap.builtin.abap_true});
    lv_yes.set((await abap.Classes['ZCL_ABAPGIT_PATH'].is_subdir({iv_path: abap.CharacterFactory.get(5, '/dir2'), iv_parent: abap.CharacterFactory.get(4, '/dir')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_yes, exp: abap.builtin.abap_false});
  }
  async change_dir() {
    let lv_path = new abap.types.String({qualifiedName: "STRING"});
    lv_path.set((await abap.Classes['ZCL_ABAPGIT_PATH'].change_dir({iv_cur_dir: abap.CharacterFactory.get(1, ''), iv_cd: abap.CharacterFactory.get(1, '')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_path, exp: abap.CharacterFactory.get(1, '')});
    lv_path.set((await abap.Classes['ZCL_ABAPGIT_PATH'].change_dir({iv_cur_dir: abap.CharacterFactory.get(4, '/dir'), iv_cd: abap.CharacterFactory.get(1, '')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_path, exp: abap.CharacterFactory.get(4, '/dir')});
    lv_path.set((await abap.Classes['ZCL_ABAPGIT_PATH'].change_dir({iv_cur_dir: abap.CharacterFactory.get(4, '/dir'), iv_cd: abap.CharacterFactory.get(1, '.')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_path, exp: abap.CharacterFactory.get(4, '/dir')});
    lv_path.set((await abap.Classes['ZCL_ABAPGIT_PATH'].change_dir({iv_cur_dir: abap.CharacterFactory.get(4, '/dir'), iv_cd: abap.CharacterFactory.get(2, '..')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_path, exp: abap.CharacterFactory.get(1, '/')});
    lv_path.set((await abap.Classes['ZCL_ABAPGIT_PATH'].change_dir({iv_cur_dir: abap.CharacterFactory.get(8, '/dir/sub'), iv_cd: abap.CharacterFactory.get(2, '..')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_path, exp: abap.CharacterFactory.get(5, '/dir/')});
    lv_path.set((await abap.Classes['ZCL_ABAPGIT_PATH'].change_dir({iv_cur_dir: abap.CharacterFactory.get(5, '/dir/'), iv_cd: abap.CharacterFactory.get(3, 'sub')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_path, exp: abap.CharacterFactory.get(8, '/dir/sub')});
    lv_path.set((await abap.Classes['ZCL_ABAPGIT_PATH'].change_dir({iv_cur_dir: abap.CharacterFactory.get(4, '/dir'), iv_cd: abap.CharacterFactory.get(3, 'sub')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_path, exp: abap.CharacterFactory.get(8, '/dir/sub')});
  }
  async get_filename_from_syspath() {
    let lv_filename = new abap.types.String({qualifiedName: "STRING"});
    lv_filename.set((await abap.Classes['ZCL_ABAPGIT_PATH'].get_filename_from_syspath({iv_path: abap.CharacterFactory.get(8, 'file.txt')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_filename, exp: abap.CharacterFactory.get(8, 'file.txt')});
    lv_filename.set((await abap.Classes['ZCL_ABAPGIT_PATH'].get_filename_from_syspath({iv_path: abap.CharacterFactory.get(15, 'c:\\dir\\file.txt')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_filename, exp: abap.CharacterFactory.get(8, 'file.txt')});
    lv_filename.set((await abap.Classes['ZCL_ABAPGIT_PATH'].get_filename_from_syspath({iv_path: abap.CharacterFactory.get(11, 'c:\\file.txt')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_filename, exp: abap.CharacterFactory.get(8, 'file.txt')});
    lv_filename.set((await abap.Classes['ZCL_ABAPGIT_PATH'].get_filename_from_syspath({iv_path: abap.CharacterFactory.get(13, '/dir/file.txt')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_filename, exp: abap.CharacterFactory.get(8, 'file.txt')});
    lv_filename.set((await abap.Classes['ZCL_ABAPGIT_PATH'].get_filename_from_syspath({iv_path: abap.CharacterFactory.get(9, '/file.txt')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_filename, exp: abap.CharacterFactory.get(8, 'file.txt')});
    lv_filename.set((await abap.Classes['ZCL_ABAPGIT_PATH'].get_filename_from_syspath({iv_path: abap.CharacterFactory.get(18, '\\\\server$\\file.txt')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_filename, exp: abap.CharacterFactory.get(8, 'file.txt')});
    lv_filename.set((await abap.Classes['ZCL_ABAPGIT_PATH'].get_filename_from_syspath({iv_path: abap.CharacterFactory.get(80, 'C:\\foo\\bar\\moo.boo\\dev\\qas\\_blah\\goog\\muuh\\sap\\hello\\world\\lorem\\ipsum\\s_foo.gif')})));
    await abap.Classes['CL_ABAP_UNIT_ASSERT'].assert_equals({act: lv_filename, exp: abap.CharacterFactory.get(9, 's_foo.gif')});
  }
}
abap.Classes['CLAS-ZCL_ABAPGIT_PATH-LTCL_PATH'] = ltcl_path;
export {ltcl_path};