@sapui5/sap.fe.test 1.111.1 → 1.112.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/test/.library +1 -1
  3. package/src/sap/fe/test/CollaborationClient.js +4 -4
  4. package/src/sap/fe/test/CollaborationClient.ts +3 -3
  5. package/src/sap/fe/test/FeMocks.js +5 -5
  6. package/src/sap/fe/test/FeMocks.ts +5 -5
  7. package/src/sap/fe/test/JestTemplatingHelper.js +28 -23
  8. package/src/sap/fe/test/JestTemplatingHelper.ts +28 -22
  9. package/src/sap/fe/test/JourneyRunner.js +5 -7
  10. package/src/sap/fe/test/ListReport.js +4 -6
  11. package/src/sap/fe/test/ObjectPage.js +2 -2
  12. package/src/sap/fe/test/Shell.js +2 -2
  13. package/src/sap/fe/test/Stubs.js +1 -1
  14. package/src/sap/fe/test/TemplatePage.js +2 -2
  15. package/src/sap/fe/test/TemplatingTestUtils.js +2 -3
  16. package/src/sap/fe/test/UI5MockHelper.js +39 -3
  17. package/src/sap/fe/test/UI5MockHelper.ts +33 -3
  18. package/src/sap/fe/test/api/ChartActions.js +1 -1
  19. package/src/sap/fe/test/api/CollaborationAPI.js +14 -19
  20. package/src/sap/fe/test/api/CollaborationAPI.ts +17 -24
  21. package/src/sap/fe/test/api/DialogValueHelpAssertions.js +68 -27
  22. package/src/sap/fe/test/api/FilterBarAssertions.js +3 -3
  23. package/src/sap/fe/test/builder/MacroFieldBuilder.js +3 -3
  24. package/src/sap/fe/test/builder/MdcTableBuilder.js +12 -3
  25. package/src/sap/fe/test/internal/ConsoleErrorChecker.js +4 -2
  26. package/src/sap/fe/test/internal/ConsoleErrorChecker.ts +5 -1
  27. package/src/sap/fe/test/internal/FEArrangements.js +9 -5
  28. package/src/sap/fe/test/library-preload.js +204 -117
  29. package/src/sap/fe/test/library-preload.js.map +1 -1
  30. package/src/sap/fe/test/library.js +1 -1
  31. package/src/sap/fe/test/manifest.json +1 -1
@@ -491,10 +491,10 @@ sap.ui.predefine("sap/fe/test/CollaborationClient", ["sap/fe/core/controllerexte
491
491
  CollaborationAPI.discardDraft();
492
492
  }).description("Remote session discarding draft").execute();
493
493
  },
494
- iDeleteDraft: function () {
494
+ iDeleteObject: function (objectPath) {
495
495
  return OpaBuilder.create(this).do(function () {
496
- CollaborationAPI.deleteDraft();
497
- }).description("Remote session deleting draft").execute();
496
+ CollaborationAPI.deleteObject(objectPath);
497
+ }).description(`Remote session deleting object ${objectPath}`).execute();
498
498
  }
499
499
  },
