@openui5/sap.ui.core 1.117.1 → 1.118.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.
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -1
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +3 -3
- package/src/sap/base/Event.js +1 -1
- package/src/sap/base/Eventing.js +1 -1
- package/src/sap/base/config.js +1 -1
- package/src/sap/base/i18n/LanguageTag.js +1 -1
- package/src/sap/base/i18n/Localization.js +42 -39
- package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/BindingParser.js +2 -1
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +7 -3
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/core/.library +9 -1
- package/src/sap/ui/core/AnimationMode.js +1 -1
- package/src/sap/ui/core/BlockLayerUtils.js +1 -1
- package/src/sap/ui/core/BusyIndicator.js +2 -2
- package/src/sap/ui/core/Component.js +22 -15
- package/src/sap/ui/core/ComponentContainer.js +2 -2
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +1 -13
- package/src/sap/ui/core/Control.js +21 -1
- package/src/sap/ui/core/Core.js +67 -41
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +1 -1
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +2 -2
- package/src/sap/ui/core/IndicationColorSupport.js +2 -2
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +3 -6
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.js +9 -13
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +2 -2
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Messaging.js +472 -0
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/Rendering.js +3 -2
- package/src/sap/ui/core/ResizeHandler.js +1 -4
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/ShortcutHint.js +1 -1
- package/src/sap/ui/core/Theming.js +28 -31
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +1 -1
- package/src/sap/ui/core/UIArea.js +85 -17
- package/src/sap/ui/core/UIComponent.js +1 -1
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +2 -2
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/_IconRegistry.js +1 -1
- package/src/sap/ui/core/boot.js +9 -0
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragAndDrop.js +1 -1
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +4 -0
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +18 -47
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +37 -459
- package/src/sap/ui/core/message/MessageMixin.js +3 -3
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +9 -9
- package/src/sap/ui/core/message/MessageType.js +53 -0
- package/src/sap/ui/core/messagebundle.properties +3 -0
- package/src/sap/ui/core/messagebundle_ar.properties +1 -1
- package/src/sap/ui/core/messagebundle_bg.properties +1 -1
- package/src/sap/ui/core/messagebundle_ca.properties +1 -1
- package/src/sap/ui/core/messagebundle_cs.properties +1 -1
- package/src/sap/ui/core/messagebundle_cy.properties +1 -1
- package/src/sap/ui/core/messagebundle_da.properties +1 -1
- package/src/sap/ui/core/messagebundle_de.properties +1 -1
- package/src/sap/ui/core/messagebundle_el.properties +1 -1
- package/src/sap/ui/core/messagebundle_es.properties +1 -1
- package/src/sap/ui/core/messagebundle_es_MX.properties +1 -1
- package/src/sap/ui/core/messagebundle_et.properties +1 -1
- package/src/sap/ui/core/messagebundle_fi.properties +1 -1
- package/src/sap/ui/core/messagebundle_fr.properties +1 -1
- package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -1
- package/src/sap/ui/core/messagebundle_hi.properties +1 -1
- package/src/sap/ui/core/messagebundle_hr.properties +1 -1
- package/src/sap/ui/core/messagebundle_hu.properties +1 -1
- package/src/sap/ui/core/messagebundle_id.properties +1 -1
- package/src/sap/ui/core/messagebundle_it.properties +1 -1
- package/src/sap/ui/core/messagebundle_iw.properties +1 -1
- package/src/sap/ui/core/messagebundle_ja.properties +1 -1
- package/src/sap/ui/core/messagebundle_kk.properties +1 -1
- package/src/sap/ui/core/messagebundle_ko.properties +1 -1
- package/src/sap/ui/core/messagebundle_lt.properties +1 -1
- package/src/sap/ui/core/messagebundle_lv.properties +1 -1
- package/src/sap/ui/core/messagebundle_ms.properties +1 -1
- package/src/sap/ui/core/messagebundle_nl.properties +1 -1
- package/src/sap/ui/core/messagebundle_no.properties +1 -1
- package/src/sap/ui/core/messagebundle_pl.properties +1 -1
- package/src/sap/ui/core/messagebundle_pt.properties +1 -1
- package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -1
- package/src/sap/ui/core/messagebundle_ro.properties +1 -1
- package/src/sap/ui/core/messagebundle_ru.properties +1 -1
- package/src/sap/ui/core/messagebundle_sh.properties +1 -1
- package/src/sap/ui/core/messagebundle_sk.properties +1 -1
- package/src/sap/ui/core/messagebundle_sl.properties +1 -1
- package/src/sap/ui/core/messagebundle_sv.properties +9 -9
- package/src/sap/ui/core/messagebundle_th.properties +1 -1
- package/src/sap/ui/core/messagebundle_tr.properties +1 -1
- package/src/sap/ui/core/messagebundle_uk.properties +1 -1
- package/src/sap/ui/core/messagebundle_vi.properties +1 -1
- package/src/sap/ui/core/messagebundle_zh_CN.properties +1 -1
- package/src/sap/ui/core/messagebundle_zh_TW.properties +1 -1
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +9 -2
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +1 -1
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/routing/Router.js +7 -1
- package/src/sap/ui/core/routing/async/Route.js +1 -0
- package/src/sap/ui/core/routing/sync/Route.js +1 -0
- package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
- package/src/sap/ui/core/search/SearchProvider.js +1 -1
- package/src/sap/ui/core/service/Service.js +1 -1
- package/src/sap/ui/core/service/ServiceFactory.js +1 -1
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
- package/src/sap/ui/core/support/Plugin.js +25 -5
- package/src/sap/ui/core/support/Support.js +34 -4
- package/src/sap/ui/core/support/ToolsAPI.js +6 -16
- package/src/sap/ui/core/support/controls/InteractionTree.js +0 -4
- package/src/sap/ui/core/support/plugins/Breakpoint.js +0 -2
- package/src/sap/ui/core/support/plugins/ControlTree.js +10 -12
- package/src/sap/ui/core/support/plugins/Debugging.js +10 -9
- package/src/sap/ui/core/support/plugins/Interaction.js +12 -13
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -3
- package/src/sap/ui/core/support/plugins/Performance.js +1 -3
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +32 -42
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +27 -13
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +4 -4
- package/src/sap/ui/core/theming/ThemeHelper.js +100 -0
- package/src/sap/ui/core/theming/ThemeManager.js +18 -18
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/XMLPreprocessor.js +53 -29
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/webc/WebComponent.js +659 -0
- package/src/sap/ui/core/webc/WebComponentMetadata.js +253 -0
- package/src/sap/ui/core/webc/WebComponentRenderer.js +323 -0
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +4 -3
- package/src/sap/ui/debug/DebugEnv.js +4 -4
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/Binding.js +6 -6
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientPropertyBinding.js +3 -3
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/Context.js +1 -1
- package/src/sap/ui/model/DataState.js +1 -1
- package/src/sap/ui/model/ManagedObjectBindingSupport.js +4 -4
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +4 -4
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +27 -13
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +24 -0
- package/src/sap/ui/model/odata/ODataMessageParser.js +4 -4
- package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +6 -0
- package/src/sap/ui/model/odata/type/Boolean.js +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +7 -2
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +6 -2
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +23 -3
- package/src/sap/ui/model/odata/v2/ODataModel.js +6 -6
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +33 -6
- package/src/sap/ui/model/odata/v4/Context.js +26 -16
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +6 -2
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +62 -29
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +17 -10
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +5 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +129 -6
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +102 -57
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +30 -4
- package/src/sap/ui/model/odata/v4/lib/_Parser.js +3 -0
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +14 -4
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +28 -35
- package/src/sap/ui/model/odata/v4/ts.js +44 -0
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +5 -4
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/performance/trace/Interaction.js +11 -2
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +10 -11
- package/src/sap/ui/qunit/utils/nextUIUpdate.js +51 -0
- package/src/sap/ui/test/ModuleTracking.js +326 -0
- package/src/sap/ui/test/TestUtils.js +7 -6
- package/src/sap/ui/test/autowaiter/_UIUpdatesWaiter.js +3 -2
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +2 -0
- package/src/sap/ui/test/selectors/_DropdownItem.js +1 -0
- package/src/sap/ui/test/selectors/_TableRowItem.js +1 -0
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader-autoconfig.js +14 -10
- package/test/sap/ui/core/ComponentCleanup.html +228 -225
- package/test/sap/ui/core/ComponentConfig.html +1 -1
- package/test/sap/ui/core/ComponentExtensibility_CustomizingDisabled.html +1 -1
- package/test/sap/ui/core/ComponentExtensibility_legacyAPIs.html +1 -1
- package/test/sap/ui/core/ComponentSimple.html +1 -1
- package/test/sap/ui/core/ComponentSimpleModel.html +1 -1
- package/test/sap/ui/core/ComponentSupport.html +1 -1
- package/test/sap/ui/core/DateFormat.js +3 -3
- package/test/sap/ui/core/EventBroadcaster.html +62 -62
- package/test/sap/ui/core/Formats.html +4 -2
- package/test/sap/ui/core/GenericEventBinding.html +53 -52
- package/test/sap/ui/core/ListFormat.js +3 -3
- package/test/sap/ui/core/NumberFormat.js +3 -3
- package/test/sap/ui/core/ODataAnnotationsPerformance.html +28 -28
- package/test/sap/ui/core/ODataV2CanonicalRequests.html +3 -2
- package/test/sap/ui/core/ODataV2Messages.html +4 -3
- package/test/sap/ui/core/PopupWithUserSelection.html +1 -1
- package/test/sap/ui/core/Strings.js +3 -3
- package/test/sap/ui/core/ValidateURL.html +143 -143
- package/test/sap/ui/core/demokit/sample/Commands/Commands.html +1 -1
- package/test/sap/ui/core/demokit/sample/MessageManager/BasicMessages/Controller.controller.js +10 -10
- package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/Controller.controller.js +7 -7
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/Component.js +3 -2
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/controller/Employee.controller.js +3 -2
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/index.html +7 -8
- package/test/sap/ui/core/demokit/sample/OpaGetStarted/applicationUnderTest/index.html +9 -6
- package/test/sap/ui/core/demokit/sample/OpaWithSupportAssistant/applicationUnderTest/index.html +13 -10
- package/test/sap/ui/core/demokit/sample/PatternMatching/Patterns.html +11 -8
- package/test/sap/ui/core/demokit/sample/RoutingFullscreen/RoutingFullscreen.html +11 -8
- package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/RoutingMasterDetail.html +11 -8
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/RoutingNestedComponent.html +1 -1
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/test/integration/opaTests.qunit.html +1 -1
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/test/integration/opaTests.qunit.js +5 -4
- package/test/sap/ui/core/demokit/sample/TargetsStandalone/TargetsStandalone.html +11 -8
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +12 -11
- package/test/sap/ui/core/demokit/sample/common/Controller.js +6 -7
- package/test/sap/ui/core/demokit/sample/common/Helper.js +6 -2
- package/test/sap/ui/core/demokit/sample/common/init.js +25 -21
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithOPA5/WebsiteCode.js +8 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.controller.js +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +12 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/ListReport.controller.js +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/Component.js +4 -4
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.controller.js +3 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Component.js +19 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +93 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +85 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/SandboxModel.js +10 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/all.json +396 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/metadata.xml +423 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +70 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +11 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.js +8 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +8 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +12 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Main.controller.js +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +11 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/MIT.RecursiveHierarchy maintenance.html +408 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Opa.qunit.js +26 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +54 -14
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +24 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +352 -287
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/pages/Main.js +38 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/createEdit.js +128 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/pageExpandCollapse.js +23 -22
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Component.js +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.js +15 -14
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/tutorial/databinding/01/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/index.js +7 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/02/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/03/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/04/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/05/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/06/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/07/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/08/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/09/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/10/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/index.js +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/11/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/index.js +6 -4
- package/test/sap/ui/core/demokit/tutorial/databinding/12/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/index.js +6 -4
- package/test/sap/ui/core/demokit/tutorial/databinding/13/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/index.js +6 -4
- package/test/sap/ui/core/demokit/tutorial/databinding/14/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/index.js +6 -4
- package/test/sap/ui/core/demokit/tutorial/databinding/15/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/index.js +6 -4
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/01/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/01/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/02/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/02/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/03/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/03/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/04/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/04/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/05/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/05/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/06/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/06/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/07/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/07/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/08/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/08/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/09/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/09/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/10/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/10/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/11/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/11/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/12/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/12/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/13/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/13/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/14/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/14/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/15/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/15/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/16/package.json +2 -4
- package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +7 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/16/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/17/package.json +4 -6
- package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +8 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/17/webapp/index.html +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/index.html +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/controller/App.controller.js +5 -5
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/controller/App.controller.js +7 -7
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/controller/App.controller.js +7 -7
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/opaTests.qunit.js +5 -5
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/pages/Tutorial.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/controller/App.controller.js +7 -7
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/controller/App.controller.js +7 -7
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/package.json +2 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +9 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/controller/App.controller.js +7 -7
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/opaTests.qunit.js +5 -5
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/pages/Tutorial.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/package.json +2 -5
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +8 -0
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/webapp/test/integration/opaTests.qunit.js +6 -6
- package/test/sap/ui/core/frameoptions/createcontent.js +7 -6
- package/test/sap/ui/core/internal/samples/client/MusicCollection/index.html +1 -1
- package/test/sap/ui/core/internal/samples/composite/xmlcomposite/exStringAndFloat/Test.controller.js +3 -2
- package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.js +8 -8
- package/test/sap/ui/core/internal/samples/odata/twoFields/index.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.js +7 -7
- package/test/sap/ui/core/internal/samples/odata/v2/Products/index.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +3 -2
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/MIT.SalesOrders(V2).ODLB.create.html +2 -0
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +3 -3
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Opa.qunit.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Opa.qunit.js +9 -6
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/SandboxModel.js +3 -0
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/data/ODLB.create/TC3/SalesOrderSet_desc_4-1.json +16 -0
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/index.html +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/tests/ODataListBinding.create/TC3_SalesOrders_InlineCreationRow.js +9 -0
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Component.js +3 -2
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.controller.js +3 -3
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/index.html +1 -1
- package/test/sap/ui/core/qunit/BlockLayerUtils.qunit.js +9 -7
- package/test/sap/ui/core/qunit/CalculatedFields.qunit.js +4 -2
- package/test/sap/ui/core/qunit/ContextMenuSupport.qunit.js +3 -2
- package/test/sap/ui/core/qunit/ControlDefinition.qunit.js +11 -10
- package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +218 -223
- package/test/sap/ui/core/qunit/Core.qunit.js +35 -31
- package/test/sap/ui/core/qunit/CoreEvents.qunit.js +17 -15
- package/test/sap/ui/core/qunit/Core_repeatedExecution.qunit.js +3 -3
- package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +4 -3
- package/test/sap/ui/core/qunit/Element_data.qunit.js +5 -5
- package/test/sap/ui/core/qunit/Element_destroy.qunit.js +6 -4
- package/test/sap/ui/core/qunit/Element_focus.qunit.js +25 -24
- package/test/sap/ui/core/qunit/Element_metadata_selector.qunit.js +3 -2
- package/test/sap/ui/core/qunit/EnabledPropagator.qunit.js +7 -6
- package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +1 -1
- package/test/sap/ui/core/qunit/FastNavigationWithWebComponents.qunit.js +5 -5
- package/test/sap/ui/core/qunit/FieldGroup.qunit.js +9 -6
- package/test/sap/ui/core/qunit/FocusHandler.qunit.js +7 -6
- package/test/sap/ui/core/qunit/Fragment.qunit.js +35 -34
- package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +51 -50
- package/test/sap/ui/core/qunit/HTML.qunit.js +32 -32
- package/test/sap/ui/core/qunit/Icon.qunit.js +66 -65
- package/test/sap/ui/core/qunit/IconPool.qunit.js +2 -1
- package/test/sap/ui/core/qunit/InvisibleText.qunit.js +13 -12
- package/test/sap/ui/core/qunit/Lib.qunit.js +8 -8
- package/test/sap/ui/core/qunit/LocalBusyIndicator.qunit.js +24 -24
- package/test/sap/ui/core/qunit/RenderManager.qunit.js +54 -53
- package/test/sap/ui/core/qunit/ResizeHandler.qunit.js +8 -9
- package/test/sap/ui/core/qunit/ScrollBar.qunit.js +7 -6
- package/test/sap/ui/core/qunit/ShortcutHints.qunit.js +13 -11
- package/test/sap/ui/core/qunit/StashedControlSupport.qunit.js +6 -5
- package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +5 -4
- package/test/sap/ui/core/qunit/Theming.qunit.js +88 -50
- package/test/sap/ui/core/qunit/Theming_default_and_fallback.qunit.js +130 -0
- package/test/sap/ui/core/qunit/TooltipBase.qunit.js +4 -3
- package/test/sap/ui/core/qunit/UIArea.qunit.js +248 -18
- package/test/sap/ui/core/qunit/analytics/testsuite4analytics.qunit.js +9 -8
- package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +10 -10
- package/test/sap/ui/core/qunit/base/Config.qunit.js +12 -2
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +123 -52
- package/test/sap/ui/core/qunit/base/Config_meta.qunit.html +2 -0
- package/test/sap/ui/core/qunit/base/config/GlobalConfig.js +3 -1
- package/test/sap/ui/core/qunit/base/config/GlobalConfigForCascade.js +4 -1
- package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.js +3 -3
- package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal_legacyAPIs.qunit.js +13 -11
- package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +1 -1
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomScript_legacyAPIs.qunit.js +13 -11
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithNoJQuery_legacyAPIs.qunit.js +7 -5
- package/test/sap/ui/core/qunit/bootstrap/CalendarClassLoadingWithCustomBootTaskAndPreload.qunit.js +12 -14
- package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +3 -2
- package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +1 -1
- package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +12 -6
- package/test/sap/ui/core/qunit/component/Component.qunit.js +14 -15
- package/test/sap/ui/core/qunit/component/Component_unavoidablySync.qunit.js +4 -3
- package/test/sap/ui/core/qunit/component/Customizing.qunit.js +4 -5
- package/test/sap/ui/core/qunit/component/Customizing_async.qunit.js +4 -3
- package/test/sap/ui/core/qunit/component/Customizing_disabled.qunit.js +4 -6
- package/test/sap/ui/core/qunit/component/Customizing_legacyAPIs.qunit.js +3 -5
- package/test/sap/ui/core/qunit/component/Customizing_multi.qunit.js +3 -6
- package/test/sap/ui/core/qunit/component/Customizing_unavoidablySync.qunit.js +5 -8
- package/test/sap/ui/core/qunit/component/ExtensionPoint.qunit.js +4 -5
- package/test/sap/ui/core/qunit/component/ExtensionPoint_unavoidablySync.qunit.js +4 -3
- package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +19 -19
- package/test/sap/ui/core/qunit/component/UIComponent_unavoidablySync.qunit.js +19 -19
- package/test/sap/ui/core/qunit/composite/XMLComposite.qunit.js +43 -43
- package/test/sap/ui/core/qunit/csp/ContentSecurityPolicy.qunit.js +18 -13
- package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +19 -18
- package/test/sap/ui/core/qunit/dnd/DragInfo.qunit.js +13 -12
- package/test/sap/ui/core/qunit/dnd/DropInfo.qunit.js +5 -4
- package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +7 -6
- package/test/sap/ui/core/qunit/generic/DuplicateIdCheck.qunit.js +7 -6
- package/test/sap/ui/core/qunit/generic/legacy/ControlIterator.qunit.js +6 -6
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +20 -17
- package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +8 -7
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +1 -2
- package/test/sap/ui/core/qunit/internal/1Ring.qunit.html +14 -19
- package/test/sap/ui/core/qunit/internal/1Ring.qunit.js +34 -22
- package/test/sap/ui/core/qunit/internal/ODataV4.qunit.html +6 -6
- package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +4 -0
- package/test/sap/ui/core/qunit/isBehindOtherElement.qunit.js +7 -7
- package/test/sap/ui/core/qunit/jquery-mobile-custom.qunit.js +3 -3
- package/test/sap/ui/core/qunit/jquery.sap.events.qunit.js +3 -2
- package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +16 -16
- package/test/sap/ui/core/qunit/messages/{MessageManager.qunit.js → Messaging.qunit.js} +46 -49
- package/test/sap/ui/core/qunit/messages/messagesDataBinding.qunit.js +3 -1
- package/test/sap/ui/core/qunit/messages/messagesEnd2End.qunit.js +10 -10
- package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +36 -46
- package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +25 -36
- package/test/sap/ui/core/qunit/messages/testsuite.messaging.base.qunit.js +2 -2
- package/test/sap/ui/core/qunit/model/Binding.qunit.js +8 -8
- package/test/sap/ui/core/qunit/model/controlhelper/TreeBindingProxy.qunit.js +24 -14
- package/test/sap/ui/core/qunit/mvc/AnyView.qunit.js +7 -6
- package/test/sap/ui/core/qunit/mvc/AnyViewAsync.qunit.js +3 -2
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync_unavoidablyUsingInlineStyle.qunit.js +5 -4
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +8 -9
- package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +45 -40
- package/test/sap/ui/core/qunit/mvc/testdata/stashed/OP.html +1 -1
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +15 -20
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing_legacyAPIs.qunit.js +20 -25
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyViewAsync_legacyAPIs.qunit.js +10 -11
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyView_legacyAPIs.qunit.js +7 -6
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/HTMLView_legacyAPIs.qunit.js +8 -7
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +7 -7
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +40 -47
- package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +52 -20
- package/test/sap/ui/core/qunit/odata/{ODataListBinding.qunit.js → ODataListBinding_legacyAPIs.qunit.js} +27 -0
- package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +44 -48
- package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +8 -8
- package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +66 -29
- package/test/sap/ui/core/qunit/odata/ODataMetadata.qunit.js +17 -7
- package/test/sap/ui/core/qunit/odata/ODataTreeBindingAdapter.qunit.js +147 -89
- package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +1 -0
- package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +33 -12
- package/test/sap/ui/core/qunit/odata/type/TimeOfDay.qunit.js +33 -12
- package/test/sap/ui/core/qunit/odata/v2/CanonicalRequests.qunit.js +5 -4
- package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +63 -13
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +281 -59
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +28 -4
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +21 -0
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +1 -2
- package/test/sap/ui/core/qunit/odata/v2/ODataV2ListBinding.qunit.js +7 -207
- package/test/sap/ui/core/qunit/odata/v2/ODataV2ListBinding_Filter_legacyAPIs.qunit.js +281 -0
- package/test/sap/ui/core/qunit/odata/v2/ODataV2Model.qunit.js +9 -8
- package/test/sap/ui/core/qunit/odata/v2/ODataV2TreeBinding.qunit.js +1 -0
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +95 -85
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModelB.qunit.js +70 -67
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +19 -20
- package/test/sap/ui/core/qunit/odata/v2/testsuite.odatav2.qunit.js +4 -0
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +50 -27
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +5 -0
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +4 -3
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +103 -14
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1027 -31
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +18 -17
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +272 -36
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +115 -82
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +10 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +108 -10
- package/test/sap/ui/core/qunit/odata/v4/lib/_V2Requestor.qunit.js +1 -1
- package/test/sap/ui/core/qunit/opa/Opa5PageObject.qunit.js +5 -6
- package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +29 -42
- package/test/sap/ui/core/qunit/opa/RecordReplay.qunit.js +13 -14
- package/test/sap/ui/core/qunit/opa/_ControlFinder.qunit.js +5 -4
- package/test/sap/ui/core/qunit/opa/actions/Action.qunit.js +6 -5
- package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +22 -21
- package/test/sap/ui/core/qunit/opa/actions/Press.qunit.js +60 -56
- package/test/sap/ui/core/qunit/opa/autowaiter/_cssAnimationWaiter.js +5 -7
- package/test/sap/ui/core/qunit/opa/autowaiter/_cssTransitionWaiter.js +5 -9
- package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +5 -6
- package/test/sap/ui/core/qunit/opa/autowaiter/_navigationContainerWaiter.js +5 -4
- package/test/sap/ui/core/qunit/opa/autowaiter/_resourceWaiter.js +21 -20
- package/test/sap/ui/core/qunit/opa/fixture/bindingPath.js +6 -5
- package/test/sap/ui/core/qunit/opa/matchers/Interactable.qunit.js +7 -5
- package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +4 -3
- package/test/sap/ui/core/qunit/opa/matchers/Sibling.qunit.js +4 -3
- package/test/sap/ui/core/qunit/opa/matchers/Visible.qunit.js +6 -5
- package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +28 -27
- package/test/sap/ui/core/qunit/opa/matchers/_Editable.qunit.js +11 -10
- package/test/sap/ui/core/qunit/opa/matchers/_Enabled.qunit.js +11 -10
- package/test/sap/ui/core/qunit/opa/matchers/_Visitor.qunit.js +5 -4
- package/test/sap/ui/core/qunit/opa/opa5/actions.qunit.js +8 -7
- package/test/sap/ui/core/qunit/opa/opa5/basics.qunit.js +12 -17
- package/test/sap/ui/core/qunit/opa/opa5/logging.qunit.js +5 -6
- package/test/sap/ui/core/qunit/opa/opa5/matchers.qunit.js +6 -5
- package/test/sap/ui/core/qunit/opa/selectors/_BindingPath.js +10 -9
- package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorGenerator.js +6 -7
- package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorValidator.js +4 -3
- package/test/sap/ui/core/qunit/opa/selectors/_DropdownItem.js +4 -3
- package/test/sap/ui/core/qunit/opa/selectors/_GlobalID.js +4 -3
- package/test/sap/ui/core/qunit/opa/selectors/_LabelFor.js +4 -3
- package/test/sap/ui/core/qunit/opa/selectors/_Properties.js +33 -27
- package/test/sap/ui/core/qunit/opa/selectors/_Selector.js +7 -10
- package/test/sap/ui/core/qunit/opa/selectors/_TableRowItem.js +5 -7
- package/test/sap/ui/core/qunit/opa/selectors/_ViewID.js +5 -7
- package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +35 -28
- package/test/sap/ui/core/qunit/routing/Placeholder.qunit.js +11 -9
- package/test/sap/ui/core/qunit/routing/PlaceholderOptOut.qunit.js +5 -3
- package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +57 -0
- package/test/sap/ui/core/qunit/routing/fixture/historyIframe/iframe/index.html +1 -1
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Child/Component.js +30 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Child/manifest.json +25 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/Component.js +14 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/manifest.json +51 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/view/NotFound.view.xml +3 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/view/RootView.view.xml +5 -0
- package/test/sap/ui/core/qunit/rule/app/syncXHR.qunit.js +24 -17
- package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrap.qunit.js +3 -3
- package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebug.qunit.js +3 -3
- package/test/sap/ui/core/qunit/rule/config/asynchronousXMLViews.qunit.js +9 -18
- package/test/sap/ui/core/qunit/support/techinfo/TechnicalInfoTestbench.html +3 -1
- package/test/sap/ui/core/qunit/test/starter/find/index.html +1 -1
- package/test/sap/ui/core/qunit/test/starter/find/main.js +3 -2
- package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +0 -6
- package/test/sap/ui/core/qunit/testsuites/testsuite.base.configuration.qunit.js +1 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +10 -6
- package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +27 -4
- package/test/sap/ui/core/qunit/tmpl/Template.qunit.js +36 -35
- package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +13 -0
- package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +2 -2
- package/test/sap/ui/core/qunit/util/BusyIndicatorNoCore.qunit.js +2 -2
- package/test/sap/ui/core/qunit/util/InvisibleMessage.qunit.js +4 -4
- package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +27 -31
- package/test/sap/ui/core/qunit/util/Popup.qunit.js +27 -27
- package/test/sap/ui/core/qunit/util/ResponsivePaddingsEnablement.qunit.js +13 -9
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +37 -6
- package/test/sap/ui/core/qunit/util/jQuery.sap.measure.qunit.js +1 -1
- package/test/sap/ui/core/qunit/util/jquery.sap.dom.qunit.js +3 -2
- package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +8 -8
- package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +24 -24
- package/test/sap/ui/core/qunit/util/static/TechnicalInfoTestbenchInit.js +8 -2
- package/test/sap/ui/core/qunit/webc/WebComponent.qunit.js +188 -0
- package/test/sap/ui/core/qunit/webc/testsuite.webc.qunit.html +14 -0
- package/test/sap/ui/core/qunit/webc/testsuite.webc.qunit.js +22 -0
- package/test/sap/ui/core/relnotes/changes-1.117.json +1 -34
- package/test/sap/ui/core/relnotes/changes-1.118.json +143 -0
- package/test/sap/ui/core/samples/components/resourcesCSS/index.html +1 -1
- package/test/sap/ui/core/samples/databinding/DataBinding.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingAsyncType.html +3 -2
- package/test/sap/ui/core/samples/databinding/DataBindingCalculatedFields.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingList.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingListNamedModel.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingListXML.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingMultiModel.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingSortingFiltering.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingTreeLarge.html +102 -113
- package/test/sap/ui/core/samples/databinding/DataBindingTwoWay.html +3 -1
- package/test/sap/ui/core/samples/databinding/DataBindingTwoWayTable.html +90 -89
- package/test/sap/ui/core/samples/databinding/DataBindingValidation.html +149 -148
- package/test/sap/ui/core/samples/databinding/DataBindingXML.html +3 -2
- package/test/sap/ui/core/samples/databinding/DatabindingMessages.html +158 -153
- package/test/sap/ui/core/samples/databinding/ODatabindingMessages.html +4 -6
- package/test/sap/ui/core/samples/databinding/UnitTableMain.js +3 -4
- package/test/sap/ui/core/samples/extensions/index_legacyAPIs.html +15 -13
- package/test/sap/ui/core/samples/formatting/controller/ChooseFormatOptions.controller.js +3 -2
- package/test/sap/ui/core/samples/mvc/ExtendedXMLViewEventHandlerSyntax.html +5 -3
- package/test/sap/ui/core/samples/mvc/XMLViewBindableAggregation.html +1 -1
- package/test/testsuite/testframe.html +4 -4
- package/src/ui5-boot.js +0 -50
- package/test/sap/ui/core/qunit/CoreLock.qunit.js +0 -61
- package/test/sap/ui/core/qunit/internal/ODataV4.qunit.js +0 -30
- /package/test/sap/ui/core/qunit/{MasterDetail.qunit.js → MasterDetail_legacyAPIs.qunit.js} +0 -0
- /package/test/sap/ui/core/qunit/odata/{ODataModel.qunit.js → ODataModel_legacyAPIs.qunit.js} +0 -0
- /package/test/sap/ui/core/qunit/odata/{ODataSharedMetadata.qunit.js → ODataSharedMetadata_legacyAPIs.qunit.js} +0 -0
- /package/test/sap/ui/core/qunit/odata/{ODataTreeBinding.qunit.js → ODataTreeBinding_legacyAPIs.qunit.js} +0 -0
|
@@ -384,12 +384,10 @@ sap.ui.define([
|
|
|
384
384
|
"@odata.etag" : sEtag
|
|
385
385
|
}, {}],
|
|
386
386
|
fnCallback = this.spy(),
|
|
387
|
-
oCountExpectation,
|
|
388
387
|
oDeleted = {index : "~insert~"},
|
|
389
388
|
oError = new Error(""),
|
|
390
389
|
oGroupLock = {getGroupId : function () {}},
|
|
391
390
|
oHelperMock = this.mock(_Helper),
|
|
392
|
-
oIndexExpectation,
|
|
393
391
|
oMessage1 = {code : "CODE1"},
|
|
394
392
|
oMessage2 = {code : "CODE2", persistent : true},
|
|
395
393
|
oMessageExpectation,
|
|
@@ -398,14 +396,12 @@ sap.ui.define([
|
|
|
398
396
|
oPromise,
|
|
399
397
|
oRequestExpectation,
|
|
400
398
|
oRequestPromise,
|
|
401
|
-
|
|
399
|
+
oRestoreExpectation,
|
|
402
400
|
bSuccess = oFixture.iStatus === 200 || oFixture.iStatus === 404;
|
|
403
401
|
|
|
404
402
|
function checkCleanedUp() {
|
|
405
403
|
assert.notOk("@$ui5.context.isDeleted" in aCacheData[1]);
|
|
406
404
|
assert.deepEqual(aCacheData.$deleted, ["a", "b", "c"]);
|
|
407
|
-
assert.strictEqual(aCacheData.$created, oFixture.bCreated ? 2 : 1);
|
|
408
|
-
assert.strictEqual(oCache.iActiveElements, oFixture.bCreated && !sPath ? 2 : 1);
|
|
409
405
|
if (oFixture.bInactive) {
|
|
410
406
|
sinon.assert.calledOnceWithExactly(fnCallback, 1, -1);
|
|
411
407
|
} else {
|
|
@@ -427,16 +423,12 @@ sap.ui.define([
|
|
|
427
423
|
.exactly(oFixture.bMessagesToRestore ? 1 : 0)
|
|
428
424
|
.withExactArgs(undefined, oFixture.iStatus < 0
|
|
429
425
|
? [oMessage1, oMessage2] : [oMessage1]);
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
oSpliceExpectation = that.mock(aCacheData).expects("splice").exactly(iOnFailure)
|
|
437
|
-
.withExactArgs("~insert~", 0, sinon.match.same(aCacheData[1]));
|
|
438
|
-
oIndexExpectation = that.mock(oCache).expects("adjustIndexes").exactly(iOnFailure)
|
|
439
|
-
.withExactArgs(sPath, sinon.match.same(aCacheData), "~insert~", 1, 2);
|
|
426
|
+
oRestoreExpectation = that.mock(oCache).expects("restoreElement").exactly(iOnFailure)
|
|
427
|
+
.withExactArgs(sinon.match.same(aCacheData), "~insert~",
|
|
428
|
+
sinon.match.same(aCacheData[1]), sPath, 2)
|
|
429
|
+
.callsFake(() => {
|
|
430
|
+
assert.deepEqual(aCacheData.$deleted.length, 4);
|
|
431
|
+
});
|
|
440
432
|
if (oFixture.iStatus !== 200) {
|
|
441
433
|
if (oFixture.iStatus < 0) { // simulate the cancel
|
|
442
434
|
oError.canceled = true;
|
|
@@ -445,9 +437,7 @@ sap.ui.define([
|
|
|
445
437
|
oRequestExpectation.args[0][6]();
|
|
446
438
|
|
|
447
439
|
assert.strictEqual(oMessageExpectation.called, !!oFixture.bMessagesToRestore);
|
|
448
|
-
assert.ok(
|
|
449
|
-
assert.ok(oSpliceExpectation.called);
|
|
450
|
-
assert.ok(oIndexExpectation.called);
|
|
440
|
+
assert.ok(oRestoreExpectation.called);
|
|
451
441
|
checkCleanedUp();
|
|
452
442
|
}
|
|
453
443
|
throw oError;
|
|
@@ -462,9 +452,6 @@ sap.ui.define([
|
|
|
462
452
|
this.mock(oCache).expects("fetchValue")
|
|
463
453
|
.withExactArgs(sinon.match.same(_GroupLock.$cached), sPath)
|
|
464
454
|
.returns(SyncPromise.resolve(aCacheData));
|
|
465
|
-
this.mock(_Cache).expects("from$skip")
|
|
466
|
-
.withExactArgs(oFixture.bCreated ? "-1" : "0", sinon.match.same(aCacheData))
|
|
467
|
-
.returns(1);
|
|
468
455
|
oError.status = oFixture.iStatus;
|
|
469
456
|
oHelperMock.expects("getPrivateAnnotation")
|
|
470
457
|
.withExactArgs(aCacheData[1], "predicate").callThrough();
|
|
@@ -507,9 +494,8 @@ sap.ui.define([
|
|
|
507
494
|
sinon.match.same(oRequestPromise));
|
|
508
495
|
|
|
509
496
|
// code under test
|
|
510
|
-
oPromise = oCache._delete(oGroupLock, "Equipments('1')",
|
|
511
|
-
|
|
512
|
-
fnCallback);
|
|
497
|
+
oPromise = oCache._delete(oGroupLock, "Equipments('1')", (sPath && sPath + "/") + "1",
|
|
498
|
+
oFixture.oEntity, fnCallback);
|
|
513
499
|
|
|
514
500
|
assert.strictEqual(aCacheData[1]["@$ui5.context.isDeleted"], true);
|
|
515
501
|
sinon.assert.calledOnceWithExactly(fnCallback, 1, -1);
|
|
@@ -605,8 +591,7 @@ sap.ui.define([
|
|
|
605
591
|
};
|
|
606
592
|
|
|
607
593
|
oCache.fetchValue = function () {};
|
|
608
|
-
|
|
609
|
-
this.mock(_Helper).expects("setCount").never();
|
|
594
|
+
this.mock(oCache).expects("restoreElement").never();
|
|
610
595
|
this.mock(oCache).expects("fetchValue")
|
|
611
596
|
.withExactArgs(sinon.match.same(_GroupLock.$cached), "")
|
|
612
597
|
.returns(SyncPromise.resolve(aCacheData));
|
|
@@ -670,9 +655,6 @@ sap.ui.define([
|
|
|
670
655
|
this.mock(oCache).expects("fetchValue")
|
|
671
656
|
.withExactArgs(sinon.match.same(_GroupLock.$cached), "EMPLOYEE_2_EQUIPMENTS")
|
|
672
657
|
.returns(SyncPromise.resolve(aCacheData));
|
|
673
|
-
this.mock(_Cache).expects("from$skip")
|
|
674
|
-
.withExactArgs("1", sinon.match.same(aCacheData))
|
|
675
|
-
.returns(1);
|
|
676
658
|
// not interested in buildQueryString
|
|
677
659
|
this.oRequestorMock.expects("request").never();
|
|
678
660
|
this.mock(oCache).expects("requestCount").never();
|
|
@@ -721,8 +703,6 @@ sap.ui.define([
|
|
|
721
703
|
this.mock(oCache).expects("fetchValue")
|
|
722
704
|
.withExactArgs(sinon.match.same(_GroupLock.$cached), "SO_2_SOITEM")
|
|
723
705
|
.returns(SyncPromise.resolve(aElements));
|
|
724
|
-
this.mock(_Cache).expects("from$skip").withExactArgs("-1", sinon.match.same(aElements))
|
|
725
|
-
.returns(1);
|
|
726
706
|
oHelperMock.expects("getPrivateAnnotation")
|
|
727
707
|
.withExactArgs(sinon.match.same(oElement), "predicate").returns("n/a");
|
|
728
708
|
oHelperMock.expects("getPrivateAnnotation")
|
|
@@ -738,7 +718,7 @@ sap.ui.define([
|
|
|
738
718
|
.withExactArgs(sinon.match.same(oElement), "Deleted from deep create");
|
|
739
719
|
|
|
740
720
|
// code under test
|
|
741
|
-
oPromise = oCache._delete(oGroupLock, undefined, "SO_2_SOITEM
|
|
721
|
+
oPromise = oCache._delete(oGroupLock, undefined, "SO_2_SOITEM/1", null, fnCallback);
|
|
742
722
|
|
|
743
723
|
assert.strictEqual(oPromise.getResult(), undefined);
|
|
744
724
|
assert.deepEqual(aPostBodyCollection, ["~a~", "~c~"]);
|
|
@@ -997,6 +977,36 @@ sap.ui.define([
|
|
|
997
977
|
assert.deepEqual(aCacheData.$byPredicate, {"('2')" : aCacheData[0]});
|
|
998
978
|
});
|
|
999
979
|
|
|
980
|
+
//*********************************************************************************************
|
|
981
|
+
["", "~path~"].forEach(function (sPath) {
|
|
982
|
+
[false, true].forEach(function (bTransient) {
|
|
983
|
+
QUnit.test(`_Cache#restoreElement, path=${sPath}, transient=${bTransient}`, function (assert) {
|
|
984
|
+
const oCache = new _Cache(this.oRequestor, "TEAMS");
|
|
985
|
+
oCache.iLimit = 234;
|
|
986
|
+
oCache.iActiveElements = 1;
|
|
987
|
+
const aElements = [];
|
|
988
|
+
aElements.$created = 2;
|
|
989
|
+
|
|
990
|
+
this.mock(oCache).expects("adjustIndexes")
|
|
991
|
+
.withExactArgs(sPath, sinon.match.same(aElements), 42, 1, "~iDeletedIndex~");
|
|
992
|
+
this.mock(_Helper).expects("getPrivateAnnotation")
|
|
993
|
+
.withExactArgs("~oElement~", "transientPredicate")
|
|
994
|
+
.returns(bTransient ? "($uid=id-1-23)" : undefined);
|
|
995
|
+
this.mock(_Helper).expects("addToCount")
|
|
996
|
+
.withExactArgs(sinon.match.same(oCache.mChangeListeners), sPath,
|
|
997
|
+
sinon.match.same(aElements), 1);
|
|
998
|
+
this.mock(aElements).expects("splice").withExactArgs(42, 0, "~oElement~");
|
|
999
|
+
|
|
1000
|
+
// code under test
|
|
1001
|
+
oCache.restoreElement(aElements, 42, "~oElement~", sPath, "~iDeletedIndex~");
|
|
1002
|
+
|
|
1003
|
+
assert.strictEqual(oCache.iLimit, bTransient || sPath ? 234 : 235);
|
|
1004
|
+
assert.strictEqual(aElements.$created, bTransient ? 3 : 2);
|
|
1005
|
+
assert.strictEqual(oCache.iActiveElements, bTransient && !sPath ? 2 : 1);
|
|
1006
|
+
});
|
|
1007
|
+
});
|
|
1008
|
+
});
|
|
1009
|
+
|
|
1000
1010
|
//*********************************************************************************************
|
|
1001
1011
|
QUnit.test("_Cache#registerChangeListener", function () {
|
|
1002
1012
|
var oCache = new _Cache(this.oRequestor, "TEAMS");
|
|
@@ -5605,6 +5615,13 @@ sap.ui.define([
|
|
|
5605
5615
|
"insert a created entity at the end: only non-created entities move");
|
|
5606
5616
|
});
|
|
5607
5617
|
|
|
5618
|
+
//*********************************************************************************************
|
|
5619
|
+
QUnit.test("Cache#adjustIndexes: no path and no aReadRequests", function () {
|
|
5620
|
+
const oCache = new _Cache(this.oRequestor, "Employees"); // would be an _AggregationCache
|
|
5621
|
+
|
|
5622
|
+
oCache.adjustIndexes("", [], 1);
|
|
5623
|
+
});
|
|
5624
|
+
|
|
5608
5625
|
//*********************************************************************************************
|
|
5609
5626
|
[false, true].forEach(function (bSharedRequest) {
|
|
5610
5627
|
QUnit.test("CollectionCache: bSharedRequest = " + bSharedRequest, function (assert) {
|
|
@@ -8037,6 +8054,7 @@ sap.ui.define([
|
|
|
8037
8054
|
QUnit.test("CollectionCache#read: $count & create, bInactive=" + bInactive, function (assert) {
|
|
8038
8055
|
var sResourcePath = "Employees",
|
|
8039
8056
|
oCache = this.createCache(sResourcePath),
|
|
8057
|
+
fnCancelCallback = sinon.spy(),
|
|
8040
8058
|
iCountAfterCreate = bInactive ? 26 : 27,
|
|
8041
8059
|
oCountChangeListener = {onChange : function () {}},
|
|
8042
8060
|
oCountChangeListenerMock = this.mock(oCountChangeListener),
|
|
@@ -8069,7 +8087,8 @@ sap.ui.define([
|
|
|
8069
8087
|
oCache.registerChangeListener("$count", oCountChangeListener);
|
|
8070
8088
|
|
|
8071
8089
|
return oCache.create(oGroupLock, SyncPromise.resolve("Employees"), "",
|
|
8072
|
-
sTransientPredicate, {},
|
|
8090
|
+
sTransientPredicate, {}, false, null, function fnSubmitCallback() {},
|
|
8091
|
+
fnCancelCallback);
|
|
8073
8092
|
})
|
|
8074
8093
|
.then(function () {
|
|
8075
8094
|
var oReadGroupLock = {
|
|
@@ -8086,8 +8105,14 @@ sap.ui.define([
|
|
|
8086
8105
|
assert.strictEqual(oCache.iActiveElements, bInactive ? 0 : 1);
|
|
8087
8106
|
|
|
8088
8107
|
oCountChangeListenerMock.expects("onChange").exactly(bInactive ? 0 : 1)
|
|
8089
|
-
.withExactArgs(26, undefined)
|
|
8090
|
-
|
|
8108
|
+
.withExactArgs(26, undefined)
|
|
8109
|
+
.callsFake(function () {
|
|
8110
|
+
assert.strictEqual(fnCancelCallback.callCount, 0, "not yet");
|
|
8111
|
+
});
|
|
8112
|
+
that.mock(oGroupLock).expects("cancel").withExactArgs()
|
|
8113
|
+
.callsFake(function () {
|
|
8114
|
+
assert.strictEqual(fnCancelCallback.callCount, 1);
|
|
8115
|
+
});
|
|
8091
8116
|
|
|
8092
8117
|
// code under test - cancel the create
|
|
8093
8118
|
oPostRequest.args[0][6]();
|
|
@@ -8552,7 +8577,7 @@ sap.ui.define([
|
|
|
8552
8577
|
|
|
8553
8578
|
// code under test
|
|
8554
8579
|
oCache._delete(null, "TEAMS('0')/TEAM_2_EMPLOYEES",
|
|
8555
|
-
sPathInCache + "
|
|
8580
|
+
sPathInCache + "/1", //TODO sPathInCache + sTransientPredicate
|
|
8556
8581
|
null, false, fnDeleteCallback);
|
|
8557
8582
|
|
|
8558
8583
|
assert.strictEqual(aCollection.$count, 41);
|
|
@@ -8973,7 +8998,7 @@ sap.ui.define([
|
|
|
8973
8998
|
"No 'update' allowed while waiting for server response",
|
|
8974
8999
|
oError.message);
|
|
8975
9000
|
});
|
|
8976
|
-
oCache._delete(oDeleteGroupLock, "n/a", /*TODO sTransientPredicate*/"
|
|
9001
|
+
oCache._delete(oDeleteGroupLock, "n/a", /*TODO sTransientPredicate*/"0")
|
|
8977
9002
|
.then(function () {
|
|
8978
9003
|
assert.ok(false, "unexpected success - _delete");
|
|
8979
9004
|
}, function (oError) {
|
|
@@ -9182,6 +9207,9 @@ sap.ui.define([
|
|
|
9182
9207
|
that.oRequestorMock.expects("relocate")
|
|
9183
9208
|
.withExactArgs(sParkedGroupId, sinon.match.same(oPostBody), sUpdateGroupId);
|
|
9184
9209
|
|
|
9210
|
+
if (oFixture.createGroupId === "$inactive.$auto") {
|
|
9211
|
+
oCache.setInactive(sTransientPredicate, false); // activate
|
|
9212
|
+
}
|
|
9185
9213
|
// code under test - first update -> relocate
|
|
9186
9214
|
aPromises.push(oCache.update(oGroupLock1, "Name", "John Doe", that.spy(), "n/a",
|
|
9187
9215
|
sTransientPredicate));
|
|
@@ -9202,15 +9230,9 @@ sap.ui.define([
|
|
|
9202
9230
|
//*********************************************************************************************
|
|
9203
9231
|
//TODO move to _Cache!
|
|
9204
9232
|
[false, true].forEach(function (bInactive) {
|
|
9205
|
-
[false, true].forEach(function (
|
|
9206
|
-
|
|
9207
|
-
|
|
9208
|
-
+ bInactive + ", bStayInactive= " + bStayInactive + ", bAtEndOfCreated="
|
|
9209
|
-
+ bAtEndOfCreated;
|
|
9210
|
-
|
|
9211
|
-
if (!bInactive && bStayInactive) {
|
|
9212
|
-
return;
|
|
9213
|
-
}
|
|
9233
|
+
[false, true].forEach(function (bAtEndOfCreated) {
|
|
9234
|
+
var sTitle = "CollectionCache: create entity without initial data, bInactive="
|
|
9235
|
+
+ bInactive + ", bAtEndOfCreated=" + bAtEndOfCreated;
|
|
9214
9236
|
|
|
9215
9237
|
QUnit.test(sTitle, function (assert) {
|
|
9216
9238
|
var oCache = _Cache.create(this.oRequestor, "Employees"),
|
|
@@ -9277,27 +9299,13 @@ sap.ui.define([
|
|
|
9277
9299
|
}
|
|
9278
9300
|
|
|
9279
9301
|
this.mock(oUpdateGroupLock).expects("getGroupId").withExactArgs().returns("updateGroup");
|
|
9280
|
-
oHelperMock.expects("updateAll").exactly(bStayInactive ? 1 : 0)
|
|
9281
|
-
.withExactArgs(sinon.match.same(oCache.mChangeListeners), sTransientPredicate,
|
|
9282
|
-
sinon.match.same(oCache.aElements[bAtEndOfCreated ? 1 : 0]),
|
|
9283
|
-
{"@$ui5.context.isInactive" : 1}).callThrough();
|
|
9284
|
-
this.oRequestorMock.expects("relocate").exactly(bInactive && !bStayInactive ? 1 : 0)
|
|
9285
|
-
.withExactArgs("$inactive.updateGroup",
|
|
9286
|
-
sinon.match.same(oCache.aElements[bAtEndOfCreated ? 1 : 0]["@$ui5._"].postBody),
|
|
9287
|
-
"updateGroup");
|
|
9288
9302
|
oHelperMock.expects("updateAll")
|
|
9289
9303
|
.withExactArgs({}, sTransientPredicate, sinon.match.object, {Name : "foo"});
|
|
9290
|
-
this.mock(oCountChangeListener).expects("onChange")
|
|
9291
|
-
.exactly(bInactive && !bStayInactive ? 1 : 0)
|
|
9292
|
-
.withExactArgs(43, undefined);
|
|
9293
9304
|
oCache.registerChangeListener("$count", oCountChangeListener);
|
|
9294
9305
|
oHelperMock.expects("updateAll")
|
|
9295
9306
|
.withExactArgs(sinon.match.same(oCache.mChangeListeners), sTransientPredicate,
|
|
9296
|
-
sinon.match.same(oCache.aElements[bAtEndOfCreated ? 1 : 0]),
|
|
9297
|
-
|
|
9298
|
-
? {Name : "foo", "@$ui5.context.isInactive" : false}
|
|
9299
|
-
: {Name : "foo"}
|
|
9300
|
-
).callThrough();
|
|
9307
|
+
sinon.match.same(oCache.aElements[bAtEndOfCreated ? 1 : 0]), {Name : "foo"})
|
|
9308
|
+
.callThrough();
|
|
9301
9309
|
oHelperMock.expects("updateSelected")
|
|
9302
9310
|
.withExactArgs(sinon.match.same(oCache.mChangeListeners), sTransientPredicate,
|
|
9303
9311
|
sinon.match.same(oCache.aElements[bAtEndOfCreated ? 1 : 0]),
|
|
@@ -9310,29 +9318,20 @@ sap.ui.define([
|
|
|
9310
9318
|
this.mock(oUpdateGroupLock).expects("unlock").withExactArgs();
|
|
9311
9319
|
|
|
9312
9320
|
// code under test
|
|
9313
|
-
oCache.update(oUpdateGroupLock, "Name", "foo", this.spy(), undefined, sTransientPredicate
|
|
9314
|
-
undefined, undefined, undefined, undefined, bStayInactive);
|
|
9321
|
+
oCache.update(oUpdateGroupLock, "Name", "foo", this.spy(), undefined, sTransientPredicate);
|
|
9315
9322
|
|
|
9316
9323
|
assert.strictEqual(oCache.aElements[bAtEndOfCreated ? 1 : 0]["@$ui5._"].transient,
|
|
9317
|
-
|
|
9318
|
-
|
|
9319
|
-
|
|
9320
|
-
|
|
9321
|
-
|
|
9322
|
-
|
|
9323
|
-
|
|
9324
|
-
|
|
9325
|
-
bStayInactive ? 1 : false, "isInactive");
|
|
9326
|
-
assert.strictEqual(oCache.iActiveElements, bStayInactive ? 0 : 1);
|
|
9327
|
-
} else {
|
|
9328
|
-
assert.strictEqual(
|
|
9329
|
-
oCache.aElements[bAtEndOfCreated ? 1 : 0]["@$ui5.context.isInactive"], undefined);
|
|
9330
|
-
assert.strictEqual(oCache.iActiveElements, 1);
|
|
9331
|
-
}
|
|
9324
|
+
bInactive ? "$inactive.updateGroup" : "updateGroup");
|
|
9325
|
+
assert.strictEqual(
|
|
9326
|
+
_Helper.hasPrivateAnnotation(oCache.aElements[bAtEndOfCreated ? 1 : 0],
|
|
9327
|
+
"initialData"), bInactive);
|
|
9328
|
+
assert.strictEqual(
|
|
9329
|
+
oCache.aElements[bAtEndOfCreated ? 1 : 0]["@$ui5.context.isInactive"],
|
|
9330
|
+
bInactive ? true : undefined, "isInactive");
|
|
9331
|
+
assert.strictEqual(oCache.iActiveElements, bInactive ? 0 : 1);
|
|
9332
9332
|
|
|
9333
9333
|
return oPromise;
|
|
9334
9334
|
});
|
|
9335
|
-
});
|
|
9336
9335
|
});
|
|
9337
9336
|
});
|
|
9338
9337
|
|
|
@@ -9644,7 +9643,7 @@ sap.ui.define([
|
|
|
9644
9643
|
|
|
9645
9644
|
// code under test
|
|
9646
9645
|
oDeletePromise = oCache._delete(null, "n/a",
|
|
9647
|
-
/*TODO sTransientPredicate*/"
|
|
9646
|
+
/*TODO sTransientPredicate*/"0", null, false, function () {
|
|
9648
9647
|
throw new Error();
|
|
9649
9648
|
});
|
|
9650
9649
|
|
|
@@ -9727,7 +9726,7 @@ sap.ui.define([
|
|
|
9727
9726
|
.returns(Promise.resolve());
|
|
9728
9727
|
|
|
9729
9728
|
// code under test
|
|
9730
|
-
return oCache._delete(oDeleteGroupLock, sEditUrl, /*TODO sTransientPredicate*/"
|
|
9729
|
+
return oCache._delete(oDeleteGroupLock, sEditUrl, /*TODO sTransientPredicate*/"0",
|
|
9731
9730
|
null, fnCallback)
|
|
9732
9731
|
.then(function () {
|
|
9733
9732
|
sinon.assert.calledOnceWithExactly(fnCallback, 0, -1);
|
|
@@ -10685,6 +10684,40 @@ sap.ui.define([
|
|
|
10685
10684
|
assert.strictEqual(oCache.isDeletingInOtherGroup("group"), true);
|
|
10686
10685
|
});
|
|
10687
10686
|
|
|
10687
|
+
//*********************************************************************************************
|
|
10688
|
+
[false, 1].forEach(function (bInactive) {
|
|
10689
|
+
QUnit.test(`CollectionCache#setInactive(${bInactive})`, function (assert) {
|
|
10690
|
+
const iActivateCount = bInactive ? 0 : 1;
|
|
10691
|
+
const oCache = this.createCache("Employees");
|
|
10692
|
+
oCache.iActiveElements = 42;
|
|
10693
|
+
this.mock(oCache).expects("getValue").withExactArgs("($uid=id-1-23)").returns("~oElement~");
|
|
10694
|
+
this.mock(_Helper).expects("updateAll")
|
|
10695
|
+
.withExactArgs(sinon.match.same(oCache.mChangeListeners), "($uid=id-1-23)",
|
|
10696
|
+
"~oElement~", {"@$ui5.context.isInactive" : bInactive});
|
|
10697
|
+
this.mock(_Helper).expects("deletePrivateAnnotation").exactly(iActivateCount)
|
|
10698
|
+
.withExactArgs("~oElement~", "initialData");
|
|
10699
|
+
this.mock(_Helper).expects("addToCount").exactly(iActivateCount)
|
|
10700
|
+
.withExactArgs(sinon.match.same(oCache.mChangeListeners), "",
|
|
10701
|
+
sinon.match.same(oCache.aElements), 1);
|
|
10702
|
+
|
|
10703
|
+
// code under test
|
|
10704
|
+
oCache.setInactive("($uid=id-1-23)", bInactive);
|
|
10705
|
+
|
|
10706
|
+
assert.strictEqual(oCache.iActiveElements, bInactive ? 42 : 43);
|
|
10707
|
+
});
|
|
10708
|
+
});
|
|
10709
|
+
|
|
10710
|
+
//*********************************************************************************************
|
|
10711
|
+
QUnit.test("CollectionCache#setEmpty", function (assert) {
|
|
10712
|
+
const oCache = this.createCache("Employees");
|
|
10713
|
+
|
|
10714
|
+
// code under test
|
|
10715
|
+
oCache.setEmpty();
|
|
10716
|
+
|
|
10717
|
+
assert.strictEqual(oCache.aElements.$count, 0);
|
|
10718
|
+
assert.strictEqual(oCache.iLimit, 0);
|
|
10719
|
+
});
|
|
10720
|
+
|
|
10688
10721
|
//*********************************************************************************************
|
|
10689
10722
|
QUnit.test("SingleCache", function (assert) {
|
|
10690
10723
|
var oCache,
|
|
@@ -2009,6 +2009,16 @@ sap.ui.define([
|
|
|
2009
2009
|
"/service/Foo('1')/Bar(baz='2',qux=3)");
|
|
2010
2010
|
});
|
|
2011
2011
|
|
|
2012
|
+
//*********************************************************************************************
|
|
2013
|
+
QUnit.test("makeRelativeUrl", function (assert) {
|
|
2014
|
+
assert.strictEqual(_Helper.makeRelativeUrl("/foo/baz", "/foo/bar"), "baz");
|
|
2015
|
+
assert.strictEqual(_Helper.makeRelativeUrl("/foo/bar/qux", "/foo/baz"), "bar/qux");
|
|
2016
|
+
assert.strictEqual(_Helper.makeRelativeUrl("/foo/baz", "/foo/bar/qux"), "../baz");
|
|
2017
|
+
assert.strictEqual(
|
|
2018
|
+
_Helper.makeRelativeUrl("/Bar(baz='2',qux=3)", "/Foo"),
|
|
2019
|
+
"Bar(baz='2',qux=3)");
|
|
2020
|
+
});
|
|
2021
|
+
|
|
2012
2022
|
//*********************************************************************************************
|
|
2013
2023
|
QUnit.test("drillDown", function (assert) {
|
|
2014
2024
|
var oObject = {
|
|
@@ -5465,8 +5465,15 @@ sap.ui.define([
|
|
|
5465
5465
|
});
|
|
5466
5466
|
|
|
5467
5467
|
//*****************************************************************************************
|
|
5468
|
-
|
|
5469
|
-
|
|
5468
|
+
[false, true, undefined].forEach((bEnabled) => { // undefined -> no enabler assigned
|
|
5469
|
+
[false, true].forEach((bCacheManagerRejects) => {
|
|
5470
|
+
const sTitle = `processOptimisticBatch: n+1 start, optimistic batch matches,
|
|
5471
|
+
enabler=${bEnabled}, del rejects=${bCacheManagerRejects}`;
|
|
5472
|
+
QUnit.test(sTitle, function (assert) {
|
|
5473
|
+
var done = assert.async(),
|
|
5474
|
+
oError = new Error("CacheManager.del rejected"),
|
|
5475
|
+
iGetReporterCount,
|
|
5476
|
+
sKey = window.location.href,
|
|
5470
5477
|
oOptimisticBatch = {
|
|
5471
5478
|
firstBatch : {
|
|
5472
5479
|
requests : "~optimisticRequests~",
|
|
@@ -5475,26 +5482,108 @@ sap.ui.define([
|
|
|
5475
5482
|
key : sKey,
|
|
5476
5483
|
result : "~optimisticBatchResult~"
|
|
5477
5484
|
},
|
|
5478
|
-
|
|
5485
|
+
fnEnabler = bEnabled === undefined ? undefined : sinon.stub().resolves(bEnabled),
|
|
5486
|
+
oRequestor = _Requestor.create("/", oModelInterface),
|
|
5487
|
+
fnReporter = function (oError0) {
|
|
5488
|
+
assert.strictEqual(oError0, oError);
|
|
5489
|
+
done();
|
|
5490
|
+
};
|
|
5491
|
+
|
|
5492
|
+
if (bEnabled) {
|
|
5493
|
+
iGetReporterCount = 1;
|
|
5494
|
+
} else {
|
|
5495
|
+
iGetReporterCount = bEnabled !== undefined ? 1 : 0;
|
|
5496
|
+
}
|
|
5479
5497
|
|
|
5480
5498
|
oRequestor.oOptimisticBatch = oOptimisticBatch;
|
|
5499
|
+
|
|
5481
5500
|
this.mock(_Requestor).expects("matchesOptimisticBatch")
|
|
5482
5501
|
.withExactArgs("~requests~", "~group~", "~optimisticRequests~", "~optimisticGroup~")
|
|
5483
5502
|
.returns(true);
|
|
5503
|
+
|
|
5504
|
+
this.mock(oModelInterface).expects("getOptimisticBatchEnabler").returns(fnEnabler);
|
|
5505
|
+
this.mock(oModelInterface).expects("getReporter").exactly(iGetReporterCount)
|
|
5506
|
+
.withExactArgs().returns(fnReporter);
|
|
5507
|
+
if (bEnabled === false) {
|
|
5508
|
+
if (bCacheManagerRejects) {
|
|
5509
|
+
this.mock(CacheManager).expects("del")
|
|
5510
|
+
.withExactArgs("sap.ui.model.odata.v4.optimisticBatch:" + sKey).rejects(oError);
|
|
5511
|
+
} else {
|
|
5512
|
+
this.mock(CacheManager).expects("del")
|
|
5513
|
+
.withExactArgs("sap.ui.model.odata.v4.optimisticBatch:" + sKey).resolves();
|
|
5514
|
+
this.oLogMock.expects("info")
|
|
5515
|
+
.withExactArgs("optimistic batch: disabled, response deleted", sKey,
|
|
5516
|
+
sClassName);
|
|
5517
|
+
done();
|
|
5518
|
+
}
|
|
5519
|
+
}
|
|
5484
5520
|
this.oLogMock.expects("info")
|
|
5485
5521
|
.withExactArgs("optimistic batch: success, response consumed", sKey, sClassName);
|
|
5486
5522
|
this.mock(CacheManager).expects("set").never();
|
|
5487
|
-
this.mock(oModelInterface).expects("getOptimisticBatchEnabler").never();
|
|
5488
5523
|
|
|
5489
5524
|
// code under test
|
|
5490
5525
|
assert.strictEqual(oRequestor.processOptimisticBatch("~requests~", "~group~"),
|
|
5491
5526
|
"~optimisticBatchResult~");
|
|
5492
5527
|
|
|
5493
5528
|
assert.strictEqual(oRequestor.oOptimisticBatch, null);
|
|
5529
|
+
|
|
5530
|
+
if (bEnabled !== undefined) {
|
|
5531
|
+
assert.strictEqual(fnEnabler.calledOnce, true);
|
|
5532
|
+
}
|
|
5533
|
+
if (bEnabled !== false) {
|
|
5534
|
+
done();
|
|
5535
|
+
}
|
|
5536
|
+
});
|
|
5537
|
+
});
|
|
5538
|
+
});
|
|
5539
|
+
|
|
5540
|
+
//*****************************************************************************************
|
|
5541
|
+
const sTitle = "processOptimisticBatch: n+1 start, optimistic batch matches, enabler rejects";
|
|
5542
|
+
QUnit.test(sTitle, function (assert) {
|
|
5543
|
+
var oError = new Error("Enabler rejects"),
|
|
5544
|
+
sKey = window.location.href,
|
|
5545
|
+
oOptimisticBatch = {
|
|
5546
|
+
firstBatch : {
|
|
5547
|
+
requests : "~optimisticRequests~",
|
|
5548
|
+
groupId : "~optimisticGroup~"
|
|
5549
|
+
},
|
|
5550
|
+
key : sKey,
|
|
5551
|
+
result : "~optimisticBatchResult~"
|
|
5552
|
+
},
|
|
5553
|
+
fnEnabler = sinon.stub().rejects(oError),
|
|
5554
|
+
oRequestor = _Requestor.create("/", oModelInterface),
|
|
5555
|
+
fnReporter = function (oError0) {
|
|
5556
|
+
assert.strictEqual(oError0, oError);
|
|
5557
|
+
};
|
|
5558
|
+
|
|
5559
|
+
oRequestor.oOptimisticBatch = oOptimisticBatch;
|
|
5560
|
+
|
|
5561
|
+
this.mock(_Requestor).expects("matchesOptimisticBatch")
|
|
5562
|
+
.withExactArgs("~requests~", "~group~", "~optimisticRequests~", "~optimisticGroup~")
|
|
5563
|
+
.returns(true);
|
|
5564
|
+
|
|
5565
|
+
this.mock(oModelInterface).expects("getOptimisticBatchEnabler").returns(fnEnabler);
|
|
5566
|
+
this.mock(oModelInterface).expects("getReporter").withExactArgs().returns(fnReporter);
|
|
5567
|
+
|
|
5568
|
+
this.oLogMock.expects("info")
|
|
5569
|
+
.withExactArgs("optimistic batch: disabled, response deleted", sKey, sClassName)
|
|
5570
|
+
.never();
|
|
5571
|
+
this.oLogMock.expects("info")
|
|
5572
|
+
.withExactArgs("optimistic batch: success, response consumed", sKey, sClassName);
|
|
5573
|
+
this.mock(CacheManager).expects("set").never();
|
|
5574
|
+
this.mock(CacheManager).expects("del").never();
|
|
5575
|
+
|
|
5576
|
+
// code under test
|
|
5577
|
+
assert.strictEqual(oRequestor.processOptimisticBatch("~requests~", "~group~"),
|
|
5578
|
+
"~optimisticBatchResult~");
|
|
5579
|
+
|
|
5580
|
+
assert.strictEqual(fnEnabler.calledOnce, true);
|
|
5494
5581
|
});
|
|
5495
5582
|
|
|
5496
5583
|
//*****************************************************************************************
|
|
5497
|
-
|
|
5584
|
+
[false, true].forEach((bRejects) => {
|
|
5585
|
+
const sTitle = `processOptimisticBatch: mismatch, CacheManager.del rejects=${bRejects}`;
|
|
5586
|
+
QUnit.test(sTitle, function (assert) {
|
|
5498
5587
|
// Note: this test covers also the successful CacheManager.del case
|
|
5499
5588
|
var oCacheManagerMock = this.mock(CacheManager),
|
|
5500
5589
|
done = assert.async(),
|
|
@@ -5519,11 +5608,19 @@ sap.ui.define([
|
|
|
5519
5608
|
this.mock(_Requestor).expects("matchesOptimisticBatch")
|
|
5520
5609
|
.withExactArgs("~requests~", "~group~", "~optimisticRequests~", "~optimisticGroup~")
|
|
5521
5610
|
.returns(false);
|
|
5522
|
-
|
|
5523
|
-
|
|
5524
|
-
|
|
5525
|
-
|
|
5526
|
-
|
|
5611
|
+
|
|
5612
|
+
if (bRejects) {
|
|
5613
|
+
oCacheManagerMock.expects("del")
|
|
5614
|
+
.withExactArgs("sap.ui.model.odata.v4.optimisticBatch:" + sKey)
|
|
5615
|
+
.rejects(oError);
|
|
5616
|
+
} else {
|
|
5617
|
+
oCacheManagerMock.expects("del")
|
|
5618
|
+
.withExactArgs("sap.ui.model.odata.v4.optimisticBatch:" + sKey)
|
|
5619
|
+
.resolves();
|
|
5620
|
+
this.oLogMock.expects("warning")
|
|
5621
|
+
.withExactArgs("optimistic batch: mismatch, response skipped", sKey, sClassName);
|
|
5622
|
+
done();
|
|
5623
|
+
}
|
|
5527
5624
|
oModelInterfaceMock.expects("getReporter")
|
|
5528
5625
|
.withExactArgs()
|
|
5529
5626
|
.returns(fnReporter);
|
|
@@ -5537,6 +5634,7 @@ sap.ui.define([
|
|
|
5537
5634
|
|
|
5538
5635
|
assert.strictEqual(oRequestor.oOptimisticBatch, null);
|
|
5539
5636
|
});
|
|
5637
|
+
});
|
|
5540
5638
|
|
|
5541
5639
|
//*****************************************************************************************
|
|
5542
5640
|
QUnit.test("hasOnlyPatchesWithoutSideEffects", function (assert) {
|
|
@@ -1735,7 +1735,7 @@ sap.ui.define([
|
|
|
1735
1735
|
oRequestor = _Requestor.create("/", oModelInterface, undefined, undefined, "2.0");
|
|
1736
1736
|
|
|
1737
1737
|
// code under test
|
|
1738
|
-
oRequestor.reportHeaderMessages("[]");
|
|
1738
|
+
oRequestor.reportHeaderMessages("resource/path", "[]");
|
|
1739
1739
|
|
|
1740
1740
|
assert.notOk(fnreportTransitionMessages.called);
|
|
1741
1741
|
});
|
|
@@ -4,8 +4,9 @@ sap.ui.define([
|
|
|
4
4
|
"sap/ui/test/Opa5",
|
|
5
5
|
"sap/ui/test/PageObjectFactory",
|
|
6
6
|
"sap/base/Log",
|
|
7
|
-
"./utils/view"
|
|
8
|
-
|
|
7
|
+
"./utils/view",
|
|
8
|
+
"sap/ui/qunit/utils/nextUIUpdate"
|
|
9
|
+
], function (Opa, Opa5, PageObjectFactory, Log, viewUtils, nextUIUpdate) {
|
|
9
10
|
"use strict";
|
|
10
11
|
|
|
11
12
|
// preset some globals to avoid issues with QUnit's 'noglobals' option
|
|
@@ -226,15 +227,13 @@ sap.ui.define([
|
|
|
226
227
|
beforeEach: function (assert) {
|
|
227
228
|
// Note: This test is executed with QUnit 1 and QUnit 2.
|
|
228
229
|
// We therefore cannot rely on the built-in promise handling of QUnit 2.
|
|
229
|
-
|
|
230
|
-
Promise.all([
|
|
230
|
+
return Promise.all([
|
|
231
231
|
viewUtils.createXmlView("foo", "myFooView"),
|
|
232
232
|
viewUtils.createXmlView("bar", "myBarView")
|
|
233
233
|
]).then(function (aViews) {
|
|
234
234
|
this.oView = aViews[0].placeAt("qunit-fixture");
|
|
235
235
|
this.oView2 = aViews[1].placeAt("qunit-fixture");
|
|
236
|
-
|
|
237
|
-
done();
|
|
236
|
+
return nextUIUpdate();
|
|
238
237
|
}.bind(this), function(oErr) {
|
|
239
238
|
assert.strictEqual(oErr, undefined, "failed to load view");
|
|
240
239
|
});
|