@openui5/sap.ui.core 1.117.1 → 1.119.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/.eslintrc.json +9 -0
- package/THIRDPARTY.txt +2 -2
- 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 +58 -40
- package/src/sap/base/i18n/ResourceBundle.js +5 -0
- package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
- package/src/sap/base/util/UriParameters.js +26 -19
- 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/BindingInfo.js +25 -3
- 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 +8 -4
- package/src/sap/ui/base/ManagedObjectMetadata.js +4 -3
- package/src/sap/ui/base/Metadata.js +3 -3
- 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/AccessKeysEnablement.js +2 -2
- 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 +85 -61
- 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 +15 -179
- package/src/sap/ui/core/Control.js +22 -2
- package/src/sap/ui/core/Core.js +223 -128
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/CustomStyleClassSupport.js +3 -3
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +40 -4
- 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 +19 -2
- package/src/sap/ui/core/FocusHandler.js +3 -24
- package/src/sap/ui/core/Fragment.js +2 -2
- 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 +4 -7
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +11 -4
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.js +51 -55
- 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 +4 -4
- package/src/sap/ui/core/Messaging.js +471 -0
- package/src/sap/ui/core/Popup.js +3 -3
- package/src/sap/ui/core/RenderManager.js +15 -10
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/Rendering.js +4 -2
- package/src/sap/ui/core/ResizeHandler.js +15 -23
- 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/ShortcutHintsMixin.js +5 -5
- package/src/sap/ui/core/StashedControlSupport.js +4 -4
- package/src/sap/ui/core/StaticArea.js +66 -74
- package/src/sap/ui/core/Theming.js +99 -39
- 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 +93 -24
- package/src/sap/ui/core/UIComponent.js +2 -2
- 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 +4 -2
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/_IconRegistry.js +3 -1
- package/src/sap/ui/core/boot.js +9 -0
- package/src/sap/ui/core/cache/CacheManager.js +22 -16
- package/src/sap/ui/core/cache/LRUPersistentCache.js +13 -7
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +3 -3
- 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 +6 -6
- package/src/sap/ui/core/dnd/DragInfo.js +4 -4
- package/src/sap/ui/core/dnd/DropInfo.js +6 -6
- 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/getCompatibilityVersion.js +64 -0
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +26 -50
- package/src/sap/ui/core/message/ControlMessageProcessor.js +4 -4
- package/src/sap/ui/core/message/Message.js +14 -13
- package/src/sap/ui/core/message/MessageManager.js +36 -459
- package/src/sap/ui/core/message/MessageMixin.js +5 -5
- 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 +3 -3
- package/src/sap/ui/core/messagebundle_bg.properties +4 -4
- package/src/sap/ui/core/messagebundle_ca.properties +2 -2
- package/src/sap/ui/core/messagebundle_cs.properties +5 -5
- package/src/sap/ui/core/messagebundle_cy.properties +2 -2
- package/src/sap/ui/core/messagebundle_da.properties +4 -4
- package/src/sap/ui/core/messagebundle_de.properties +3 -3
- package/src/sap/ui/core/messagebundle_el.properties +11 -11
- package/src/sap/ui/core/messagebundle_en.properties +4 -4
- package/src/sap/ui/core/messagebundle_es.properties +18 -18
- 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 +2 -2
- package/src/sap/ui/core/messagebundle_fr.properties +22 -22
- package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -1
- package/src/sap/ui/core/messagebundle_hi.properties +3 -3
- package/src/sap/ui/core/messagebundle_hr.properties +7 -7
- package/src/sap/ui/core/messagebundle_hu.properties +11 -11
- package/src/sap/ui/core/messagebundle_id.properties +6 -6
- package/src/sap/ui/core/messagebundle_it.properties +58 -58
- package/src/sap/ui/core/messagebundle_iw.properties +6 -6
- package/src/sap/ui/core/messagebundle_ja.properties +1 -1
- package/src/sap/ui/core/messagebundle_kk.properties +2 -2
- package/src/sap/ui/core/messagebundle_ko.properties +7 -7
- package/src/sap/ui/core/messagebundle_lt.properties +1 -1
- package/src/sap/ui/core/messagebundle_lv.properties +6 -6
- package/src/sap/ui/core/messagebundle_ms.properties +6 -6
- package/src/sap/ui/core/messagebundle_nl.properties +13 -13
- package/src/sap/ui/core/messagebundle_no.properties +9 -9
- package/src/sap/ui/core/messagebundle_pl.properties +3 -3
- package/src/sap/ui/core/messagebundle_pt.properties +9 -9
- package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -1
- package/src/sap/ui/core/messagebundle_ro.properties +3 -3
- package/src/sap/ui/core/messagebundle_ru.properties +8 -8
- package/src/sap/ui/core/messagebundle_sh.properties +1 -1
- package/src/sap/ui/core/messagebundle_sk.properties +3 -3
- package/src/sap/ui/core/messagebundle_sl.properties +10 -10
- package/src/sap/ui/core/messagebundle_sv.properties +1 -1
- package/src/sap/ui/core/messagebundle_th.properties +19 -19
- package/src/sap/ui/core/messagebundle_tr.properties +6 -6
- package/src/sap/ui/core/messagebundle_uk.properties +9 -9
- package/src/sap/ui/core/messagebundle_vi.properties +2 -2
- package/src/sap/ui/core/messagebundle_zh_CN.properties +3 -3
- package/src/sap/ui/core/messagebundle_zh_TW.properties +25 -25
- 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 +3 -3
- 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 +3 -3
- 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/async/Target.js +5 -4
- package/src/sap/ui/core/routing/sync/Route.js +1 -0
- package/src/sap/ui/core/routing/sync/Target.js +3 -3
- package/src/sap/ui/core/rules/App.support.js +30 -1
- package/src/sap/ui/core/rules/Config.support.js +4 -0
- package/src/sap/ui/core/rules/CoreHelper.support.js +3 -3
- package/src/sap/ui/core/rules/Theming.support.js +4 -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 +38 -6
- package/src/sap/ui/core/support/ToolsAPI.js +14 -20
- package/src/sap/ui/core/support/controls/InteractionTree.js +0 -4
- package/src/sap/ui/core/support/plugins/Breakpoint.js +4 -6
- package/src/sap/ui/core/support/plugins/ControlTree.js +40 -24
- 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 +2 -2
- 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 +32 -16
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +8 -6
- package/src/sap/ui/core/support/usage/EventBroadcaster.js +1 -1
- package/src/sap/ui/core/themes/base/base.less +275 -269
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/themes/base/global.less +8 -8
- package/src/sap/ui/core/theming/Parameters.js +4 -5
- package/src/sap/ui/core/theming/ThemeHelper.js +100 -1
- package/src/sap/ui/core/theming/ThemeManager.js +32 -31
- 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 +4 -2
- 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/reflection/BaseTreeModifier.js +27 -4
- package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +55 -30
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +54 -48
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +2 -2
- package/src/sap/ui/core/util/serializer/Serializer.js +3 -3
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +27 -10
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +2 -2
- 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 +8 -7
- package/src/sap/ui/debug/DebugEnv.js +18 -9
- package/src/sap/ui/debug/PropertyList.js +3 -3
- package/src/sap/ui/dom/jquery/control.js +3 -4
- package/src/sap/ui/events/F6Navigation.js +2 -1
- package/src/sap/ui/model/Binding.js +6 -6
- package/src/sap/ui/model/ClientModel.js +33 -1
- package/src/sap/ui/model/ClientPropertyBinding.js +20 -4
- 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/Filter.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 +2 -3
- package/src/sap/ui/model/message/MessageModel.js +3 -7
- 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 -2
- 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 +2 -3
- 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 +13 -5
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +108 -59
- package/src/sap/ui/model/odata/v2/ODataModel.js +25 -20
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +33 -6
- package/src/sap/ui/model/odata/v4/Context.js +83 -23
- package/src/sap/ui/model/odata/v4/ODataBinding.js +13 -4
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +162 -33
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +151 -48
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +21 -14
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +4 -2
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +12 -11
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +234 -31
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +3 -5
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +180 -76
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +36 -24
- package/src/sap/ui/model/odata/v4/lib/_Parser.js +3 -0
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +17 -7
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +1 -1
- 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 -2
- package/src/sap/ui/model/type/DateInterval.js +5 -5
- 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 +2 -2
- package/src/sap/ui/model/xml/XMLPropertyBinding.js +4 -2
- package/src/sap/ui/performance/BeaconRequest.js +8 -10
- package/src/sap/ui/performance/trace/Interaction.js +11 -2
- package/src/sap/ui/qunit/qunit-coverage-istanbul.js +60 -6
- 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/qunit/utils/waitForThemeApplied.js +16 -14
- package/src/sap/ui/test/BlanketReporterUI.view.xml +5 -2
- package/src/sap/ui/test/ModuleTracking.js +326 -0
- package/src/sap/ui/test/OpaPlugin.js +3 -3
- package/src/sap/ui/test/TestUtils.js +8 -7
- 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/matchers/Descendant.js +1 -1
- package/src/sap/ui/test/matchers/Sibling.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/_LabelFor.js +3 -2
- package/src/sap/ui/test/selectors/_TableRowItem.js +1 -0
- package/src/sap/ui/test/starter/_setupAndStart.js +35 -11
- 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/HTMLControl.html +94 -93
- package/test/sap/ui/core/HyphenationPlayground.html +10 -9
- 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/Strings.view.xml +5 -1
- package/test/sap/ui/core/ThemeParameters.html +31 -30
- package/test/sap/ui/core/ValidateURL.html +143 -143
- package/test/sap/ui/core/demokit/sample/BusyIndicator/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/Commands/Commands.html +1 -1
- package/test/sap/ui/core/demokit/sample/Commands/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/ControlBusyIndicator/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/ControllerExtension/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/FieldGroup/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/Html/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/Html/preserveDOM/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/Html/static/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/HyphenationAPI/C.controller.js +3 -3
- package/test/sap/ui/core/demokit/sample/Icon/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/InvisibleMessage/InvisibleMessage.controller.js +4 -4
- package/test/sap/ui/core/demokit/sample/InvisibleMessage/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/InvisibleText/manifest.json +2 -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/BasicODataMessages/manifest.json +1 -0
- 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/OpaAction/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/OpaAutoWaitParams.js +1 -1
- package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaById/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaById/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaDynamicWait/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaDynamicWait/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaGetStarted/applicationUnderTest/index.html +9 -6
- package/test/sap/ui/core/demokit/sample/OpaGetStarted/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaMatchers/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaMatchers/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaPageObject/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaPageObject/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyUIComponent/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyUIComponent/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaStaticAreaControls/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaStaticAreaControls/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaTestLibrary/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaTestLibrary/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyAppInAFrameWithURLParameters/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyAppInAFrameWithURLParameters/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyUIComponentWithURLParameters/applicationUnderTest/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyUIComponentWithURLParameters/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/OpaWithSupportAssistant/applicationUnderTest/index.html +13 -10
- package/test/sap/ui/core/demokit/sample/OpaWithSupportAssistant/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/PatternMatching/Patterns.html +11 -8
- package/test/sap/ui/core/demokit/sample/PatternMatching/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/PatternMatching/patternApp/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/RoutingFullscreen/RoutingFullscreen.html +11 -8
- package/test/sap/ui/core/demokit/sample/RoutingFullscreen/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/RoutingMasterDetail.html +11 -8
- package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/RoutingNestedComponent.html +1 -1
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/categories/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/products/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/suppliers/manifest.json +2 -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/TargetsStandalone/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/ThemeCustomClasses/ThemeCustomClasses.controller.js +3 -3
- package/test/sap/ui/core/demokit/sample/ThemeCustomClasses/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeCurrency/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeDateAsDate/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeDateAsString/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeDateTime/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeFileSize/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeFloat/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeInteger/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/TypeTimeAsTime/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/View/async/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/View/preprocessor/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +12 -11
- package/test/sap/ui/core/demokit/sample/XMLComposite/02/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/common/Controller.js +8 -8
- package/test/sap/ui/core/demokit/sample/common/Helper.js +19 -2
- package/test/sap/ui/core/demokit/sample/common/init.js +25 -21
- package/test/sap/ui/core/demokit/sample/common/pages/Any.js +3 -0
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithOPA5/WebsiteCode.js +8 -7
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/applicationUnderTest/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/webapp/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/webapp/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/webapp/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/webapp/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/manifest.json +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +6 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.view.xml +7 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +2 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.view.xml +7 -4
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/expandPageCollapse.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/filter.js +1 -1
- 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 +13 -11
- 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 +13 -14
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +14 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/Component.js +4 -4
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +6 -4
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +6 -2
- 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 +19 -25
- package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/GridTable.view.xml +6 -2
- 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 +89 -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 +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +11 -10
- 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/Main.view.xml +5 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +16 -13
- 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 +12 -11
- 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 +78 -13
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +48 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +379 -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 +24 -23
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +11 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +10 -9
- 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/SalesOrders/pages/Main.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/ChangeContext.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/Create.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/CreateMultiple.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/CreateRelative.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/MessageHandling.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/TypeDeterminationAndDelete.js +8 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/WriteNonDeferredGroup.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/additionalTargets.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.js +9 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/tests/AdaptSalesOrdersTable.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.view.xml +5 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.js +10 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/pages/Main.js +4 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +11 -10
- 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/01/webapp/manifest.json +1 -1
- 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/02/webapp/manifest.json +1 -1
- 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/03/webapp/manifest.json +1 -1
- 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/mockserver/04/webapp/manifest.json +1 -1
- 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/manifest.json +1 -1
- 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/composite/xmlcomposite/exTableWrapperOuterBinding/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 +4 -4
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +6 -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/Main.view.xml +1 -1
- 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 +49 -28
- package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +218 -223
- package/test/sap/ui/core/qunit/Core.qunit.js +39 -34
- package/test/sap/ui/core/qunit/CoreEvents.qunit.js +17 -15
- package/test/sap/ui/core/qunit/Core_libraryTerminologies_integration.qunit.js +12 -11
- package/test/sap/ui/core/qunit/Core_repeatedExecution.qunit.js +3 -3
- package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +122 -119
- package/test/sap/ui/core/qunit/CustomThemeFallback.qunit.js +5 -17
- package/test/sap/ui/core/qunit/Declarative.qunit.js +37 -37
- package/test/sap/ui/core/qunit/Element_base.qunit.js +1 -1
- 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/EventBus.qunit.js +4 -3
- package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +1 -1
- package/test/sap/ui/core/qunit/FastNavigation.qunit.js +3 -2
- package/test/sap/ui/core/qunit/FastNavigationWithWebComponents.qunit.js +5 -5
- package/test/sap/ui/core/qunit/FieldGroup.qunit.js +17 -13
- package/test/sap/ui/core/qunit/FocusHandler.qunit.js +11 -9
- package/test/sap/ui/core/qunit/Fragment.qunit.js +47 -46
- package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +63 -61
- package/test/sap/ui/core/qunit/HTML.qunit.js +67 -67
- package/test/sap/ui/core/qunit/Icon.qunit.js +66 -65
- package/test/sap/ui/core/qunit/IconPool.qunit.js +5 -4
- package/test/sap/ui/core/qunit/InvisibleText.qunit.js +17 -15
- 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/ManagedObject.qunit.js +3 -3
- package/test/sap/ui/core/qunit/PlaceAt.qunit.js +2 -2
- 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 +15 -14
- package/test/sap/ui/core/qunit/ThemeHelper.qunit.js +5 -4
- package/test/sap/ui/core/qunit/ThemeManager.qunit.js +47 -79
- package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +44 -375
- package/test/sap/ui/core/qunit/ThemeParameters_legacyAPIs.qunit.js +686 -0
- 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 +6 -4
- package/test/sap/ui/core/qunit/UIArea.qunit.js +258 -28
- package/test/sap/ui/core/qunit/analytics/testsuite4analytics.qunit.html +3 -3
- 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/base/i18n/Localization.qunit.js +4 -3
- package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +13 -3
- package/test/sap/ui/core/qunit/base/util/UriParameters.qunit.js +27 -1
- package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.qunit.js +4 -4
- 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/BootstrapWithCustomBootTask.beforeBootstrap.qunit.js +22 -21
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.qunit.js +4 -9
- 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 +27 -14
- package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +4 -2
- package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.js +4 -3
- package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.qunit.js +4 -3
- package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +5 -4
- package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +2 -198
- package/test/sap/ui/core/qunit/bootstrap/Configuration_language_via_URL.qunit.js +210 -0
- package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +33 -30
- package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +18 -6
- package/test/sap/ui/core/qunit/component/Component.qunit.js +26 -15
- package/test/sap/ui/core/qunit/component/ComponentSupport.qunit.js +6 -5
- package/test/sap/ui/core/qunit/component/Component_dependencyLoading.qunit.js +15 -9
- package/test/sap/ui/core/qunit/component/Component_dependencyLoading_unavoidablySync.qunit.js +10 -6
- package/test/sap/ui/core/qunit/component/Component_unavoidablySync.qunit.js +4 -3
- package/test/sap/ui/core/qunit/component/Customizing.qunit.js +11 -11
- package/test/sap/ui/core/qunit/component/Customizing_async.qunit.js +4 -3
- package/test/sap/ui/core/qunit/component/Customizing_disabled.qunit.js +9 -10
- package/test/sap/ui/core/qunit/component/Customizing_legacyAPIs.qunit.js +10 -11
- package/test/sap/ui/core/qunit/component/Customizing_multi.qunit.js +9 -11
- package/test/sap/ui/core/qunit/component/Customizing_unavoidablySync.qunit.js +9 -11
- 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/Metadata.qunit.js +3 -3
- package/test/sap/ui/core/qunit/component/Models.qunit.js +103 -44
- package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +38 -22
- package/test/sap/ui/core/qunit/component/UIComponent_unavoidablySync.qunit.js +23 -22
- package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component1/manifest.json +2 -1
- package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component2/manifest.json +1 -0
- package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component3/manifest.json +2 -1
- package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component4/manifest.json +1 -0
- package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component5/manifest.json +1 -1
- package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component6/manifest.json +1 -0
- package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/componentVariant/manifest.json +1 -0
- package/test/sap/ui/core/qunit/component/testdata/v2asyncRootView/manifest.json +1 -1
- package/test/sap/ui/core/qunit/component/testdata/v2inline/Component.js +1 -1
- package/test/sap/ui/core/qunit/composite/XMLComposite.qunit.js +48 -48
- 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/1RingModels.qunit.html +4 -5
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
- package/test/sap/ui/core/qunit/internal/AnnotationParser.qunit.html +4 -4
- 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/internal/testsuite.models.qunit.js +19 -9
- 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.global-config.qunit.js +2 -4
- package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +20 -19
- package/test/sap/ui/core/qunit/json/JSONModel.qunit.js +5 -9
- package/test/sap/ui/core/qunit/messages/Messaging.qunit.js +137 -0
- 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 +42 -46
- package/test/sap/ui/core/qunit/messages/messagesGeneral_legacyAPIs.qunit.js +158 -0
- package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +29 -39
- package/test/sap/ui/core/qunit/messages/testsuite.messaging.base.qunit.js +9 -2
- package/test/sap/ui/core/qunit/model/Binding.qunit.js +8 -8
- package/test/sap/ui/core/qunit/model/ClientPropertyBinding.qunit.js +47 -0
- 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/AsyncXMLView.qunit.js +5 -3
- package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +3 -3
- package/test/sap/ui/core/qunit/mvc/View.qunit.js +5 -1
- 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 +50 -44
- package/test/sap/ui/core/qunit/mvc/testdata/TypedViewWithRendererRenderer.js +2 -2
- package/test/sap/ui/core/qunit/mvc/testdata/stashed/OP.html +1 -1
- package/test/sap/ui/core/qunit/mvc/testdata/stashed/manifest.json +2 -1
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +18 -22
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing_legacyAPIs.qunit.js +23 -27
- 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/AsyncXMLView_legacyAPIs.qunit.js +5 -3
- 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 +45 -51
- 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 +19 -15
- package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +101 -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/_AnnotationHelperBasics.qunit.js +10 -4
- package/test/sap/ui/core/qunit/odata/data/ODataModelFakeService.js +1 -1
- package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +38 -12
- package/test/sap/ui/core/qunit/odata/type/ODataType.qunit.js +9 -0
- 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/Context.qunit.js +12 -0
- package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +485 -22
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +762 -90
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +149 -6
- 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 +145 -35
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +64 -13
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +359 -78
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +255 -33
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +2267 -148
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +18 -17
- package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +19 -9
- package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +6 -27
- package/test/sap/ui/core/qunit/odata/v4/data/metadata.json +3 -1
- package/test/sap/ui/core/qunit/odata/v4/data/metadata.xml +2 -2
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +444 -53
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +7 -8
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +295 -161
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +12 -22
- 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 +35 -46
- 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 +9 -11
- package/test/sap/ui/core/qunit/opa/selectors/_TableRowItem.js +8 -9
- 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/deprecatedJSViewUsage.qunit.js +4 -0
- package/test/sap/ui/core/qunit/rule/app/globalApiUsage.qunit.js +4 -0
- package/test/sap/ui/core/qunit/rule/app/jquerySapUsage.qunit.js +4 -0
- package/test/sap/ui/core/qunit/rule/app/syncXHR.qunit.js +28 -17
- package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrap.qunit.js +7 -3
- package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebug.qunit.js +7 -3
- package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebugBeforeBootstrap.js +4 -0
- package/test/sap/ui/core/qunit/rule/config/asynchronousXMLViews.qunit.js +13 -19
- package/test/sap/ui/core/qunit/rule/misc/silentEventBus.qunit.js +8 -7
- package/test/sap/ui/core/qunit/rule/model/modelSupport.qunit.js +11 -2
- package/test/sap/ui/core/qunit/rule/testsuite.rule.qunit.js +18 -0
- 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 +13 -9
- 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 +16 -6
- package/test/sap/ui/core/qunit/testsuites/testsuite.foundation.enablement.qunit.js +7 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +48 -6
- 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 +60 -7
- package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +5 -5
- 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 +38 -21
- package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +64 -40
- package/test/sap/ui/core/qunit/util/static/TechnicalInfoTestbenchInit.js +8 -2
- package/test/sap/ui/core/qunit/util/support/TechnicalInfo.qunit.js +11 -10
- 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/qunit/xml/XMLPropertyBinding.qunit.js +69 -8
- package/test/sap/ui/core/relnotes/changes-1.117.json +1 -34
- package/test/sap/ui/core/relnotes/changes-1.118.json +110 -0
- package/test/sap/ui/core/relnotes/changes-1.119.json +217 -0
- package/test/sap/ui/core/resources/fastnav.js +3 -2
- package/test/sap/ui/core/samples/ResponsiveDemo.html +3 -3
- package/test/sap/ui/core/samples/components/commands/manifest.json +2 -2
- package/test/sap/ui/core/samples/components/resourcesCSS/index.html +1 -1
- package/test/sap/ui/core/samples/components/sample/manifest.json +2 -1
- package/test/sap/ui/core/samples/databinding/DataBindingAsyncType.html +3 -2
- package/test/sap/ui/core/samples/databinding/DatabindingMessages.html +158 -153
- package/test/sap/ui/core/samples/databinding/ODatabindingMessages.html +7 -9
- package/test/sap/ui/core/samples/databinding/UnitTable.view.xml +9 -2
- 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/formatting/manifest.json +2 -2
- package/test/sap/ui/core/samples/mvc/ExtendedXMLViewEventHandlerSyntax.html +5 -3
- package/test/sap/ui/core/samples/mvc/XMLViewAsync.html +62 -61
- package/test/sap/ui/core/samples/mvc/XMLViewBindableAggregation.html +1 -1
- package/test/sap/ui/core/samples/routing_legacyAPIs/AsyncViews.html +124 -123
- package/test/sap/ui/core/terminologies/App.controller.js +3 -2
- package/test/sap/ui/core/terminologies/App.view.xml +64 -64
- package/test/sap/ui/core/tmpl_legacyAPIs/TemplateSimple.html +38 -37
- package/test/sap/ui/core/util/PasteHelper.html +5 -4
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +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/messages/MessageManager.qunit.js +0 -135
- package/test/sap/ui/core/samples/databinding/DataBinding.html +0 -133
- package/test/sap/ui/core/samples/databinding/DataBindingCalculatedFields.html +0 -227
- package/test/sap/ui/core/samples/databinding/DataBindingCompositeTypes.html +0 -273
- package/test/sap/ui/core/samples/databinding/DataBindingFormat.html +0 -294
- package/test/sap/ui/core/samples/databinding/DataBindingList.html +0 -288
- package/test/sap/ui/core/samples/databinding/DataBindingListNamedModel.html +0 -288
- package/test/sap/ui/core/samples/databinding/DataBindingListXML.html +0 -278
- package/test/sap/ui/core/samples/databinding/DataBindingMasterDetail.html +0 -117
- package/test/sap/ui/core/samples/databinding/DataBindingMultiModel.html +0 -152
- package/test/sap/ui/core/samples/databinding/DataBindingResourceModel.html +0 -119
- package/test/sap/ui/core/samples/databinding/DataBindingSortingFiltering.html +0 -101
- package/test/sap/ui/core/samples/databinding/DataBindingTree.html +0 -166
- package/test/sap/ui/core/samples/databinding/DataBindingTreeFilter.html +0 -117
- package/test/sap/ui/core/samples/databinding/DataBindingTreeFilterXML.html +0 -103
- package/test/sap/ui/core/samples/databinding/DataBindingTreeLarge.html +0 -139
- package/test/sap/ui/core/samples/databinding/DataBindingTreeWithArrays.html +0 -132
- package/test/sap/ui/core/samples/databinding/DataBindingTwoWay.html +0 -156
- package/test/sap/ui/core/samples/databinding/DataBindingTwoWayTable.html +0 -140
- package/test/sap/ui/core/samples/databinding/DataBindingTypes.html +0 -265
- package/test/sap/ui/core/samples/databinding/DataBindingValidation.html +0 -194
- package/test/sap/ui/core/samples/databinding/DataBindingXML.html +0 -147
- package/test/sap/ui/core/samples/databinding/DataBindingXMLView.html +0 -53
- package/test/sap/ui/core/samples/databinding/testdata/ListBinding.view.xml +0 -9
- package/test/sap/ui/core/samples/databinding/testdata/test.view.json +0 -15
- package/test/sap/ui/core/samples/databinding/testdata/test.view.xml +0 -8
- /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~"]);
|
|
@@ -952,7 +932,7 @@ sap.ui.define([
|
|
|
952
932
|
//*********************************************************************************************
|
|
953
933
|
QUnit.test("_Cache#removeElement for a created kept-alive context inside", function (assert) {
|
|
954
934
|
var oCache = new _Cache(this.oRequestor, "EMPLOYEES"),
|
|
955
|
-
|
|
935
|
+
aElements = [{
|
|
956
936
|
"@$ui5._" : {predicate : "('2')"},
|
|
957
937
|
"@odata.etag" : "before"
|
|
958
938
|
}, {
|
|
@@ -961,42 +941,86 @@ sap.ui.define([
|
|
|
961
941
|
}, {
|
|
962
942
|
"@odata.etag" : "after"
|
|
963
943
|
}],
|
|
964
|
-
oElement =
|
|
944
|
+
oElement = aElements[1],
|
|
965
945
|
iIndex;
|
|
966
946
|
|
|
967
|
-
|
|
947
|
+
aElements.$byPredicate = {
|
|
968
948
|
"($uid=id-1-23)" : oElement,
|
|
969
949
|
"('1')" : oElement,
|
|
970
|
-
"('2')" :
|
|
950
|
+
"('2')" : aElements[0]
|
|
971
951
|
};
|
|
972
|
-
|
|
973
|
-
|
|
952
|
+
aElements.$count = 42;
|
|
953
|
+
aElements.$created = 23;
|
|
974
954
|
oCache.iActiveElements = 19;
|
|
955
|
+
oCache.aElements = aElements;
|
|
975
956
|
oCache.iLimit = 42;
|
|
976
957
|
this.mock(_Cache).expects("getElementIndex")
|
|
977
|
-
.withExactArgs(sinon.match.same(
|
|
958
|
+
.withExactArgs(sinon.match.same(aElements), "('1')", 2).returns(1);
|
|
978
959
|
this.mock(_Helper).expects("addToCount")
|
|
979
960
|
.withExactArgs(sinon.match.same(oCache.mChangeListeners), "",
|
|
980
|
-
sinon.match.same(
|
|
961
|
+
sinon.match.same(aElements), -1);
|
|
981
962
|
this.mock(oCache).expects("adjustIndexes")
|
|
982
|
-
.withExactArgs("", sinon.match.same(
|
|
963
|
+
.withExactArgs("", sinon.match.same(aElements), 1, -1);
|
|
983
964
|
|
|
984
965
|
// code under test
|
|
985
|
-
iIndex = oCache.removeElement(
|
|
966
|
+
iIndex = oCache.removeElement(undefined, 2, "('1')", "");
|
|
986
967
|
|
|
987
968
|
assert.strictEqual(iIndex, 1);
|
|
988
|
-
assert.strictEqual(
|
|
969
|
+
assert.strictEqual(aElements.$created, 22);
|
|
989
970
|
assert.strictEqual(oCache.iActiveElements, 18);
|
|
990
971
|
assert.strictEqual(oCache.iLimit, 42);
|
|
991
|
-
assert.deepEqual(
|
|
972
|
+
assert.deepEqual(aElements, [{
|
|
992
973
|
"@$ui5._" : {predicate : "('2')"},
|
|
993
974
|
"@odata.etag" : "before"
|
|
994
975
|
}, {
|
|
995
976
|
"@odata.etag" : "after"
|
|
996
977
|
}]);
|
|
997
|
-
assert.deepEqual(
|
|
978
|
+
assert.deepEqual(aElements.$byPredicate, {"('2')" : aElements[0]});
|
|
998
979
|
});
|
|
999
980
|
|
|
981
|
+
//*********************************************************************************************
|
|
982
|
+
["", "~path~"].forEach(function (sPath) {
|
|
983
|
+
[false, true].forEach(function (bTransient) {
|
|
984
|
+
[false, true].forEach(function (bDefault) {
|
|
985
|
+
const sTitle = `_Cache#restoreElement, path=${sPath}, transient=${bTransient},
|
|
986
|
+
default=${bDefault}`;
|
|
987
|
+
|
|
988
|
+
QUnit.test(sTitle, function (assert) {
|
|
989
|
+
const oCache = new _Cache(this.oRequestor, "TEAMS");
|
|
990
|
+
oCache.iLimit = 234;
|
|
991
|
+
oCache.iActiveElements = 1;
|
|
992
|
+
const aElements = [];
|
|
993
|
+
aElements.$byPredicate = {};
|
|
994
|
+
aElements.$created = 2;
|
|
995
|
+
if (bDefault) {
|
|
996
|
+
oCache.aElements = aElements;
|
|
997
|
+
}
|
|
998
|
+
this.mock(oCache).expects("adjustIndexes")
|
|
999
|
+
.withExactArgs(sPath, sinon.match.same(aElements), 42, 1, "~iDeletedIndex~");
|
|
1000
|
+
const oHelperMock = this.mock(_Helper);
|
|
1001
|
+
oHelperMock.expects("getPrivateAnnotation")
|
|
1002
|
+
.withExactArgs("~oElement~", "transientPredicate")
|
|
1003
|
+
.returns(bTransient ? "($uid=id-1-23)" : undefined);
|
|
1004
|
+
oHelperMock.expects("addToCount")
|
|
1005
|
+
.withExactArgs(sinon.match.same(oCache.mChangeListeners), sPath,
|
|
1006
|
+
sinon.match.same(aElements), 1);
|
|
1007
|
+
this.mock(aElements).expects("splice").withExactArgs(42, 0, "~oElement~");
|
|
1008
|
+
oHelperMock.expects("getPrivateAnnotation").withExactArgs("~oElement~", "predicate")
|
|
1009
|
+
.returns("~predicate~");
|
|
1010
|
+
|
|
1011
|
+
// code under test
|
|
1012
|
+
oCache.restoreElement(bDefault ? undefined : aElements, 42, "~oElement~", sPath,
|
|
1013
|
+
"~iDeletedIndex~");
|
|
1014
|
+
|
|
1015
|
+
assert.strictEqual(oCache.iLimit, bTransient || sPath ? 234 : 235);
|
|
1016
|
+
assert.strictEqual(aElements.$created, bTransient ? 3 : 2);
|
|
1017
|
+
assert.strictEqual(oCache.iActiveElements, bTransient && !sPath ? 2 : 1);
|
|
1018
|
+
assert.deepEqual(aElements.$byPredicate, {"~predicate~" : "~oElement~"});
|
|
1019
|
+
});
|
|
1020
|
+
});
|
|
1021
|
+
});
|
|
1022
|
+
});
|
|
1023
|
+
|
|
1000
1024
|
//*********************************************************************************************
|
|
1001
1025
|
QUnit.test("_Cache#registerChangeListener", function () {
|
|
1002
1026
|
var oCache = new _Cache(this.oRequestor, "TEAMS");
|
|
@@ -2762,7 +2786,6 @@ sap.ui.define([
|
|
|
2762
2786
|
fnPatchSent = function () {},
|
|
2763
2787
|
oRequestCall,
|
|
2764
2788
|
oRequestLock = {unlock : function () {}},
|
|
2765
|
-
mTypeForMetaPath = {},
|
|
2766
2789
|
oUpdatePromise,
|
|
2767
2790
|
that = this;
|
|
2768
2791
|
|
|
@@ -2772,7 +2795,7 @@ sap.ui.define([
|
|
|
2772
2795
|
.withExactArgs(sinon.match.same(_GroupLock.$cached), sEntityPath)
|
|
2773
2796
|
.returns(SyncPromise.resolve(oEntity));
|
|
2774
2797
|
oCacheMock.expects("fetchTypes").withExactArgs()
|
|
2775
|
-
.returns(SyncPromise.resolve(
|
|
2798
|
+
.returns(SyncPromise.resolve({}));
|
|
2776
2799
|
oHelperMock.expects("makeUpdateData")
|
|
2777
2800
|
.withExactArgs(["Address", "City"], "Walldorf")
|
|
2778
2801
|
.returns("~oUpdateData~");
|
|
@@ -3067,6 +3090,20 @@ sap.ui.define([
|
|
|
3067
3090
|
});
|
|
3068
3091
|
});
|
|
3069
3092
|
|
|
3093
|
+
//*********************************************************************************************
|
|
3094
|
+
QUnit.test("Cache#getTypes", function (assert) {
|
|
3095
|
+
var oCache = new _Cache(this.oRequestor, "TEAMS('42')/Foo"),
|
|
3096
|
+
oSyncPromise = {
|
|
3097
|
+
getResult : mustBeMocked
|
|
3098
|
+
};
|
|
3099
|
+
|
|
3100
|
+
this.mock(oCache).expects("fetchTypes").withExactArgs().returns(oSyncPromise);
|
|
3101
|
+
this.mock(oSyncPromise).expects("getResult").withExactArgs().returns("~mTypeForMetaPath~");
|
|
3102
|
+
|
|
3103
|
+
// code under test
|
|
3104
|
+
assert.strictEqual(oCache.getTypes(), "~mTypeForMetaPath~");
|
|
3105
|
+
});
|
|
3106
|
+
|
|
3070
3107
|
//*********************************************************************************************
|
|
3071
3108
|
QUnit.test("Cache#visitResponse: key predicates: ignore simple values", function () {
|
|
3072
3109
|
var oCache = new _Cache(this.oRequestor, "TEAMS('42')/Foo"),
|
|
@@ -4658,8 +4695,7 @@ sap.ui.define([
|
|
|
4658
4695
|
oCache.mLateQueryOptions = {};
|
|
4659
4696
|
}
|
|
4660
4697
|
oHelperMock.expects("getMetaPath").withExactArgs("").returns("~resMetaPath~");
|
|
4661
|
-
this.mock(oCache).expects("
|
|
4662
|
-
.withExactArgs().returns(SyncPromise.resolve(mTypeForMetaPath));
|
|
4698
|
+
this.mock(oCache).expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
|
|
4663
4699
|
oHelperMock.expects("buildPath").withExactArgs(oCache.sMetaPath, "~resMetaPath~")
|
|
4664
4700
|
.returns("~metaPath~");
|
|
4665
4701
|
oHelperMock.expects("getQueryOptionsForPath")
|
|
@@ -4759,8 +4795,7 @@ sap.ui.define([
|
|
|
4759
4795
|
oCache.mLateQueryOptions = {};
|
|
4760
4796
|
oHelperMock.expects("getMetaPath").withExactArgs("('31')/entity/path")
|
|
4761
4797
|
.returns("entity/path");
|
|
4762
|
-
this.mock(oCache).expects("
|
|
4763
|
-
.withExactArgs().returns(SyncPromise.resolve(mTypeForMetaPath));
|
|
4798
|
+
this.mock(oCache).expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
|
|
4764
4799
|
oHelperMock.expects("getQueryOptionsForPath")
|
|
4765
4800
|
.withExactArgs(sinon.match.same(oCache.mLateQueryOptions), "('31')/entity/path")
|
|
4766
4801
|
.returns(mQueryOptionsForPath);
|
|
@@ -4882,8 +4917,7 @@ sap.ui.define([
|
|
|
4882
4917
|
oCache.mLateQueryOptions = {};
|
|
4883
4918
|
oHelperMock.expects("getMetaPath").withExactArgs("('1')/entity/path")
|
|
4884
4919
|
.returns("entity/path");
|
|
4885
|
-
this.mock(oCache).expects("
|
|
4886
|
-
.withExactArgs().returns(SyncPromise.resolve(mTypeForMetaPath));
|
|
4920
|
+
this.mock(oCache).expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
|
|
4887
4921
|
oHelperMock.expects("buildPath").withExactArgs(oCache.sMetaPath, "entity/path")
|
|
4888
4922
|
.returns(oCache.sMetaPath + "/entity/path");
|
|
4889
4923
|
oHelperMock.expects("getQueryOptionsForPath")
|
|
@@ -4980,8 +5014,7 @@ sap.ui.define([
|
|
|
4980
5014
|
};
|
|
4981
5015
|
|
|
4982
5016
|
oCache.mLateQueryOptions = {};
|
|
4983
|
-
this.mock(oCache).expects("
|
|
4984
|
-
.withExactArgs().returns(SyncPromise.resolve(mTypeForMetaPath));
|
|
5017
|
+
this.mock(oCache).expects("getTypes").twice().withExactArgs().returns(mTypeForMetaPath);
|
|
4985
5018
|
oHelperMock.expects("getQueryOptionsForPath").twice()
|
|
4986
5019
|
.withExactArgs(sinon.match.same(oCache.mLateQueryOptions), "")
|
|
4987
5020
|
.returns(mQueryOptionsForPath);
|
|
@@ -5056,7 +5089,7 @@ sap.ui.define([
|
|
|
5056
5089
|
oCache.fetchValue = function () {};
|
|
5057
5090
|
|
|
5058
5091
|
oCache.mLateQueryOptions = {};
|
|
5059
|
-
this.mock(oCache).expects("
|
|
5092
|
+
this.mock(oCache).expects("getTypes").withExactArgs().returns({});
|
|
5060
5093
|
this.mock(_Helper).expects("getQueryOptionsForPath")
|
|
5061
5094
|
.withExactArgs(sinon.match.same(oCache.mLateQueryOptions), "")
|
|
5062
5095
|
.returns(mQueryOptionsForPath);
|
|
@@ -5135,8 +5168,7 @@ sap.ui.define([
|
|
|
5135
5168
|
$expand : {expand : {}},
|
|
5136
5169
|
$select : ["select"]
|
|
5137
5170
|
};
|
|
5138
|
-
this.mock(oCache).expects("
|
|
5139
|
-
.returns(SyncPromise.resolve(mTypeForMetaPath));
|
|
5171
|
+
this.mock(oCache).expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
|
|
5140
5172
|
this.mock(_Helper).expects("getQueryOptionsForPath")
|
|
5141
5173
|
.withExactArgs(sinon.match.same(oCache.mLateQueryOptions), "")
|
|
5142
5174
|
.returns(mQueryOptionsForPath);
|
|
@@ -5181,6 +5213,7 @@ sap.ui.define([
|
|
|
5181
5213
|
QUnit.test("Cache#fetchLateProperty: no late properties", function (assert) {
|
|
5182
5214
|
var oCache = new _Cache(this.oRequestor, "Employees");
|
|
5183
5215
|
|
|
5216
|
+
this.mock(oCache).expects("getTypes").withExactArgs().returns({});
|
|
5184
5217
|
this.mock(_Helper).expects("intersectQueryOptions").never();
|
|
5185
5218
|
this.oRequestorMock.expects("request").never();
|
|
5186
5219
|
this.mock(_Helper).expects("updateSelected").never();
|
|
@@ -5198,6 +5231,7 @@ sap.ui.define([
|
|
|
5198
5231
|
var oCache = new _Cache(this.oRequestor, "Employees");
|
|
5199
5232
|
|
|
5200
5233
|
oCache.mLateQueryOptions = {};
|
|
5234
|
+
this.mock(oCache).expects("getTypes").withExactArgs().returns({});
|
|
5201
5235
|
this.mock(_Helper).expects("intersectQueryOptions").never();
|
|
5202
5236
|
this.oRequestorMock.expects("request").never();
|
|
5203
5237
|
this.mock(_Helper).expects("updateSelected").never();
|
|
@@ -5216,6 +5250,7 @@ sap.ui.define([
|
|
|
5216
5250
|
mQueryOptionsForPath = {};
|
|
5217
5251
|
|
|
5218
5252
|
oCache.mLateQueryOptions = {};
|
|
5253
|
+
this.mock(oCache).expects("getTypes").withExactArgs().returns({});
|
|
5219
5254
|
this.mock(_Helper).expects("getMetaPath").withExactArgs("('1')").returns("");
|
|
5220
5255
|
this.mock(_Helper).expects("getQueryOptionsForPath")
|
|
5221
5256
|
.withExactArgs(sinon.match.same(oCache.mLateQueryOptions), "('1')")
|
|
@@ -5605,6 +5640,13 @@ sap.ui.define([
|
|
|
5605
5640
|
"insert a created entity at the end: only non-created entities move");
|
|
5606
5641
|
});
|
|
5607
5642
|
|
|
5643
|
+
//*********************************************************************************************
|
|
5644
|
+
QUnit.test("Cache#adjustIndexes: no path and no aReadRequests", function () {
|
|
5645
|
+
const oCache = new _Cache(this.oRequestor, "Employees"); // would be an _AggregationCache
|
|
5646
|
+
|
|
5647
|
+
oCache.adjustIndexes("", [], 1);
|
|
5648
|
+
});
|
|
5649
|
+
|
|
5608
5650
|
//*********************************************************************************************
|
|
5609
5651
|
[false, true].forEach(function (bSharedRequest) {
|
|
5610
5652
|
QUnit.test("CollectionCache: bSharedRequest = " + bSharedRequest, function (assert) {
|
|
@@ -5760,22 +5802,67 @@ sap.ui.define([
|
|
|
5760
5802
|
});
|
|
5761
5803
|
|
|
5762
5804
|
//*********************************************************************************************
|
|
5763
|
-
|
|
5764
|
-
|
|
5765
|
-
|
|
5766
|
-
|
|
5767
|
-
|
|
5805
|
+
[false, true].forEach(function (bTransferable) {
|
|
5806
|
+
QUnit.test(`Cache#getAndRemoveCollection: transferable=${bTransferable}`, function (assert) {
|
|
5807
|
+
const oCache = new _Cache(this.oRequestor, "SalesOrders('1')");
|
|
5808
|
+
oCache.fetchValue = function () {};
|
|
5809
|
+
const aCollection = [];
|
|
5810
|
+
if (bTransferable) {
|
|
5811
|
+
aCollection.$transfer = true;
|
|
5812
|
+
}
|
|
5813
|
+
const oParent = {
|
|
5814
|
+
collection : aCollection
|
|
5815
|
+
};
|
|
5768
5816
|
|
|
5769
|
-
oCache.fetchValue = function () {};
|
|
5770
5817
|
this.mock(oCache).expects("fetchValue")
|
|
5771
5818
|
.withExactArgs(sinon.match.same(_GroupLock.$cached), "path/to")
|
|
5772
5819
|
.returns(SyncPromise.resolve(oParent));
|
|
5773
5820
|
this.mock(oCache).expects("checkSharedRequest").withExactArgs();
|
|
5774
5821
|
|
|
5775
5822
|
// code under test
|
|
5776
|
-
assert.strictEqual(oCache.
|
|
5823
|
+
assert.strictEqual(oCache.getAndRemoveCollection("path/to/collection"),
|
|
5824
|
+
bTransferable ? aCollection : undefined);
|
|
5825
|
+
|
|
5826
|
+
if (bTransferable) {
|
|
5827
|
+
assert.notOk("collection" in oParent);
|
|
5828
|
+
} else {
|
|
5829
|
+
assert.strictEqual(oParent.collection, aCollection);
|
|
5830
|
+
}
|
|
5831
|
+
assert.notOk("$transfer" in aCollection);
|
|
5832
|
+
});
|
|
5833
|
+
});
|
|
5834
|
+
|
|
5835
|
+
//*********************************************************************************************
|
|
5836
|
+
QUnit.test("Cache#getAndRemoveCollection: empty", function (assert) {
|
|
5837
|
+
const oCache = new _Cache(this.oRequestor, "SalesOrders('1')");
|
|
5838
|
+
oCache.fetchValue = function () {};
|
|
5839
|
+
|
|
5840
|
+
this.mock(oCache).expects("fetchValue")
|
|
5841
|
+
.withExactArgs(sinon.match.same(_GroupLock.$cached), "path/to")
|
|
5842
|
+
.returns(SyncPromise.resolve({}));
|
|
5843
|
+
this.mock(oCache).expects("checkSharedRequest").withExactArgs();
|
|
5777
5844
|
|
|
5778
|
-
|
|
5845
|
+
// code under test
|
|
5846
|
+
assert.strictEqual(oCache.getAndRemoveCollection("path/to/collection"), undefined);
|
|
5847
|
+
});
|
|
5848
|
+
|
|
5849
|
+
//*********************************************************************************************
|
|
5850
|
+
QUnit.test("Cache#getAndRemoveCollection: not a collection", function (assert) {
|
|
5851
|
+
const oCache = new _Cache(this.oRequestor, "SalesOrders('1')");
|
|
5852
|
+
oCache.fetchValue = function () {};
|
|
5853
|
+
const oParent = {
|
|
5854
|
+
value : "foo"
|
|
5855
|
+
};
|
|
5856
|
+
|
|
5857
|
+
this.mock(oCache).expects("fetchValue")
|
|
5858
|
+
.withExactArgs(sinon.match.same(_GroupLock.$cached), "path/to")
|
|
5859
|
+
.returns(SyncPromise.resolve(oParent));
|
|
5860
|
+
this.mock(oCache).expects("checkSharedRequest").withExactArgs();
|
|
5861
|
+
|
|
5862
|
+
assert.throws(function () {
|
|
5863
|
+
// code under test
|
|
5864
|
+
oCache.getAndRemoveCollection("path/to/value");
|
|
5865
|
+
}, new Error("path/to/value must point to a collection"));
|
|
5779
5866
|
});
|
|
5780
5867
|
|
|
5781
5868
|
//*********************************************************************************************
|
|
@@ -6628,6 +6715,8 @@ sap.ui.define([
|
|
|
6628
6715
|
QUnit.test("CollectionCache#getExclusiveFilter: no created entities", function (assert) {
|
|
6629
6716
|
var oCache = this.createCache("Employees");
|
|
6630
6717
|
|
|
6718
|
+
this.mock(oCache).expects("getTypes").never();
|
|
6719
|
+
|
|
6631
6720
|
// code under test
|
|
6632
6721
|
assert.strictEqual(oCache.getExclusiveFilter(), undefined);
|
|
6633
6722
|
});
|
|
@@ -6653,8 +6742,7 @@ sap.ui.define([
|
|
|
6653
6742
|
oHelperMock = this.mock(_Helper),
|
|
6654
6743
|
mTypeForMetaPath = {};
|
|
6655
6744
|
|
|
6656
|
-
this.mock(oCache).expects("
|
|
6657
|
-
.returns(SyncPromise.resolve(mTypeForMetaPath));
|
|
6745
|
+
this.mock(oCache).expects("getTypes").returns(mTypeForMetaPath);
|
|
6658
6746
|
oCache.aElements.$created = 0;
|
|
6659
6747
|
if (oFixture.single || oFixture.multiple) {
|
|
6660
6748
|
oCache.aElements.unshift(oElement0);
|
|
@@ -7389,8 +7477,8 @@ sap.ui.define([
|
|
|
7389
7477
|
});
|
|
7390
7478
|
|
|
7391
7479
|
//*********************************************************************************************
|
|
7392
|
-
[false, true].forEach(function (
|
|
7393
|
-
QUnit.test("CollectionCache#requestElements:
|
|
7480
|
+
[false, true, undefined].forEach(function (bSuccess) { // undefined -> obsolete
|
|
7481
|
+
QUnit.test("CollectionCache#requestElements: success=" + bSuccess, function (assert) {
|
|
7394
7482
|
var oCache = this.createCache("Employees"),
|
|
7395
7483
|
oCacheMock = this.mock(oCache),
|
|
7396
7484
|
oCheckRangeExpectation,
|
|
@@ -7400,15 +7488,15 @@ sap.ui.define([
|
|
|
7400
7488
|
iStart = 0,
|
|
7401
7489
|
oFetchPromise = Promise.resolve("~mTypes~"),
|
|
7402
7490
|
oHandleResponseExpectation,
|
|
7491
|
+
oPromise,
|
|
7403
7492
|
oResetExpectation, // avoid "was used before it was defined"
|
|
7404
7493
|
oRequestPromise = Promise.resolve().then(function () {
|
|
7405
7494
|
oCheckRangeExpectation = oCacheMock.expects("checkRange")
|
|
7406
|
-
.
|
|
7407
|
-
|
|
7408
|
-
|
|
7409
|
-
|
|
7410
|
-
|
|
7411
|
-
.withExactArgs(undefined, iStart, iEnd);
|
|
7495
|
+
.exactly(bSuccess !== undefined ? 1 : 0)
|
|
7496
|
+
.withExactArgs(sinon.match.same(oPromise), iStart, iEnd);
|
|
7497
|
+
oResetExpectation = oCacheMock.expects("fill").exactly(bSuccess === false ? 1 : 0)
|
|
7498
|
+
.withExactArgs(undefined, iStart, iEnd);
|
|
7499
|
+
if (bSuccess === false) {
|
|
7412
7500
|
throw oError;
|
|
7413
7501
|
}
|
|
7414
7502
|
return "~oResult~";
|
|
@@ -7423,33 +7511,36 @@ sap.ui.define([
|
|
|
7423
7511
|
/*oPayload*/undefined, "~fnDataRequested~")
|
|
7424
7512
|
.returns(oRequestPromise);
|
|
7425
7513
|
oCacheMock.expects("fetchTypes").withExactArgs().returns(oFetchPromise);
|
|
7426
|
-
oHandleResponseExpectation = oCacheMock.expects("handleResponse").exactly(
|
|
7514
|
+
oHandleResponseExpectation = oCacheMock.expects("handleResponse").exactly(bSuccess ? 1 : 0)
|
|
7427
7515
|
.withExactArgs("~oResult~", iStart, "~mTypes~")
|
|
7428
7516
|
.returns("~iFiltered~");
|
|
7429
|
-
oCacheMock.expects("handleCount").exactly(
|
|
7517
|
+
oCacheMock.expects("handleCount").exactly(bSuccess ? 1 : 0)
|
|
7430
7518
|
.withExactArgs("~oGroupLock~", 0, iStart, iEnd, "~oResult~", "~iFiltered~");
|
|
7431
7519
|
oFillExpectation = oCacheMock.expects("fill")
|
|
7432
7520
|
.withExactArgs(sinon.match.instanceOf(SyncPromise), iStart, iEnd);
|
|
7433
7521
|
|
|
7434
7522
|
// code under test
|
|
7435
|
-
oCache.requestElements(iStart, iEnd, "~oGroupLock~", 0, "~fnDataRequested~");
|
|
7523
|
+
oPromise = oCache.requestElements(iStart, iEnd, "~oGroupLock~", 0, "~fnDataRequested~");
|
|
7436
7524
|
|
|
7525
|
+
assert.deepEqual(oCache.aReadRequests, [{iStart, iEnd}]);
|
|
7526
|
+
if (bSuccess === undefined) {
|
|
7527
|
+
oCache.aReadRequests[0].obsolete = true;
|
|
7528
|
+
}
|
|
7437
7529
|
assert.strictEqual(oCache.bSentRequest, true);
|
|
7530
|
+
assert.strictEqual(oFillExpectation.args[0][0], oPromise);
|
|
7438
7531
|
|
|
7439
|
-
return
|
|
7440
|
-
|
|
7441
|
-
|
|
7442
|
-
|
|
7443
|
-
|
|
7444
|
-
|
|
7445
|
-
return oPromise.then(function () {
|
|
7446
|
-
assert.notOk(bError);
|
|
7447
|
-
assert.ok(oCheckRangeExpectation.calledBefore(oHandleResponseExpectation));
|
|
7448
|
-
}, function (oRequestError) {
|
|
7449
|
-
assert.ok(bError);
|
|
7532
|
+
return oPromise.then(function () {
|
|
7533
|
+
assert.ok(bSuccess);
|
|
7534
|
+
assert.ok(oCheckRangeExpectation.calledBefore(oHandleResponseExpectation));
|
|
7535
|
+
}, function (oRequestError) {
|
|
7536
|
+
assert.notOk(bSuccess);
|
|
7537
|
+
if (bSuccess === false) {
|
|
7450
7538
|
assert.strictEqual(oRequestError, oError);
|
|
7451
7539
|
assert.ok(oCheckRangeExpectation.calledBefore(oResetExpectation));
|
|
7452
|
-
}
|
|
7540
|
+
} else {
|
|
7541
|
+
assert.ok(oRequestError.canceled);
|
|
7542
|
+
assert.strictEqual(oRequestError.message, "Request is obsolete");
|
|
7543
|
+
}
|
|
7453
7544
|
});
|
|
7454
7545
|
});
|
|
7455
7546
|
});
|
|
@@ -8037,6 +8128,7 @@ sap.ui.define([
|
|
|
8037
8128
|
QUnit.test("CollectionCache#read: $count & create, bInactive=" + bInactive, function (assert) {
|
|
8038
8129
|
var sResourcePath = "Employees",
|
|
8039
8130
|
oCache = this.createCache(sResourcePath),
|
|
8131
|
+
fnCancelCallback = sinon.spy(),
|
|
8040
8132
|
iCountAfterCreate = bInactive ? 26 : 27,
|
|
8041
8133
|
oCountChangeListener = {onChange : function () {}},
|
|
8042
8134
|
oCountChangeListenerMock = this.mock(oCountChangeListener),
|
|
@@ -8069,7 +8161,8 @@ sap.ui.define([
|
|
|
8069
8161
|
oCache.registerChangeListener("$count", oCountChangeListener);
|
|
8070
8162
|
|
|
8071
8163
|
return oCache.create(oGroupLock, SyncPromise.resolve("Employees"), "",
|
|
8072
|
-
sTransientPredicate, {},
|
|
8164
|
+
sTransientPredicate, {}, false, null, function fnSubmitCallback() {},
|
|
8165
|
+
fnCancelCallback);
|
|
8073
8166
|
})
|
|
8074
8167
|
.then(function () {
|
|
8075
8168
|
var oReadGroupLock = {
|
|
@@ -8086,8 +8179,14 @@ sap.ui.define([
|
|
|
8086
8179
|
assert.strictEqual(oCache.iActiveElements, bInactive ? 0 : 1);
|
|
8087
8180
|
|
|
8088
8181
|
oCountChangeListenerMock.expects("onChange").exactly(bInactive ? 0 : 1)
|
|
8089
|
-
.withExactArgs(26, undefined)
|
|
8090
|
-
|
|
8182
|
+
.withExactArgs(26, undefined)
|
|
8183
|
+
.callsFake(function () {
|
|
8184
|
+
assert.strictEqual(fnCancelCallback.callCount, 0, "not yet");
|
|
8185
|
+
});
|
|
8186
|
+
that.mock(oGroupLock).expects("cancel").withExactArgs()
|
|
8187
|
+
.callsFake(function () {
|
|
8188
|
+
assert.strictEqual(fnCancelCallback.callCount, 1);
|
|
8189
|
+
});
|
|
8091
8190
|
|
|
8092
8191
|
// code under test - cancel the create
|
|
8093
8192
|
oPostRequest.args[0][6]();
|
|
@@ -8552,7 +8651,7 @@ sap.ui.define([
|
|
|
8552
8651
|
|
|
8553
8652
|
// code under test
|
|
8554
8653
|
oCache._delete(null, "TEAMS('0')/TEAM_2_EMPLOYEES",
|
|
8555
|
-
sPathInCache + "
|
|
8654
|
+
sPathInCache + "/1", //TODO sPathInCache + sTransientPredicate
|
|
8556
8655
|
null, false, fnDeleteCallback);
|
|
8557
8656
|
|
|
8558
8657
|
assert.strictEqual(aCollection.$count, 41);
|
|
@@ -8973,7 +9072,7 @@ sap.ui.define([
|
|
|
8973
9072
|
"No 'update' allowed while waiting for server response",
|
|
8974
9073
|
oError.message);
|
|
8975
9074
|
});
|
|
8976
|
-
oCache._delete(oDeleteGroupLock, "n/a", /*TODO sTransientPredicate*/"
|
|
9075
|
+
oCache._delete(oDeleteGroupLock, "n/a", /*TODO sTransientPredicate*/"0")
|
|
8977
9076
|
.then(function () {
|
|
8978
9077
|
assert.ok(false, "unexpected success - _delete");
|
|
8979
9078
|
}, function (oError) {
|
|
@@ -9182,6 +9281,9 @@ sap.ui.define([
|
|
|
9182
9281
|
that.oRequestorMock.expects("relocate")
|
|
9183
9282
|
.withExactArgs(sParkedGroupId, sinon.match.same(oPostBody), sUpdateGroupId);
|
|
9184
9283
|
|
|
9284
|
+
if (oFixture.createGroupId === "$inactive.$auto") {
|
|
9285
|
+
oCache.setInactive(sTransientPredicate, false); // activate
|
|
9286
|
+
}
|
|
9185
9287
|
// code under test - first update -> relocate
|
|
9186
9288
|
aPromises.push(oCache.update(oGroupLock1, "Name", "John Doe", that.spy(), "n/a",
|
|
9187
9289
|
sTransientPredicate));
|
|
@@ -9202,15 +9304,9 @@ sap.ui.define([
|
|
|
9202
9304
|
//*********************************************************************************************
|
|
9203
9305
|
//TODO move to _Cache!
|
|
9204
9306
|
[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
|
-
}
|
|
9307
|
+
[false, true].forEach(function (bAtEndOfCreated) {
|
|
9308
|
+
var sTitle = "CollectionCache: create entity without initial data, bInactive="
|
|
9309
|
+
+ bInactive + ", bAtEndOfCreated=" + bAtEndOfCreated;
|
|
9214
9310
|
|
|
9215
9311
|
QUnit.test(sTitle, function (assert) {
|
|
9216
9312
|
var oCache = _Cache.create(this.oRequestor, "Employees"),
|
|
@@ -9277,27 +9373,13 @@ sap.ui.define([
|
|
|
9277
9373
|
}
|
|
9278
9374
|
|
|
9279
9375
|
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
9376
|
oHelperMock.expects("updateAll")
|
|
9289
9377
|
.withExactArgs({}, sTransientPredicate, sinon.match.object, {Name : "foo"});
|
|
9290
|
-
this.mock(oCountChangeListener).expects("onChange")
|
|
9291
|
-
.exactly(bInactive && !bStayInactive ? 1 : 0)
|
|
9292
|
-
.withExactArgs(43, undefined);
|
|
9293
9378
|
oCache.registerChangeListener("$count", oCountChangeListener);
|
|
9294
9379
|
oHelperMock.expects("updateAll")
|
|
9295
9380
|
.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();
|
|
9381
|
+
sinon.match.same(oCache.aElements[bAtEndOfCreated ? 1 : 0]), {Name : "foo"})
|
|
9382
|
+
.callThrough();
|
|
9301
9383
|
oHelperMock.expects("updateSelected")
|
|
9302
9384
|
.withExactArgs(sinon.match.same(oCache.mChangeListeners), sTransientPredicate,
|
|
9303
9385
|
sinon.match.same(oCache.aElements[bAtEndOfCreated ? 1 : 0]),
|
|
@@ -9310,29 +9392,20 @@ sap.ui.define([
|
|
|
9310
9392
|
this.mock(oUpdateGroupLock).expects("unlock").withExactArgs();
|
|
9311
9393
|
|
|
9312
9394
|
// code under test
|
|
9313
|
-
oCache.update(oUpdateGroupLock, "Name", "foo", this.spy(), undefined, sTransientPredicate
|
|
9314
|
-
undefined, undefined, undefined, undefined, bStayInactive);
|
|
9395
|
+
oCache.update(oUpdateGroupLock, "Name", "foo", this.spy(), undefined, sTransientPredicate);
|
|
9315
9396
|
|
|
9316
9397
|
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
|
-
}
|
|
9398
|
+
bInactive ? "$inactive.updateGroup" : "updateGroup");
|
|
9399
|
+
assert.strictEqual(
|
|
9400
|
+
_Helper.hasPrivateAnnotation(oCache.aElements[bAtEndOfCreated ? 1 : 0],
|
|
9401
|
+
"initialData"), bInactive);
|
|
9402
|
+
assert.strictEqual(
|
|
9403
|
+
oCache.aElements[bAtEndOfCreated ? 1 : 0]["@$ui5.context.isInactive"],
|
|
9404
|
+
bInactive ? true : undefined, "isInactive");
|
|
9405
|
+
assert.strictEqual(oCache.iActiveElements, bInactive ? 0 : 1);
|
|
9332
9406
|
|
|
9333
9407
|
return oPromise;
|
|
9334
9408
|
});
|
|
9335
|
-
});
|
|
9336
9409
|
});
|
|
9337
9410
|
});
|
|
9338
9411
|
|
|
@@ -9644,7 +9717,7 @@ sap.ui.define([
|
|
|
9644
9717
|
|
|
9645
9718
|
// code under test
|
|
9646
9719
|
oDeletePromise = oCache._delete(null, "n/a",
|
|
9647
|
-
/*TODO sTransientPredicate*/"
|
|
9720
|
+
/*TODO sTransientPredicate*/"0", null, false, function () {
|
|
9648
9721
|
throw new Error();
|
|
9649
9722
|
});
|
|
9650
9723
|
|
|
@@ -9727,7 +9800,7 @@ sap.ui.define([
|
|
|
9727
9800
|
.returns(Promise.resolve());
|
|
9728
9801
|
|
|
9729
9802
|
// code under test
|
|
9730
|
-
return oCache._delete(oDeleteGroupLock, sEditUrl, /*TODO sTransientPredicate*/"
|
|
9803
|
+
return oCache._delete(oDeleteGroupLock, sEditUrl, /*TODO sTransientPredicate*/"0",
|
|
9731
9804
|
null, fnCallback)
|
|
9732
9805
|
.then(function () {
|
|
9733
9806
|
sinon.assert.calledOnceWithExactly(fnCallback, 0, -1);
|
|
@@ -9931,8 +10004,7 @@ sap.ui.define([
|
|
|
9931
10004
|
oCacheMock.expects("keepOnlyGivenElements").exactly(bSingle ? 0 : 1)
|
|
9932
10005
|
.withExactArgs(aPredicates).callThrough(); // too hard to refactor :-(
|
|
9933
10006
|
// Note: fetchTypes() would have been triggered by read() already
|
|
9934
|
-
oCacheMock.expects("
|
|
9935
|
-
.returns(SyncPromise.resolve(mTypeForMetaPath));
|
|
10007
|
+
oCacheMock.expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
|
|
9936
10008
|
oCache.beforeUpdateSelected = function () {};
|
|
9937
10009
|
for (i = 0; i < iReceivedLength; i += 1) { // prepare request/response
|
|
9938
10010
|
sPredicate = "('" + oFixture.aValues[i].key + "')";
|
|
@@ -10052,7 +10124,6 @@ sap.ui.define([
|
|
|
10052
10124
|
oPromise,
|
|
10053
10125
|
mQueryOptions = {},
|
|
10054
10126
|
sResourcePath = "TEAMS('42')/Foo",
|
|
10055
|
-
mTypeForMetaPath = {},
|
|
10056
10127
|
oCache = this.createCache(sResourcePath);
|
|
10057
10128
|
|
|
10058
10129
|
// cache preparation
|
|
@@ -10061,8 +10132,7 @@ sap.ui.define([
|
|
|
10061
10132
|
oCache.aElements.$byPredicate = mByPredicate;
|
|
10062
10133
|
oCache.mLateQueryOptions = mLateQueryOptions;
|
|
10063
10134
|
|
|
10064
|
-
this.mock(oCache).expects("
|
|
10065
|
-
.returns(SyncPromise.resolve(mTypeForMetaPath));
|
|
10135
|
+
this.mock(oCache).expects("getTypes").withExactArgs().returns({});
|
|
10066
10136
|
this.mock(Object).expects("assign")
|
|
10067
10137
|
.withExactArgs({}, sinon.match.same(oCache.mQueryOptions),
|
|
10068
10138
|
sinon.match.same(oCache.mLateQueryOptions))
|
|
@@ -10101,10 +10171,7 @@ sap.ui.define([
|
|
|
10101
10171
|
// Note: fill cache with more than just "visible" rows
|
|
10102
10172
|
return this.mockRequestAndRead(oCache, 0, sResourcePath, 0, 4, 4, undefined, "26")
|
|
10103
10173
|
.then(function () {
|
|
10104
|
-
|
|
10105
|
-
|
|
10106
|
-
that.mock(oCache).expects("fetchTypes").withExactArgs()
|
|
10107
|
-
.returns(SyncPromise.resolve(mTypeForMetaPath));
|
|
10174
|
+
that.mock(oCache).expects("getTypes").withExactArgs().returns({});
|
|
10108
10175
|
that.mock(_Helper).expects("intersectQueryOptions").returns({/*don't care*/});
|
|
10109
10176
|
that.mock(oCache).expects("keepOnlyGivenElements").withExactArgs([])
|
|
10110
10177
|
.returns([]);
|
|
@@ -10176,8 +10243,7 @@ sap.ui.define([
|
|
|
10176
10243
|
oCache.aElements[2].Bar = {
|
|
10177
10244
|
"@$ui5._" : {predicate : "(2)"}
|
|
10178
10245
|
};
|
|
10179
|
-
that.mock(oCache).expects("
|
|
10180
|
-
.returns(SyncPromise.resolve(mTypeForMetaPath));
|
|
10246
|
+
that.mock(oCache).expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
|
|
10181
10247
|
that.mock(Object).expects("assign")
|
|
10182
10248
|
.withExactArgs({}, sinon.match.same(oCache.mQueryOptions),
|
|
10183
10249
|
sinon.match.same(oCache.mLateQueryOptions))
|
|
@@ -10251,8 +10317,7 @@ sap.ui.define([
|
|
|
10251
10317
|
var mTypeForMetaPath = {};
|
|
10252
10318
|
|
|
10253
10319
|
oCache.aElements[0] = undefined; // can result from a failed requestElements
|
|
10254
|
-
oCacheMock.expects("
|
|
10255
|
-
.returns(SyncPromise.resolve(mTypeForMetaPath));
|
|
10320
|
+
oCacheMock.expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
|
|
10256
10321
|
that.mock(Object).expects("assign")
|
|
10257
10322
|
.withExactArgs({}, sinon.match.same(oCache.mQueryOptions),
|
|
10258
10323
|
sinon.match.same(oCache.mLateQueryOptions))
|
|
@@ -10331,8 +10396,7 @@ sap.ui.define([
|
|
|
10331
10396
|
oCache.aElements.push(oElement);
|
|
10332
10397
|
oCache.aElements.$byPredicate["('c')"] = oElement;
|
|
10333
10398
|
|
|
10334
|
-
this.mock(oCache).expects("
|
|
10335
|
-
.returns(SyncPromise.resolve(mTypeForMetaPath));
|
|
10399
|
+
this.mock(oCache).expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
|
|
10336
10400
|
this.mock(oCache).expects("checkSharedRequest").withExactArgs();
|
|
10337
10401
|
this.mock(Object).expects("assign")
|
|
10338
10402
|
.withExactArgs({}, sinon.match.same(oCache.mQueryOptions),
|
|
@@ -10650,15 +10714,26 @@ sap.ui.define([
|
|
|
10650
10714
|
oCache.mChangeListeners = mChangeListeners;
|
|
10651
10715
|
oCache.sContext = "~context~";
|
|
10652
10716
|
oCache.aElements.$count = oCache.iLimit = 3;
|
|
10717
|
+
oCache.aReadRequests = [{iStart : 1, iEnd : 2}, {iStart : 3, iEnd : 4}];
|
|
10653
10718
|
|
|
10654
10719
|
oSetQueryOptionsExpectation = this.mock(oCache).expects("setQueryOptions")
|
|
10655
10720
|
.withExactArgs("~mQueryOptions~", true);
|
|
10656
10721
|
oFireChangeExpectation = this.mock(_Helper).expects("fireChange")
|
|
10657
|
-
.withExactArgs({"" : "~listeners~"}, "")
|
|
10722
|
+
.withExactArgs({"" : "~listeners~"}, "")
|
|
10723
|
+
.callsFake(function () {
|
|
10724
|
+
assert.deepEqual(oCache.aReadRequests, [
|
|
10725
|
+
{iStart : 1, iEnd : 2, obsolete : true},
|
|
10726
|
+
{iStart : 3, iEnd : 4, obsolete : true}
|
|
10727
|
+
]);
|
|
10728
|
+
});
|
|
10658
10729
|
|
|
10659
10730
|
// code under test
|
|
10660
10731
|
oCache.reset([], undefined, "~mQueryOptions~");
|
|
10661
10732
|
|
|
10733
|
+
assert.deepEqual(oCache.aReadRequests, [
|
|
10734
|
+
{iStart : 1, iEnd : 2, obsolete : true},
|
|
10735
|
+
{iStart : 3, iEnd : 4, obsolete : true}
|
|
10736
|
+
]);
|
|
10662
10737
|
assert.strictEqual(oCache.aElements, aElements);
|
|
10663
10738
|
assert.strictEqual(oCache.aElements.length, 0);
|
|
10664
10739
|
assert.strictEqual(oCache.aElements.$created, 0);
|
|
@@ -10685,6 +10760,40 @@ sap.ui.define([
|
|
|
10685
10760
|
assert.strictEqual(oCache.isDeletingInOtherGroup("group"), true);
|
|
10686
10761
|
});
|
|
10687
10762
|
|
|
10763
|
+
//*********************************************************************************************
|
|
10764
|
+
[false, 1].forEach(function (bInactive) {
|
|
10765
|
+
QUnit.test(`CollectionCache#setInactive(${bInactive})`, function (assert) {
|
|
10766
|
+
const iActivateCount = bInactive ? 0 : 1;
|
|
10767
|
+
const oCache = this.createCache("Employees");
|
|
10768
|
+
oCache.iActiveElements = 42;
|
|
10769
|
+
this.mock(oCache).expects("getValue").withExactArgs("($uid=id-1-23)").returns("~oElement~");
|
|
10770
|
+
this.mock(_Helper).expects("updateAll")
|
|
10771
|
+
.withExactArgs(sinon.match.same(oCache.mChangeListeners), "($uid=id-1-23)",
|
|
10772
|
+
"~oElement~", {"@$ui5.context.isInactive" : bInactive});
|
|
10773
|
+
this.mock(_Helper).expects("deletePrivateAnnotation").exactly(iActivateCount)
|
|
10774
|
+
.withExactArgs("~oElement~", "initialData");
|
|
10775
|
+
this.mock(_Helper).expects("addToCount").exactly(iActivateCount)
|
|
10776
|
+
.withExactArgs(sinon.match.same(oCache.mChangeListeners), "",
|
|
10777
|
+
sinon.match.same(oCache.aElements), 1);
|
|
10778
|
+
|
|
10779
|
+
// code under test
|
|
10780
|
+
oCache.setInactive("($uid=id-1-23)", bInactive);
|
|
10781
|
+
|
|
10782
|
+
assert.strictEqual(oCache.iActiveElements, bInactive ? 42 : 43);
|
|
10783
|
+
});
|
|
10784
|
+
});
|
|
10785
|
+
|
|
10786
|
+
//*********************************************************************************************
|
|
10787
|
+
QUnit.test("CollectionCache#setEmpty", function (assert) {
|
|
10788
|
+
const oCache = this.createCache("Employees");
|
|
10789
|
+
|
|
10790
|
+
// code under test
|
|
10791
|
+
oCache.setEmpty();
|
|
10792
|
+
|
|
10793
|
+
assert.strictEqual(oCache.aElements.$count, 0);
|
|
10794
|
+
assert.strictEqual(oCache.iLimit, 0);
|
|
10795
|
+
});
|
|
10796
|
+
|
|
10688
10797
|
//*********************************************************************************************
|
|
10689
10798
|
QUnit.test("SingleCache", function (assert) {
|
|
10690
10799
|
var oCache,
|
|
@@ -12453,15 +12562,23 @@ sap.ui.define([
|
|
|
12453
12562
|
});
|
|
12454
12563
|
|
|
12455
12564
|
//*********************************************************************************************
|
|
12456
|
-
|
|
12457
|
-
|
|
12458
|
-
|
|
12565
|
+
[undefined, "($uid=id-1-23)"].forEach((sTransientPredicate) => {
|
|
12566
|
+
QUnit.test(`CollectionCache#drop, ${sTransientPredicate}`, function (assert) {
|
|
12567
|
+
const oCache = this.createCache("Employees");
|
|
12459
12568
|
oCache.aElements[23] = "~b~";
|
|
12460
12569
|
oCache.aElements.$byPredicate = {
|
|
12461
12570
|
"('a')" : "~a~",
|
|
12462
12571
|
"('b')" : "~b~",
|
|
12463
12572
|
"('c')" : "~c~"
|
|
12464
12573
|
};
|
|
12574
|
+
oCache.aElements.$created = 7;
|
|
12575
|
+
oCache.iActiveElements = 5;
|
|
12576
|
+
oCache.iLimit = 42;
|
|
12577
|
+
if (sTransientPredicate) {
|
|
12578
|
+
oCache.aElements.$byPredicate[sTransientPredicate] = "~b~";
|
|
12579
|
+
}
|
|
12580
|
+
this.mock(_Helper).expects("getPrivateAnnotation")
|
|
12581
|
+
.withExactArgs("~b~", "transientPredicate").returns(sTransientPredicate);
|
|
12465
12582
|
|
|
12466
12583
|
// code under test
|
|
12467
12584
|
oCache.drop(23, "('b')");
|
|
@@ -12472,6 +12589,22 @@ sap.ui.define([
|
|
|
12472
12589
|
"('a')" : "~a~",
|
|
12473
12590
|
"('c')" : "~c~"
|
|
12474
12591
|
});
|
|
12592
|
+
assert.strictEqual(oCache.aElements.$created, sTransientPredicate ? 6 : 7);
|
|
12593
|
+
assert.strictEqual(oCache.iActiveElements, sTransientPredicate ? 4 : 5);
|
|
12594
|
+
assert.strictEqual(oCache.iLimit, sTransientPredicate ? 43 : 42);
|
|
12595
|
+
});
|
|
12596
|
+
});
|
|
12597
|
+
|
|
12598
|
+
//*********************************************************************************************
|
|
12599
|
+
QUnit.test("CollectionCache#drop: Must not drop a transient element", function (assert) {
|
|
12600
|
+
const oCache = this.createCache("Employees");
|
|
12601
|
+
oCache.aElements[23] = {"@$ui5.context.isTransient" : true};
|
|
12602
|
+
this.mock(_Helper).expects("getPrivateAnnotation").never();
|
|
12603
|
+
|
|
12604
|
+
assert.throws(function () {
|
|
12605
|
+
// code under test
|
|
12606
|
+
oCache.drop(23, "n/a");
|
|
12607
|
+
}, new Error("Must not drop a transient element"));
|
|
12475
12608
|
});
|
|
12476
12609
|
|
|
12477
12610
|
//*********************************************************************************************
|
|
@@ -12789,7 +12922,7 @@ sap.ui.define([
|
|
|
12789
12922
|
|
|
12790
12923
|
// refreshKeptElements
|
|
12791
12924
|
oCacheMock.expects("checkSharedRequest").withExactArgs();
|
|
12792
|
-
oCacheMock.expects("
|
|
12925
|
+
oCacheMock.expects("getTypes").returns(mTypes);
|
|
12793
12926
|
this.mock(this.oRequestor).expects("request")
|
|
12794
12927
|
.withExactArgs("GET", "Employees?$filter=" + oFixture.sFilter,
|
|
12795
12928
|
sinon.match.same(oGroupLock))
|
|
@@ -12833,6 +12966,7 @@ sap.ui.define([
|
|
|
12833
12966
|
QUnit.test("refreshKeptElements w/o kept-alive element", function (assert) {
|
|
12834
12967
|
var oCache = _Cache.create(this.oRequestor, "Employees", {});
|
|
12835
12968
|
|
|
12969
|
+
this.mock(oCache).expects("getTypes").never();
|
|
12836
12970
|
this.mock(oCache).expects("checkSharedRequest").withExactArgs();
|
|
12837
12971
|
this.mock(oCache.oRequestor).expects("request").never();
|
|
12838
12972
|
|