500
500
  assertions: {
@@ -704,7 +704,7 @@ sap.ui.predefine("sap/fe/test/FCLView", ["sap/ui/test/OpaBuilder"], function (Op
704
704
  * SAP UI development toolkit for HTML5 (SAPUI5)
705
705
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
706
706
  */
707
- sap.ui.predefine("sap/fe/test/FeMocks", ["@sap-ux/jest-mock-ui5/dist/generic", "sap/fe/core/controllerextensions/InternalEditFlow", "sap/fe/core/PageController", "sap/ui/mdc/FilterBar"], function (generic, InternalEditFlow, PageController, FilterBar) {
707
+ sap.ui.predefine("sap/fe/test/FeMocks", ["@sap-ux/jest-mock-ui5/dist/generic", "sap/fe/core/controllerextensions/EditFlow", "sap/fe/core/PageController", "sap/ui/mdc/FilterBar"], function (generic, EditFlow, PageController, FilterBar) {
708
708
  "use strict";
709
709
 
710
710
  var _exports = {};
@@ -722,8 +722,8 @@ sap.ui.predefine("sap/fe/test/FeMocks", ["@sap-ux/jest-mock-ui5/dist/generic", "
722
722
  _shouldAutoTriggerSearch: jest.fn(),
723
723
  _getTable: jest.fn(),
724
724
  getExtensionAPI: jest.fn(),
725
- _editFlow: mock(InternalEditFlow),
726
- getChartControl: jest.fn()
725
+ getChartControl: jest.fn(),
726
+ editFlow: mock(EditFlow)
727
727
  };
728
728
  return Object.assign(mock(PageController), listReport);
729
729
  }
@@ -733,7 +733,7 @@ sap.ui.predefine("sap/fe/test/FeMocks", ["@sap-ux/jest-mock-ui5/dist/generic", "
733
733
  const objectPage = {
734
734
  getStickyEditMode: jest.fn(),
735
735
  getExtensionAPI: jest.fn(),
736
- _editFlow: mock(InternalEditFlow)
736
+ editFlow: mock(EditFlow)
737
737
  };
738
738
  return Object.assign(mock(PageController), objectPage);
739
739
  }
@@ -1788,12 +1788,12 @@ sap.ui.predefine("sap/fe/test/JestFlexibilityHelper", [], function () {
1788
1788
  * SAP UI development toolkit for HTML5 (SAPUI5)
1789
1789
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
1790
1790
  */
1791
- sap.ui.predefine("sap/fe/test/JestTemplatingHelper", ["@sap/cds-compiler", "fs", "@prettier/plugin-xml", "path", "prettier", "sap/base/Log", "sap/base/util/LoaderExtensions", "sap/base/util/merge", "sap/fe/core/buildingBlocks/BuildingBlockRuntime", "sap/fe/core/converters/ConverterContext", "sap/fe/core/services/SideEffectsServiceFactory", "sap/fe/core/TemplateModel", "sap/ui/base/BindingParser", "sap/ui/base/ManagedObjectMetadata", "sap/ui/core/Component", "sap/ui/core/InvisibleText", "sap/ui/core/util/serializer/Serializer", "sap/ui/core/util/XMLPreprocessor", "sap/ui/fl/apply/_internal/flexState/FlexState", "sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor", "sap/ui/fl/initial/_internal/Storage", "sap/ui/fl/Utils", "sap/ui/model/json/JSONModel", "sap/ui/model/odata/v4/lib/_MetadataRequestor", "sap/ui/model/odata/v4/ODataMetaModel", "xpath", "./JestFlexibilityHelper"], function (compiler, fs, plugin, path, prettier, Log, LoaderExtensions, merge, BuildingBlockRuntime, ConverterContext, SideEffectsFactory, TemplateModel, BindingParser, ManagedObjectMetadata, Component, InvisibleText, Serializer, XMLPreprocessor, FlexState, XmlPreprocessor, AppStorage, Utils, JSONModel, _MetadataRequestor, ODataMetaModel, xpath, JestFlexibilityHelper) {
1791
+ sap.ui.predefine("sap/fe/test/JestTemplatingHelper", ["@sap/cds-compiler", "fs", "@prettier/plugin-xml", "path", "prettier", "sap/base/Log", "sap/base/util/LoaderExtensions", "sap/base/util/merge", "sap/fe/core/converters/ConverterContext", "sap/fe/core/services/SideEffectsServiceFactory", "sap/fe/core/TemplateModel", "sap/fe/test/UI5MockHelper", "sap/ui/base/BindingParser", "sap/ui/base/ManagedObjectMetadata", "sap/ui/core/Component", "sap/ui/core/InvisibleText", "sap/ui/core/util/serializer/Serializer", "sap/ui/core/util/XMLPreprocessor", "sap/ui/fl/apply/_internal/flexState/FlexState", "sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor", "sap/ui/fl/initial/_internal/Storage", "sap/ui/fl/Utils", "sap/ui/model/json/JSONModel", "sap/ui/model/odata/v4/lib/_MetadataRequestor", "sap/ui/model/odata/v4/ODataMetaModel", "xpath", "./JestFlexibilityHelper"], function (compiler, fs, plugin, path, prettier, Log, LoaderExtensions, merge, ConverterContext, SideEffectsFactory, TemplateModel, UI5MockHelper, BindingParser, ManagedObjectMetadata, Component, InvisibleText, Serializer, XMLPreprocessor, FlexState, XmlPreprocessor, AppStorage, Utils, JSONModel, _MetadataRequestor, ODataMetaModel, xpath, JestFlexibilityHelper) {
1792
1792
  "use strict";
1793
1793
 
1794
1794
  var _exports = {};
1795
1795
  var createFlexibilityChangesObject = JestFlexibilityHelper.createFlexibilityChangesObject;
1796
- var registerBuildingBlock = BuildingBlockRuntime.registerBuildingBlock;
1796
+ var createMockResourceModel = UI5MockHelper.createMockResourceModel;
1797
1797
  var format = prettier.format;
1798
1798
  // eslint-disable-next-line @typescript-eslint/no-var-requires
1799
1799
  const formatXml = require("xml-formatter");
@@ -1807,6 +1807,7 @@ sap.ui.predefine("sap/fe/test/JestTemplatingHelper", ["@sap/cds-compiler", "fs",
1807
1807
  log: "http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1",
1808
1808
  unittest: "http://schemas.sap.com/sapui5/preprocessorextension/sap.fe.unittesting/1",
1809
1809
  control: "sap.fe.core.controls",
1810
+ controls: "sap.fe.macros.controls",
1810
1811
  core: "sap.ui.core",
1811
1812
  dt: "sap.ui.dt",
1812
1813
  m: "sap.m",
@@ -1823,6 +1824,9 @@ sap.ui.predefine("sap/fe/test/JestTemplatingHelper", ["@sap/cds-compiler", "fs",
1823
1824
  macroTable: "sap.fe.macros.table"
1824
1825
  };
1825
1826
  const select = xpath.useNamespaces(nameSpaceMap);
1827
+ const defaultFakeSideEffectService = {
1828
+ computeFieldGroupIds: () => []
1829
+ };
1826
1830
  function _getTemplatedSelector(xmldom, selector) {
1827
1831
  /**
1828
1832
  * if a root element has been added during the templating by our Jest Templating methods
@@ -1831,7 +1835,7 @@ sap.ui.predefine("sap/fe/test/JestTemplatingHelper", ["@sap/cds-compiler", "fs",
1831
1835
  const rootPath = "/root";
1832
1836
  return `${xmldom.nodeName === "root" && !selector.startsWith(rootPath) ? rootPath : ""}${selector}`;
1833
1837
  }
1834
- async function _buildPreProcessorSettings(sMetadataUrl, mBindingContexts, mModels) {
1838
+ async function _buildPreProcessorSettings(sMetadataUrl, mBindingContexts, mModels, fakeSideEffectService) {
1835
1839
  const oMetaModel = await getMetaModel(sMetadataUrl);
1836
1840
 
1837
1841
  // To ensure our macro can use #setBindingContext we ensure there is a pre existing JSONModel for converterContext
@@ -1850,9 +1854,13 @@ sap.ui.predefine("sap/fe/test/JestTemplatingHelper", ["@sap/cds-compiler", "fs",
1850
1854
  models: Object.assign({
1851
1855
  metaModel: oMetaModel
1852
1856
  }, mModels),
1853
- bindingContexts: {}
1857
+ bindingContexts: {},
1858
+ appComponent: {
1859
+ getSideEffectsService: jest.fn(),
1860
+ getDiagnostics: () => undefined
1861
+ }
1854
1862
  };
1855
-
1863
+ settings.appComponent.getSideEffectsService.mockReturnValue(fakeSideEffectService ?? defaultFakeSideEffectService);
1856
1864
  //Inject models and bindingContexts
1857
1865
  Object.keys(mBindingContexts).forEach(function (sKey) {
1858
1866
  /* Assert to make sure the annotations are in the test metadata -> avoid misleading tests */
@@ -1873,17 +1881,6 @@ sap.ui.predefine("sap/fe/test/JestTemplatingHelper", ["@sap/cds-compiler", "fs",
1873
1881
  const view = LoaderExtensions.loadResource(name);
1874
1882
  return view.documentElement;
1875
1883
  }
1876
- const registerMacro = function (macroMetadata) {
1877
- registerBuildingBlock(macroMetadata);
1878
- };
1879
- _exports.registerMacro = registerMacro;
1880
- const unregisterMacro = function (macroMetadata) {
1881
- XMLPreprocessor.plugIn(null, macroMetadata.namespace, macroMetadata.name);
1882
- if (macroMetadata.publicNamespace) {
1883
- XMLPreprocessor.plugIn(null, macroMetadata.publicNamespace, macroMetadata.name);
1884
- }
1885
- };
1886
- _exports.unregisterMacro = unregisterMacro;
1887
1884
  const runXPathQuery = function (selector, xmldom) {
1888
1885
  return select(selector, xmldom);
1889
1886
  };
@@ -1915,7 +1912,7 @@ sap.ui.predefine("sap/fe/test/JestTemplatingHelper", ["@sap/cds-compiler", "fs",
1915
1912
  xmlString = xmlString.join("");
1916
1913
  }
1917
1914
  let xmlFormatted = formatXML(xmlString);
1918
- xmlFormatted = xmlFormatted.replace(/uid--id-[0-9]{13}-[0-9]{1,2}/g, "uid--id");
1915
+ xmlFormatted = xmlFormatted.replace(/uid--id-[0-9]{13}-[0-9]{1,3}/g, "uid--id");
1919
1916
  return xmlFormatted;
1920
1917
  };
1921
1918
  _exports.formatBuildingBlockXML = formatBuildingBlockXML;
@@ -2157,7 +2154,10 @@ sap.ui.predefine("sap/fe/test/JestTemplatingHelper", ["@sap/cds-compiler", "fs",
2157
2154
  };
2158
2155
  const getChangesFromXML = xml => [...xml.querySelectorAll("*")].flatMap(e => [...e.attributes].map(a => a.name)).filter(attr => attr.includes("sap.ui.fl.appliedChanges"));
2159
2156
  _exports.getChangesFromXML = getChangesFromXML;
2160
- const getTemplatingResult = async function (xmlInput, sMetadataUrl, mBindingContexts, mModels, flexChanges) {
2157
+ const getTemplatingResult = async function (xmlInput, sMetadataUrl, mBindingContexts, mModels, flexChanges, fakeSideEffectService) {
2158
+ if (!mModels["sap.fe.i18n"]) {
2159
+ mModels["sap.fe.i18n"] = createMockResourceModel();
2160
+ }
2161
2161
  const templatedXml = `<root>${xmlInput}</root>`;
2162
2162
  const parser = new window.DOMParser();
2163
2163
  const xmlDoc = parser.parseFromString(templatedXml, "text/xml");
@@ -2165,7 +2165,7 @@ sap.ui.predefine("sap/fe/test/JestTemplatingHelper", ["@sap/cds-compiler", "fs",
2165
2165
  // if not already passed to teh templating
2166
2166
 
2167
2167
  const oMetaModel = await getMetaModel(sMetadataUrl);
2168
- const oPreprocessorSettings = await _buildPreProcessorSettings(sMetadataUrl, mBindingContexts, mModels);
2168
+ const oPreprocessorSettings = await _buildPreProcessorSettings(sMetadataUrl, mBindingContexts, mModels, fakeSideEffectService);
2169
2169
 
2170
2170
  //This context for macro testing
2171
2171
  if (oPreprocessorSettings.models["this"]) {
@@ -2181,8 +2181,8 @@ sap.ui.predefine("sap/fe/test/JestTemplatingHelper", ["@sap/cds-compiler", "fs",
2181
2181
  return resultXML;
2182
2182
  };
2183
2183
  _exports.getTemplatingResult = getTemplatingResult;
2184
- const getTemplatedXML = async function (xmlInput, sMetadataUrl, mBindingContexts, mModels, flexChanges) {
2185
- const templatedXML = await getTemplatingResult(xmlInput, sMetadataUrl, mBindingContexts, mModels, flexChanges);
2184
+ const getTemplatedXML = async function (xmlInput, sMetadataUrl, mBindingContexts, mModels, flexChanges, fakeSideEffectService) {
2185
+ const templatedXML = await getTemplatingResult(xmlInput, sMetadataUrl, mBindingContexts, mModels, flexChanges, fakeSideEffectService);
2186
2186
  return serializeXML(templatedXML);
2187
2187
  };
2188
2188
 
@@ -2230,7 +2230,11 @@ sap.ui.predefine("sap/fe/test/JestTemplatingHelper", ["@sap/cds-compiler", "fs",
2230
2230
  // build model and bindings for given test data
2231
2231
  const settings = {
2232
2232
  models: {},
2233
- bindingContexts: {}
2233
+ bindingContexts: {},
2234
+ appComponent: {
2235
+ getSideEffectsService: jest.fn(),
2236
+ getDiagnostics: () => undefined
2237
+ }
2234
2238
  };
2235
2239
  for (const model in testData) {
2236
2240
  const jsonModel = new JSONModel();
@@ -2238,6 +2242,7 @@ sap.ui.predefine("sap/fe/test/JestTemplatingHelper", ["@sap/cds-compiler", "fs",
2238
2242
  settings.models[model] = jsonModel;
2239
2243
  settings.bindingContexts[model] = settings.models[model].createBindingContext("/");
2240
2244
  }
2245
+ settings.appComponent.getSideEffectsService.mockReturnValue(defaultFakeSideEffectService);
2241
2246
 
2242
2247
  // execute the pre-processor
2243
2248
  const resultDoc = await XMLPreprocessor.process(inputDoc.firstElementChild, {
@@ -2422,7 +2427,7 @@ sap.ui.predefine(
2422
2427
  * @param {string} [mSettings.launchUrl] The URL to the launching page (usually a FLP.html)
2423
2428
  * @param {object} [mSettings.launchParameters] The URL launch parameters
2424
2429
  * @param {boolean} [mSettings.async] If false (default), only one JourneyRunner is executed at a time
2425
- * @param {Function[] | string[]} vJourneys The journeys to be executed. If a journey is represented as a string, it will be interpreted
2430
+ * @param {Function[] | string[]} _vJourneys The journeys to be executed. If a journey is represented as a string, it will be interpreted
2426
2431
  * as a module path to the file that should be loaded. Else it is expected to be a function.
2427
2432
  * Alternatively, instead of being wrapped in an array, the journeys can also be given as separate parameters:
2428
2433
  * <pre>.run(mSettings, Journey1, Journey2, ...)</pre>
@@ -2431,7 +2436,7 @@ sap.ui.predefine(
2431
2436
  * @name sap.fe.test.JourneyRunner#run
2432
2437
  * @public
2433
2438
  */
2434
- run: function (mSettings, vJourneys) {
2439
+ run: function (mSettings, _vJourneys) {
2435
2440
  var iJourneyParameterIndex = 1;
2436
2441
  if (!Utils.isOfType(mSettings, Object)) {
2437
2442
  iJourneyParameterIndex = 0;
@@ -2477,13 +2482,12 @@ sap.ui.predefine(
2477
2482
  *
2478
2483
  * By default, an instance of {@link sap.fe.test.BaseActions} will be returned.
2479
2484
  *
2480
- * @param {object} mSettings The settings object of the runner instance
2481
2485
  * @returns {sap.ui.test.Opa} An Opa instance for the base actions
2482
2486
  * @function
2483
2487
  * @name sap.fe.test.JourneyRunner#getBaseActions
2484
2488
  * @protected
2485
2489
  */
2486
- getBaseActions: function (mSettings) {
2490
+ getBaseActions: function () {
2487
2491
  return new BaseActions();
2488
2492
  },
2489
2493
 
@@ -2495,13 +2499,12 @@ sap.ui.predefine(
2495
2499
  *
2496
2500
  * By default, an instance of {@link sap.fe.test.BaseAssertions} will be returned.
2497
2501
  *
2498
- * @param {object} mSettings The settings object of the runner instance
2499
2502
  * @returns {sap.ui.test.Opa} An Opa instance for the base assertions
2500
2503
  * @function
2501
2504
  * @name sap.fe.test.JourneyRunner#getBaseAssertions
2502
2505
  * @protected
2503
2506
  */
2504
- getBaseAssertions: function (mSettings) {
2507
+ getBaseAssertions: function () {
2505
2508
  return new BaseAssertions();
2506
2509
  },
2507
2510
 
@@ -2546,7 +2549,7 @@ sap.ui.predefine(
2546
2549
  aJourneys.forEach(function (vJourney) {
2547
2550
  if (Utils.isOfType(vJourney, String)) {
2548
2551
  pPromiseChain = pPromiseChain.then(function () {
2549
- return new Promise(function (resolve, reject) {
2552
+ return new Promise(function (resolve) {
2550
2553
  sap.ui.require([vJourney], function (oJourney) {
2551
2554
  resolve(oJourney);
2552
2555
  });
@@ -2735,13 +2738,13 @@ sap.ui.predefine(
2735
2738
  * @param {string} oPageDefinition.componentId The component id (defined in the target section for the list report within the manifest)
2736
2739
  * @param {string} oPageDefinition.entitySet The entitySet (optional)(defined in the settings of the corresponding target component within the manifest)
2737
2740
  * @param {string} oPageDefinition.contextPath The contextPath (optional)(defined in the settings of the corresponding target component within the manifest)
2738
- * @param {...object} [aInAdditionalPageDefinitions] Additional custom page functions, provided in an object containing <code>actions</code> and <code>assertions</code>
2741
+ * @param {...object} [_aInAdditionalPageDefinitions] Additional custom page functions, provided in an object containing <code>actions</code> and <code>assertions</code>
2739
2742
  * @returns {sap.fe.test.ListReport} A list report page definition
2740
2743
  * @name sap.fe.test.ListReport
2741
2744
  * @extends sap.fe.test.TemplatePage
2742
2745
  * @public
2743
2746
  */
2744
- function ListReport(oPageDefinition, aInAdditionalPageDefinitions) {
2747
+ function ListReport(oPageDefinition, _aInAdditionalPageDefinitions) {
2745
2748
  var sAppId = oPageDefinition.appId,
2746
2749
  sComponentId = oPageDefinition.componentId,
2747
2750
  sContextPath = oPageDefinition.contextPath,
@@ -2915,11 +2918,10 @@ sap.ui.predefine(
2915
2918
  /**
2916
2919
  * TODO This function is only here for legacy reasons and therefore private. Use iGoToView instead.
2917
2920
  *
2918
- * @param {string} sName The name of the view within the List Report table
2919
2921
  * @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
2920
2922
  * @private
2921
2923
  */
2922
- iOpenIconTabWithTitle: function (sName) {
2924
+ iOpenIconTabWithTitle: function () {
2923
2925
  // return this.iGoToView(sName);
2924
2926
  return OpaBuilder.create(this)
2925
2927
  .timeout(1)
@@ -3289,11 +3291,10 @@ sap.ui.predefine(
3289
3291
  /**
3290
3292
  * TODO This function is only here for legacy reasons and therefore private. Use iCheckView instead.
3291
3293
  *
3292
- * @param {object} mProperties Object containing the text: property and any other properties to be checked
3293
3294
  * @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
3294
3295
  * @private
3295
3296
  */
3296
- iSeeIconTabWithProperties: function (mProperties) {
3297
+ iSeeIconTabWithProperties: function () {
3297
3298
  // return this.iCheckView(mProperties.text, mProperties);
3298
3299
  return OpaBuilder.create(this)
3299
3300
  .timeout(1)
@@ -3541,13 +3542,13 @@ sap.ui.predefine(
3541
3542
  * @param {string} oPageDefinition.componentId The component id (defined in the target section for the list report within the manifest)
3542
3543
  * @param {string} oPageDefinition.entitySet The entitySet (defined in the settings of the corresponding target component within the manifest)
3543
3544
  * @param {string} oPageDefinition.contextPath The contextPath (optional)(defined in the settings of the corresponding target component within the manifest)
3544
- * @param {...object} [aAdditionalPageDefinitions] Additional custom page functions, provided in an object containing <code>actions</code> and <code>assertions</code>
3545
+ * @param {...object} [_aAdditionalPageDefinitions] Additional custom page functions, provided in an object containing <code>actions</code> and <code>assertions</code>
3545
3546
  * @returns {sap.fe.test.ObjectPage} An object page page definition
3546
3547
  * @name sap.fe.test.ObjectPage
3547
3548
  * @extends sap.fe.test.TemplatePage
3548
3549
  * @public
3549
3550
  */
3550
- function ObjectPage(oPageDefinition, aAdditionalPageDefinitions) {
3551
+ function ObjectPage(oPageDefinition, _aAdditionalPageDefinitions) {
3551
3552
  var sAppId = oPageDefinition.appId,
3552
3553
  sComponentId = oPageDefinition.componentId,
3553
3554
  ViewId = sAppId + "::" + sComponentId,
@@ -4521,7 +4522,7 @@ sap.ui.predefine("sap/fe/test/Shell", ["sap/ui/test/OpaBuilder", "sap/ui/test/Op
4521
4522
  actions: function (oTile) {
4522
4523
  oTile.getTileViews()[0].$().trigger("tap");
4523
4524
  },
4524
- success: function (oTile) {
4525
+ success: function () {
4525
4526
  Opa5.assert.ok(true, Utils.formatMessage("Clicking on tile with target '{0}'", sTarget));
4526
4527
  },
4527
4528
  errorMessage: "Could not find the tile"
@@ -4552,7 +4553,7 @@ sap.ui.predefine("sap/fe/test/Shell", ["sap/ui/test/OpaBuilder", "sap/ui/test/Op
4552
4553
  .description("Selecting item: " + sOption)
4553
4554
  .execute();
4554
4555
  },
4555
- iLaunchExtendedParameterDialog: function (sProperty) {
4556
+ iLaunchExtendedParameterDialog: function () {
4556
4557
  return OpaBuilder.create(this)
4557
4558
  .hasType("sap.m.Button")
4558
4559
  .isDialogElement()
@@ -4710,7 +4711,7 @@ sap.ui.predefine("sap/fe/test/Shell", ["sap/ui/test/OpaBuilder", "sap/ui/test/Op
4710
4711
  /**
4711
4712
  * Actions and assertions to be used with a page hosted in an FCL
4712
4713
  */
4713
- sap.ui.predefine("sap/fe/test/Stubs", ["sap/ui/test/OpaBuilder"], function (OpaBuilder) {
4714
+ sap.ui.predefine("sap/fe/test/Stubs", [], function () {
4714
4715
  "use strict";
4715
4716
  var Stubs = {
4716
4717
  prepareStubs: function (oWindow) {
@@ -5044,13 +5045,13 @@ sap.ui.predefine(
5044
5045
  /**
5045
5046
  * @class Provides a test page definition for a template page with the corresponding parameters.
5046
5047
  * @param {object | string} vViewId The viewId
5047
- * @param {...object} [aAdditionalPageDefinitions] Additional custom page functions, provided in an object containing <code>actions</code> and <code>assertions</code>
5048
+ * @param {...object} [_aAdditionalPageDefinitions] Additional custom page functions, provided in an object containing <code>actions</code> and <code>assertions</code>
5048
5049
  * @returns {sap.fe.test.TemplatePage} A list report page definition
5049
5050
  * @name sap.fe.test.TemplatePage
5050
5051
  * @hideconstructor
5051
5052
  * @public
5052
5053
  */
5053
- function TemplatePage(vViewId, aAdditionalPageDefinitions) {
5054
+ function TemplatePage(vViewId, _aAdditionalPageDefinitions) {
5054
5055
  var sViewId = Utils.isOfType(vViewId, String) ? vViewId : vViewId.viewId,
5055
5056
  aAdditionalPages = Array.prototype.slice.call(arguments, 1);
5056
5057
 
@@ -5323,8 +5324,7 @@ sap.ui.predefine(
5323
5324
  "sap/ui/core/util/XMLPreprocessor",
5324
5325
  "sap/ui/core/XMLTemplateProcessor",
5325
5326
  "sap/fe/macros/macroLibrary",
5326
- "sap/fe/core/TemplateModel",
5327
- "sap/fe/macros/ResourceModel"
5327
+ "sap/fe/core/TemplateModel"
5328
5328
  ],
5329
5329
  function (ODataMetaModel, XMLPreprocessor, XMLTemplateProcessor, macroLibrary, TemplateModel) {
5330
5330
  "use strict";
@@ -5377,7 +5377,7 @@ sap.ui.predefine(
5377
5377
  oMetaModel = new ODataMetaModel(oRequestor, sServiceUrl + "$metadata", undefined, null);
5378
5378
 
5379
5379
  //Switch of all plugins as we only template individual fragments in the test
5380
- macroLibrary.deregister();
5380
+ macroLibrary.unregister();
5381
5381
  if (useMacros) {
5382
5382
  //Force option to use macros for some tests
5383
5383
  macroLibrary.register();
@@ -5559,7 +5559,7 @@ sap.ui.predefine(
5559
5559
  * SAP UI development toolkit for HTML5 (SAPUI5)
5560
5560
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
5561
5561
  */
5562
- sap.ui.predefine("sap/fe/test/UI5MockHelper", ["@sap-ux/jest-mock-ui5/dist/generic", "sap/fe/core/controllerextensions/EditFlow", "sap/fe/core/controllerextensions/InternalEditFlow", "sap/fe/core/controllerextensions/InternalRouting", "sap/fe/core/controllerextensions/Share", "sap/fe/core/controllerextensions/SideEffects", "sap/ui/base/Event", "sap/ui/core/mvc/Controller", "sap/ui/core/mvc/View", "sap/ui/model/CompositeBinding", "sap/ui/model/odata/v4/Context", "sap/ui/model/odata/v4/ODataContextBinding", "sap/ui/model/odata/v4/ODataListBinding", "sap/ui/model/odata/v4/ODataMetaModel", "sap/ui/model/odata/v4/ODataModel", "sap/ui/model/odata/v4/ODataPropertyBinding"], function (generic, EditFlow, InternalEditFlow, InternalRouting, Share, SideEffects, Event, Controller, View, CompositeBinding, Context, ODataContextBinding, ODataListBinding, ODataMetaModel, ODataModel, ODataPropertyBinding) {
5562
+ sap.ui.predefine("sap/fe/test/UI5MockHelper", ["@sap-ux/jest-mock-ui5/dist/generic", "sap/fe/core/controllerextensions/EditFlow", "sap/fe/core/controllerextensions/InternalRouting", "sap/fe/core/controllerextensions/Share", "sap/fe/core/controllerextensions/SideEffects", "sap/fe/core/ResourceModel", "sap/ui/base/Event", "sap/ui/core/mvc/Controller", "sap/ui/core/mvc/View", "sap/ui/model/CompositeBinding", "sap/ui/model/odata/v4/Context", "sap/ui/model/odata/v4/ODataContextBinding", "sap/ui/model/odata/v4/ODataListBinding", "sap/ui/model/odata/v4/ODataMetaModel", "sap/ui/model/odata/v4/ODataModel", "sap/ui/model/odata/v4/ODataPropertyBinding"], function (generic, EditFlow, InternalRouting, Share, SideEffects, ResourceModel, Event, Controller, View, CompositeBinding, Context, ODataContextBinding, ODataListBinding, ODataMetaModel, ODataModel, ODataPropertyBinding) {
5563
5563
  "use strict";
5564
5564
 
5565
5565
  var _exports = {};
@@ -5961,7 +5961,6 @@ sap.ui.predefine("sap/fe/test/UI5MockHelper", ["@sap-ux/jest-mock-ui5/dist/gener
5961
5961
  function createMockController() {
5962
5962
  const mocked = mock(Controller);
5963
5963
  mocked._routing = mock(InternalRouting);
5964
- mocked._editFlow = mock(InternalEditFlow);
5965
5964
  mocked._sideEffects = mock(SideEffects);
5966
5965
  mocked.editFlow = mock(EditFlow);
5967
5966
  mocked.share = mock(Share);
@@ -5996,7 +5995,44 @@ sap.ui.predefine("sap/fe/test/UI5MockHelper", ["@sap-ux/jest-mock-ui5/dist/gener
5996
5995
  controller
5997
5996
  };
5998
5997
  }
5998
+
5999
+ /**
6000
+ * To be used to load messages bundles for tests without app/page component.
6001
+ *
6002
+ * @param textID ID of the Text
6003
+ * @param parameters Array of parameters that are used to create the text
6004
+ * @param metaPath Entity set name or action name to overload a text
6005
+ * @returns Determined text
6006
+ */
5999
6007
  _exports.mockMVC = mockMVC;
6008
+ function getText(textID, parameters, metaPath) {
6009
+ const resourceModel = new ResourceModel({
6010
+ bundleName: "sap.fe.core.messagebundle",
6011
+ enhanceWith: [{
6012
+ bundleName: "sap.fe.macros.messagebundle"
6013
+ }, {
6014
+ bundleName: "sap.fe.templates.messagebundle"
6015
+ }],
6016
+ async: false
6017
+ });
6018
+ return resourceModel.getText(textID, parameters, metaPath);
6019
+ }
6020
+
6021
+ /**
6022
+ * Utility type to mock ResourceModel
6023
+ */
6024
+ _exports.getText = getText;
6025
+ /**
6026
+ * Factory function to create a new MockView.
6027
+ *
6028
+ * @returns A new MockView
6029
+ */
6030
+ function createMockResourceModel() {
6031
+ const mocked = mock(ResourceModel);
6032
+ mocked.getText = jest.fn().mockImplementation(getText);
6033
+ return mocked;
6034
+ }
6035
+ _exports.createMockResourceModel = createMockResourceModel;
6000
6036
  return _exports;
6001
6037
  }, false);
6002
6038
  /*!
@@ -6736,7 +6772,7 @@ sap.ui.predefine(
6736
6772
 
6737
6773
  Actions.prototype.iSelectItems = function (innerData, bClearSelection) {
6738
6774
  if (typeof bClearSelection === "boolean") {
6739
- bClearSelection = bClearSelection;
6775
+ bClearSelection = !!bClearSelection;
6740
6776
  } else {
6741
6777
  bClearSelection = true;
6742
6778
  }
@@ -7081,25 +7117,17 @@ sap.ui.predefine("sap/fe/test/api/CollaborationAPI", ["sap/base/Log", "sap/fe/co
7081
7117
  }
7082
7118
  },
7083
7119
  /**
7084
- * Simulates that the user has deleted the draft.
7120
+ * Simulates that the user has deleted an object (child of draft root).
7121
+ *
7122
+ * @param objectPath The path of the object to delete
7085
7123
  */
7086
- deleteDraft: function () {
7124
+ deleteObject: function (objectPath) {
7087
7125
  if (this._internalModel) {
7088
- const draftContext = this._getDraftContext();
7089
- let activeContext;
7090
- draftContext.requestProperty("IsActiveEntity").then(() => {
7091
- return draftContext.getModel().bindContext(`${this._rootPath}/SiblingEntity`).getBoundContext();
7092
- }).then(context => {
7093
- activeContext = context;
7094
- return context.requestCanonicalPath();
7095
- }).then(() => {
7096
- return draft.deleteDraft(draftContext);
7097
- }).then(() => {
7098
- activeContext.delete();
7099
- broadcastCollaborationMessage(Activity.Delete, this._rootPath, this._internalModel);
7100
- this._internalModel.destroy();
7101
- this._internalModel = undefined;
7102
- }).catch(function (err) {
7126
+ const objectContext = this._getObjectContext(objectPath);
7127
+ objectContext.requestProperty("IsActiveEntity").then(() => {
7128
+ objectContext.delete();
7129
+ broadcastCollaborationMessage(Activity.Delete, objectPath, this._internalModel);
7130
+ }).catch(err => {
7103
7131
  Log.error(err);
7104
7132
  });
7105
7133
  }
@@ -7108,7 +7136,10 @@ sap.ui.predefine("sap/fe/test/api/CollaborationAPI", ["sap/base/Log", "sap/fe/co
7108
7136
  // Private methods
7109
7137
 
7110
7138
  _getDraftContext: function () {
7111
- return this._oModel.bindContext(this._rootPath, undefined, {
7139
+ return this._getObjectContext(this._rootPath);
7140
+ },
7141
+ _getObjectContext: function (path) {
7142
+ return this._oModel.bindContext(path, undefined, {
7112
7143
  $$patchWithoutSideEffects: true,
7113
7144
  $$groupId: "$auto",
7114
7145
  $$updateGroupId: "$auto"
@@ -8720,53 +8751,94 @@ sap.ui.predefine(
8720
8751
  );
8721
8752
  };
8722
8753
 
8723
- function _checkTabBuilder(oApiInstance, sIdSuffix, mState) {
8724
- var oBuilder = FEBuilder.create(oApiInstance.getOpaInstance())
8725
- .isDialogElement()
8726
- .mustBeVisible(false)
8727
- .description(
8728
- Utils.formatMessage(
8729
- "Checking that the tab '{1}' on value help dialog '{0}' has state='{2}'",
8730
- oApiInstance.getIdentifier(),
8731
- sIdSuffix,
8732
- mState
8733
- )
8734
- ),
8735
- oTabIdMatcher = FEBuilder.Matchers.id(RegExp(sIdSuffix + "$"));
8754
+ function _checkIconTabBarBuilder(oValueHelpBuilder, idMatcher, mState) {
8755
+ var bSuccess = true;
8736
8756
 
8737
8757
  if (mState && mState.visible === false) {
8738
- oBuilder.hasType("sap.m.IconTabBar");
8739
- oBuilder.check(function (aIconTabFilters) {
8740
- return OpaBuilder.Matchers.filter(oTabIdMatcher)(aIconTabFilters).length === 0;
8741
- });
8758
+ oValueHelpBuilder
8759
+ .hasChildren(
8760
+ OpaBuilder.create(this).hasConditional(
8761
+ function (oControl) {
8762
+ // in the visible=false case, there should never be a sap.m.IconTabBar --> let test fail
8763
+ // if a sap.m.IconTabBar is found, both tabs are visible (SearchSelect and DefineConditions)
8764
+ if (oControl.isA("sap.m.IconTabBar")) {
8765
+ bSuccess = false;
8766
+ return true;
8767
+ } else {
8768
+ return false;
8769
+ }
8770
+ },
8771
+ function (oSuccess) {
8772
+ return false;
8773
+ },
8774
+ function (oElse) {
8775
+ return true;
8776
+ }
8777
+ ),
8778
+ false
8779
+ )
8780
+ .check(function () {
8781
+ return bSuccess;
8782
+ });
8742
8783
  } else {
8743
- oBuilder.hasType("sap.m.IconTabFilter").has(oTabIdMatcher).hasState(mState);
8784
+ oValueHelpBuilder.hasChildren(OpaBuilder.create(this).hasType("sap.m.IconTabFilter").has(idMatcher), false);
8744
8785
  }
8745
-
8746
- return oApiInstance.prepareResult(oBuilder.execute());
8786
+ return oValueHelpBuilder;
8747
8787
  }
8748
8788
 
8749
8789
  /**
8750
- * Checks the <code>Search and Select</code> tab.
8790
+ * Checks the <code>Define conditions</code> tab in a value help dialog.
8791
+ * Please be aware that the tab control of the toolbar is checked.
8751
8792
  *
8752
8793
  * @param {object} [mState] Defines the expected state of the filter bar
8753
8794
  * @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, that can be used for chaining statements
8754
8795
  * @public
8755
8796
  */
8756
- DialogValueHelpAssertions.prototype.iCheckSearchAndSelect = function (mState) {
8757
- return _checkTabBuilder(this, "-ITB--header-0", mState); // might be an issue, but there´s no stable id provided anymore
8758
- };
8797
+ DialogValueHelpAssertions.prototype.iCheckDefineConditions = function (mState) {
8798
+ var sIdSuffix = "-ITB--header-1",
8799
+ idMatcher = FEBuilder.Matchers.id(RegExp(sIdSuffix + "$")),
8800
+ oBuilder = _checkIconTabBarBuilder(this.getBuilder(), idMatcher, mState);
8759
8801
 
8802
+ return this.prepareResult(
8803
+ oBuilder
8804
+ .description(
8805
+ Utils.formatMessage(
8806
+ "Checking that the Define Conditions tab '{1}' on value help dialog '{0}' has state='{2}'",
8807
+ this.getIdentifier(),
8808
+ sIdSuffix,
8809
+ mState
8810
+ )
8811
+ )
8812
+ .execute()
8813
+ );
8814
+ };
8760
8815
  /**
8761
- * Checks the <code>Define conditions</code> tab.
8816
+ * Checks the <code>Search and Select</code> tab in a value help dialog.
8817
+ * Please be aware that the tab control of the toolbar is checked.
8762
8818
  *
8763
8819
  * @param {object} [mState] Defines the expected state of the filter bar
8764
8820
  * @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, that can be used for chaining statements
8765
8821
  * @public
8766
8822
  */
8767
- DialogValueHelpAssertions.prototype.iCheckDefineConditions = function (mState) {
8768
- return _checkTabBuilder(this, "-ITB--header-1", mState); // might be an issue, but there´s no stable id provided anymore
8823
+ DialogValueHelpAssertions.prototype.iCheckSearchAndSelect = function (mState) {
8824
+ var sIdSuffix = "-ITB--header-0",
8825
+ idMatcher = FEBuilder.Matchers.id(RegExp(sIdSuffix + "$")),
8826
+ oBuilder = _checkIconTabBarBuilder(this.getBuilder(), idMatcher, mState);
8827
+
8828
+ return this.prepareResult(
8829
+ oBuilder
8830
+ .description(
8831
+ Utils.formatMessage(
8832
+ "Checking that the Search and Select tab '{1}' on value help dialog '{0}' has state='{2}'",
8833
+ this.getIdentifier(),
8834
+ sIdSuffix,
8835
+ mState
8836
+ )
8837
+ )
8838
+ .execute()
8839
+ );
8769
8840
  };
8841
+
8770
8842
  /**
8771
8843
  * Checks the dialog.
8772
8844
  *
@@ -9530,9 +9602,9 @@ sap.ui.predefine(
9530
9602
 
9531
9603
  /**
9532
9604
  * Checks if the focus is on the filter field.
9533
-
9605
+ *
9534
9606
  * @param {string} [sFilterFieldLabel] The field label
9535
- * @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
9607
+ * @returns {object} The result of the {@link sa p.ui.test.Opa5#waitFor} function, to be used for chained statements
9536
9608
  * @public
9537
9609
  */
9538
9610
 
@@ -9548,7 +9620,7 @@ sap.ui.predefine(
9548
9620
 
9549
9621
  /**
9550
9622
  * Checks if the focus is on the Go Button of the filter bar.
9551
-
9623
+ *
9552
9624
  * @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
9553
9625
  * @public
9554
9626
  */
@@ -15337,17 +15409,17 @@ sap.ui.predefine(
15337
15409
  // we need to do this to be able to retrieve the child of the FormElementWrapper when its child is not visible
15338
15410
  return _getMainControls(oContent.getContent());
15339
15411
  }
15340
- if (oContent.isA("sap.fe.core.controls.FileWrapper")) {
15412
+ if (oContent.isA("sap.fe.macros.controls.FileWrapper")) {
15341
15413
  return _getMainControls(oContent.getAvatar());
15342
15414
  }
15343
- if (oContent.isA("sap.fe.core.controls.FieldWrapper")) {
15415
+ if (oContent.isA("sap.fe.macros.controls.FieldWrapper")) {
15344
15416
  if (oContent.getEditMode() === "Display") {
15345
15417
  return _getMainControls(oContent.getContentDisplay());
15346
15418
  } else {
15347
15419
  return _getMainControls(oContent.getContentEdit()[0]);
15348
15420
  }
15349
15421
  }
15350
- if (oContent.isA("sap.fe.core.controls.ConditionalWrapper")) {
15422
+ if (oContent.isA("sap.fe.macros.controls.ConditionalWrapper")) {
15351
15423
  var oLink = oContent.getCondition() ? oContent.getContentTrue() : oContent.getContentFalse();
15352
15424
  return _getMainControls(oLink);
15353
15425
  }
@@ -16011,6 +16083,15 @@ sap.ui.predefine(
16011
16083
  return oMdcTable ? _getColumnIndex(vColumn, oMdcTable) : -1;
16012
16084
  }
16013
16085
 
16086
+ function _getTableForSelection(oRow) {
16087
+ var oUIControl = oRow,
16088
+ sTableType = oRow.getMetadata().getName() === "sap.ui.table.Row" ? "sap.ui.table.Table" : "sap.ui.mdc.Table";
16089
+ while (oUIControl && !oUIControl.isA(sTableType)) {
16090
+ oUIControl = oUIControl._feMdcTableWrapper || oUIControl.getParent();
16091
+ }
16092
+ return oUIControl;
16093
+ }
16094
+
16014
16095
  function _getCell(oRow, iColumn) {
16015
16096
  var oCell;
16016
16097
  if (!oRow) {
@@ -16331,7 +16412,7 @@ sap.ui.predefine(
16331
16412
 
16332
16413
  TableBuilder.prototype.doSelect = function (vRowMatcher) {
16333
16414
  return this.doOnRows(vRowMatcher, function (oRow) {
16334
- var oTable = oRow.getParent();
16415
+ var oTable = _getTableForSelection(oRow);
16335
16416
  // if several rows are selected, the table may be blocked by other events, e.g. tableRuntime.js --> setContexts
16336
16417
  if (oTable.getBusy()) {
16337
16418
  oTable.setBusy(false);
@@ -17073,7 +17154,7 @@ sap.ui.predefine(
17073
17154
  oCellControl = _getCell(oRow, iColumn);
17074
17155
 
17075
17156
  // if the cellControl is a FieldWrapper replace it by its active control (edit or display)
17076
- if (oCellControl.isA("sap.fe.core.controls.FieldWrapper")) {
17157
+ if (oCellControl.isA("sap.fe.macros.controls.FieldWrapper")) {
17077
17158
  oCellControl =
17078
17159
  oCellControl.getEditMode() === "Display"
17079
17160
  ? oCellControl.getContentDisplay()
@@ -17085,7 +17166,7 @@ sap.ui.predefine(
17085
17166
  ? oCellControl.getItems()[0].getContent().getContentDisplay()
17086
17167
  : oCellControl.getItems()[0].getContent().getContentEdit()[0];
17087
17168
  }
17088
- if (oCellControl.isA("sap.fe.core.controls.ConditionalWrapper")) {
17169
+ if (oCellControl.isA("sap.fe.macros.controls.ConditionalWrapper")) {
17089
17170
  oCellControl = oCellControl.getCondition() ? oCellControl.getContentTrue() : oCellControl.getContentFalse();
17090
17171
  }
17091
17172
 
@@ -17627,7 +17708,9 @@ sap.ui.predefine("sap/fe/test/internal/ConsoleErrorChecker", [], function () {
17627
17708
  /**
17628
17709
  * List of error message patterns that are always accepted.
17629
17710
  */
17630
- const GLOBALLY_ACCEPTED_ERRORS = ["failed to load JavaScript resource: sap/esh/search/ui/i18n.js" // shell
17711
+ const GLOBALLY_ACCEPTED_ERRORS = ["failed to load JavaScript resource: sap/esh/search/ui/i18n.js",
17712
+ // shell
17713
+ "Custom attributes are not exist" // accept console error temporarily - remove as soon as unified shell ticket is resolved
17631
17714
  ].map(wrapPatterns);
17632
17715
  let ConsoleErrorChecker = /*#__PURE__*/function () {
17633
17716
  function ConsoleErrorChecker(window) {
@@ -17839,11 +17922,15 @@ sap.ui.predefine(
17839
17922
  oUriParams = new UriParameters(window.location.href),
17840
17923
  sBackendUrl = oUriParams.get("useBackendUrl"),
17841
17924
  sProxyPrefix = sBackendUrl ? "/databinding/proxy/" + sBackendUrl.replace("://", "/") : "",
17842
- bSuccess = false,
17843
- sTenantID =
17844
- window.__karma__ && window.__karma__.config && window.__karma__.config.ui5
17845
- ? window.__karma__.config.ui5.shardIndex
17846
- : "default";
17925
+ bSuccess = false;
17926
+ var sTenantID = "";
17927
+ if (window.__karma__ && window.__karma__.config && window.__karma__.config.ui5) {
17928
+ sTenantID = window.__karma__.config.ui5.shardIndex;
17929
+ } else {
17930
+ sTenantID = window.location.href.includes("sap-client")
17931
+ ? new URL(window.location.href).searchParams.get("sap-client")
17932
+ : "default";
17933
+ }
17847
17934
 
17848
17935
  return OpaBuilder.create(this)
17849
17936
  .success(function () {
@@ -17982,12 +18069,12 @@ sap.ui.predefine("sap/fe/test/library", ["sap/ui/core/Core", "sap/ui/core/librar
17982
18069
  controls: [],
17983
18070
  elements: [],
17984
18071
  // eslint-disable-next-line no-template-curly-in-string
17985
- version: "1.111.1",
18072
+ version: "1.112.0",
17986
18073
  noLibraryCSS: true
17987
18074
  });
17988
18075
  return thisLib;
17989
18076
  }, false);
17990
18077
  sap.ui.require.preload({
17991
- "sap/fe/test/manifest.json":'{"_version":"1.21.0","sap.app":{"id":"sap.fe.test","type":"library","embeds":[],"applicationVersion":{"version":"1.111.1"},"title":"UI5 library: sap.fe.test","description":"UI5 library: sap.fe.test","resources":"resources.json","offline":true},"sap.ui":{"technology":"UI5","supportedThemes":[]},"sap.ui5":{"dependencies":{"libs":{"sap.ui.core":{}}},"library":{"i18n":false,"content":{"controls":[],"elements":[],"types":[],"interfaces":[]}}}}'
18078
+ "sap/fe/test/manifest.json":'{"_version":"1.21.0","sap.app":{"id":"sap.fe.test","type":"library","embeds":[],"applicationVersion":{"version":"1.112.0"},"title":"UI5 library: sap.fe.test","description":"UI5 library: sap.fe.test","resources":"resources.json","offline":true},"sap.ui":{"technology":"UI5","supportedThemes":[]},"sap.ui5":{"dependencies":{"libs":{"sap.ui.core":{}}},"library":{"i18n":false,"content":{"controls":[],"elements":[],"types":[],"interfaces":[]}}}}'
17992
18079
  });
17993
18080
  //# sourceMappingURL=library-preload.js.map