@openui5/sap.ui.core 1.98.0 → 1.101.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 +33 -1
- package/THIRDPARTY.txt +6 -6
- package/package.json +1 -1
- package/src/jquery.sap.global.js +6 -3
- package/src/jquery.sap.mobile.js +29 -11
- 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/Log.js +1 -1
- package/src/sap/base/strings/whitespaceReplacer.js +1 -1
- package/src/sap/base/util/LoaderExtensions.js +1 -10
- package/src/sap/base/util/UriParameters.js +2 -2
- 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/VersionInfo.js +13 -10
- package/src/sap/ui/base/BindingParser.js +34 -7
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +2 -2
- package/src/sap/ui/base/ExpressionParser.js +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +32 -22
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/ManagedObjectObserver.js +2 -0
- package/src/sap/ui/base/ManagedObjectRegistry.js +10 -5
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/core/.library +2 -2
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +24 -20
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +2 -2
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +80 -11
- package/src/sap/ui/core/Control.js +2 -1
- package/src/sap/ui/core/Core.js +29 -12
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +4 -7
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/ExtensionPoint.js +6 -1
- package/src/sap/ui/core/FocusHandler.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/HTMLRenderer.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +17 -3
- package/src/sap/ui/core/IconRenderer.js +1 -1
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- 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 +1 -1
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +9 -2
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicatorRenderer.js +2 -2
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +73 -6
- package/src/sap/ui/core/Manifest.js +5 -3
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Patcher.js +6 -4
- package/src/sap/ui/core/Popup.js +11 -8
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/ScrollBarRenderer.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- 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 +1 -1
- package/src/sap/ui/core/UIComponent.js +1 -1
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +1 -1
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/XMLTemplateProcessor.js +27 -26
- package/src/sap/ui/core/_IconRegistry.js +13 -3
- package/src/sap/ui/core/cache/CacheManager.js +1 -1
- package/src/sap/ui/core/cache/LRUPersistentCache.js +2 -1
- package/src/sap/ui/core/cldr/en_AU.json +1 -1
- package/src/sap/ui/core/date/Buddhist.js +3 -3
- package/src/sap/ui/core/date/Japanese.js +4 -4
- package/src/sap/ui/core/date/UniversalDate.js +10 -0
- package/src/sap/ui/core/date/UniversalDateUtils.js +49 -49
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +9 -6
- package/src/sap/ui/core/dnd/DragAndDrop.js +27 -22
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -2
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +3 -3
- package/src/sap/ui/core/format/DateFormat.js +670 -199
- package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +47 -0
- package/src/sap/ui/core/format/ListFormat.js +2 -2
- package/src/sap/ui/core/format/NumberFormat.js +502 -216
- package/src/sap/ui/core/format/TimezoneUtil.js +248 -0
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +220 -189
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/messagebundle.properties +2 -0
- package/src/sap/ui/core/messagebundle_ar.properties +1 -0
- package/src/sap/ui/core/messagebundle_bg.properties +6 -5
- package/src/sap/ui/core/messagebundle_ca.properties +1 -0
- package/src/sap/ui/core/messagebundle_cs.properties +1 -0
- package/src/sap/ui/core/messagebundle_cy.properties +1 -0
- package/src/sap/ui/core/messagebundle_da.properties +1 -0
- package/src/sap/ui/core/messagebundle_de.properties +2 -1
- package/src/sap/ui/core/messagebundle_el.properties +1 -0
- package/src/sap/ui/core/messagebundle_en.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_GB.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +1 -0
- package/src/sap/ui/core/messagebundle_es.properties +1 -0
- package/src/sap/ui/core/messagebundle_es_MX.properties +1 -0
- package/src/sap/ui/core/messagebundle_et.properties +1 -0
- package/src/sap/ui/core/messagebundle_fi.properties +1 -0
- package/src/sap/ui/core/messagebundle_fr.properties +1 -0
- package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -0
- package/src/sap/ui/core/messagebundle_hi.properties +1 -0
- package/src/sap/ui/core/messagebundle_hr.properties +1 -0
- package/src/sap/ui/core/messagebundle_hu.properties +1 -0
- package/src/sap/ui/core/messagebundle_id.properties +3 -2
- package/src/sap/ui/core/messagebundle_it.properties +1 -0
- package/src/sap/ui/core/messagebundle_iw.properties +1 -0
- package/src/sap/ui/core/messagebundle_ja.properties +1 -0
- package/src/sap/ui/core/messagebundle_kk.properties +1 -0
- package/src/sap/ui/core/messagebundle_ko.properties +2 -1
- package/src/sap/ui/core/messagebundle_lt.properties +1 -0
- package/src/sap/ui/core/messagebundle_lv.properties +2 -1
- package/src/sap/ui/core/messagebundle_ms.properties +1 -0
- package/src/sap/ui/core/messagebundle_nl.properties +1 -0
- package/src/sap/ui/core/messagebundle_no.properties +1 -0
- package/src/sap/ui/core/messagebundle_pl.properties +1 -0
- package/src/sap/ui/core/messagebundle_pt.properties +1 -0
- package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -0
- package/src/sap/ui/core/messagebundle_ro.properties +1 -0
- package/src/sap/ui/core/messagebundle_ru.properties +1 -0
- package/src/sap/ui/core/messagebundle_sh.properties +1 -0
- package/src/sap/ui/core/messagebundle_sk.properties +1 -0
- package/src/sap/ui/core/messagebundle_sl.properties +1 -0
- package/src/sap/ui/core/messagebundle_sv.properties +1 -0
- package/src/sap/ui/core/messagebundle_th.properties +1 -0
- package/src/sap/ui/core/messagebundle_tr.properties +1 -0
- package/src/sap/ui/core/messagebundle_uk.properties +1 -0
- package/src/sap/ui/core/messagebundle_vi.properties +1 -0
- package/src/sap/ui/core/messagebundle_zh_CN.properties +1 -0
- package/src/sap/ui/core/messagebundle_zh_TW.properties +1 -0
- package/src/sap/ui/core/mvc/Controller.js +1 -1
- package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +1 -1
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/HTMLViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/JSViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/View.js +1 -1
- package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +16 -4
- package/src/sap/ui/core/mvc/XMLViewRenderer.js +5 -2
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +1 -1
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/routing/Router.js +1 -1
- package/src/sap/ui/core/rules/App.support.js +6 -1
- package/src/sap/ui/core/rules/Misc.support.js +8 -3
- 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 +29 -1
- package/src/sap/ui/core/support/Support.js +3 -3
- package/src/sap/ui/core/support/controls/InteractionSlider.js +395 -407
- package/src/sap/ui/core/support/plugins/Breakpoint.js +5 -5
- package/src/sap/ui/core/support/plugins/ControlTree.js +434 -347
- package/src/sap/ui/core/support/plugins/Debugging.js +153 -129
- package/src/sap/ui/core/support/plugins/Interaction.js +71 -85
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +10 -13
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +5 -3
- package/src/sap/ui/core/support/plugins/Trace.js +7 -7
- package/src/sap/ui/core/support/plugins/ViewInfo.js +84 -22
- package/src/sap/ui/core/support/support.css +23 -23
- package/src/sap/ui/core/support/support.html +4 -6
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +1 -1
- package/src/sap/ui/core/themes/base/CommandShortcutHints.less +1 -1
- package/src/sap/ui/core/themes/base/DragAndDrop.less +3 -3
- package/src/sap/ui/core/themes/base/base.less +1524 -54
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/themes/base/global.less +169 -13
- package/src/sap/ui/core/themes/base/shared.less +1 -0
- package/src/sap/ui/core/themes/sap_hcb/global.less +164 -7
- package/src/sap/ui/core/theming/Parameters.js +1 -1
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +20 -17
- package/src/sap/ui/core/util/PasteHelper.js +5 -5
- package/src/sap/ui/core/util/XMLPreprocessor.js +17 -4
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +1 -1
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/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 +1 -1
- package/src/sap/ui/debug/DebugEnv.js +1 -1
- package/src/sap/ui/debug/LogViewer.js +2 -2
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/dom/includeStylesheet.js +8 -3
- package/src/sap/ui/events/jquery/EventExtension.js +1 -1
- package/src/sap/ui/model/Binding.js +4 -3
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +1 -1
- package/src/sap/ui/model/CompositeBinding.js +4 -1
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +13 -1
- package/src/sap/ui/model/ContextBinding.js +1 -1
- package/src/sap/ui/model/DataState.js +1 -1
- package/src/sap/ui/model/MetaModel.js +1 -2
- package/src/sap/ui/model/Model.js +10 -7
- 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/_Helper.js +24 -0
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +30 -15
- package/src/sap/ui/model/analytics/ODataModelAdapter.js +2 -1
- package/src/sap/ui/model/base/ManagedObjectModel.js +9 -7
- package/src/sap/ui/model/json/JSONListBinding.js +1 -1
- package/src/sap/ui/model/json/JSONModel.js +15 -8
- package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
- package/src/sap/ui/model/message/MessageListBinding.js +1 -1
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +3 -3
- package/src/sap/ui/model/odata/ODataModel.js +2 -2
- package/src/sap/ui/model/odata/ODataPropertyBinding.js +3 -1
- package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +5 -4
- package/src/sap/ui/model/odata/ODataUtils.js +7 -9
- 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 +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +349 -0
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +69 -5
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +8 -4
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +215 -78
- package/src/sap/ui/model/odata/v2/ODataModel.js +283 -80
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +6 -4
- package/src/sap/ui/model/odata/v4/AnnotationHelper.js +16 -17
- package/src/sap/ui/model/odata/v4/Context.js +117 -76
- package/src/sap/ui/model/odata/v4/ODataBinding.js +62 -37
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +157 -169
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +451 -262
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +91 -63
- package/src/sap/ui/model/odata/v4/ODataModel.js +478 -250
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +74 -83
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +65 -61
- package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +61 -6
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +15 -0
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +336 -86
- package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +5 -13
- package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +16 -0
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +13 -6
- package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +2 -2
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +233 -26
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- 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/XMLListBinding.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/model/xml/XMLPropertyBinding.js +1 -1
- package/src/sap/ui/performance/trace/FESR.js +1 -1
- package/src/sap/ui/performance/trace/FESRHelper.js +72 -0
- package/src/sap/ui/performance/trace/Interaction.js +6 -2
- package/src/sap/ui/performance/trace/Passport.js +3 -3
- package/src/sap/ui/qunit/qunit-2-css.js +4 -4
- package/src/sap/ui/qunit/qunit-css.js +4 -4
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/test/BranchTracking.js +1 -0
- package/src/sap/ui/test/Opa5.js +10 -6
- package/src/sap/ui/test/OpaBuilder.js +7 -7
- package/src/sap/ui/test/TestUtils.js +11 -0
- package/src/sap/ui/test/_UsageReport.js +1 -1
- package/src/sap/ui/test/generic/GenericTestCollection.js +176 -0
- package/src/sap/ui/test/generic/TestBase.js +151 -0
- package/src/sap/ui/test/generic/Utils.js +284 -0
- package/src/sap/ui/test/gherkin/opa5TestHarness.js +14 -5
- package/src/sap/ui/test/opaQunit.js +11 -10
- package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +9 -8
- package/src/sap/ui/test/selectors/_ControlSelectorValidator.js +1 -1
- package/src/sap/ui/test/starter/_setupAndStart.js +4 -0
- package/src/sap/ui/thirdparty/IPv6.js +1 -1
- package/src/sap/ui/thirdparty/SecondLevelDomains.js +1 -1
- package/src/sap/ui/thirdparty/URI.js +7 -3
- package/src/sap/ui/thirdparty/URITemplate.js +1 -1
- package/src/sap/ui/thirdparty/jqueryui/jquery-ui-datepicker.js +143 -3
- package/src/sap/ui/thirdparty/jqueryui/jquery-ui-position.js +8 -1
- package/src/sap/ui/thirdparty/jszip.js +17 -7
- package/src/sap/ui/thirdparty/mobify-carousel.js +1 -1
- package/src/sap/ui/util/Mobile.js +17 -0
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader.js +9 -5
|
@@ -48,7 +48,7 @@ sap.ui.define([
|
|
|
48
48
|
* Checks whether this Binding would provide new values and in case it changed, fires a change
|
|
49
49
|
* event with change reason <code>sap.ui.model.ChangeReason.Change</code>.
|
|
50
50
|
*
|
|
51
|
-
* @param {boolean} bForceupdate
|
|
51
|
+
* @param {boolean} [bForceupdate]
|
|
52
52
|
* Whether the change event will be fired regardless of the binding's state
|
|
53
53
|
*/
|
|
54
54
|
XMLPropertyBinding.prototype.checkUpdate = function(bForceupdate){
|
|
@@ -203,7 +203,7 @@ sap.ui.define([
|
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
function onInteractionFinished(oFinishedInteraction) {
|
|
206
|
-
var sStepName = oFinishedInteraction.trigger + "_" + oFinishedInteraction.event;
|
|
206
|
+
var sStepName = oFinishedInteraction.semanticStepName ? oFinishedInteraction.semanticStepName : oFinishedInteraction.trigger + "_" + oFinishedInteraction.event;
|
|
207
207
|
var oFESRHandle = FESR.onBeforeCreated({
|
|
208
208
|
stepName: sStepName,
|
|
209
209
|
appNameLong: oFinishedInteraction.stepComponent || oFinishedInteraction.component,
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
sap.ui.define([], function () {
|
|
8
|
+
"use strict";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* FESRHelper API
|
|
12
|
+
* Provides helper functionality for FESR and consumers of FESR
|
|
13
|
+
*
|
|
14
|
+
* @namespace
|
|
15
|
+
* @since 1.100
|
|
16
|
+
* @alias module:sap/ui/performance/trace/FESRHelper
|
|
17
|
+
* @static
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
var FESRHelper = {
|
|
21
|
+
/**
|
|
22
|
+
* This namespace is only used inside the FESRHelper.
|
|
23
|
+
*
|
|
24
|
+
* @const
|
|
25
|
+
* @private
|
|
26
|
+
*/
|
|
27
|
+
FESR_NAMESPACE: "http://schemas.sap.com/sapui5/extension/sap.ui.core.FESR/1",
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Add semantic stepname for an event of a given element used for FESR.
|
|
31
|
+
*
|
|
32
|
+
* @param {sap.ui.core.Element} oElement The element the semantic stepname should be applied to
|
|
33
|
+
* @param {string} sEventId The event ID the semantic stepname is valid for
|
|
34
|
+
* @param {string} sStepname The semantic stepname
|
|
35
|
+
*
|
|
36
|
+
* @public
|
|
37
|
+
* @since 1.100
|
|
38
|
+
*/
|
|
39
|
+
setSemanticStepname: function (oElement, sEventId, sStepname) {
|
|
40
|
+
var oCustomData = oElement.data("sap-ui-custom-settings");
|
|
41
|
+
if (oCustomData === null) {
|
|
42
|
+
oCustomData = {};
|
|
43
|
+
}
|
|
44
|
+
if (!oCustomData[this.FESR_NAMESPACE]) {
|
|
45
|
+
oCustomData[this.FESR_NAMESPACE] = {};
|
|
46
|
+
}
|
|
47
|
+
oCustomData[this.FESR_NAMESPACE][sEventId] = sStepname;
|
|
48
|
+
oElement.data("sap-ui-custom-settings", oCustomData);
|
|
49
|
+
},
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Get semantic stepname for an event of a given element used for FESR.
|
|
54
|
+
*
|
|
55
|
+
* @param {sap.ui.core.Element} oElement The element conatining the semantic stepname
|
|
56
|
+
* @param {string} sEventId The event ID of the semantic stepname
|
|
57
|
+
* @returns {string} The semantic stepname for the given event ID
|
|
58
|
+
*
|
|
59
|
+
* @public
|
|
60
|
+
* @since 1.100
|
|
61
|
+
*/
|
|
62
|
+
getSemanticStepname: function (oElement, sEventId) {
|
|
63
|
+
var oCustomFesrData = oElement && oElement.data("sap-ui-custom-settings") && oElement.data("sap-ui-custom-settings")[this.FESR_NAMESPACE];
|
|
64
|
+
if (!oCustomFesrData) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
return oCustomFesrData[sEventId];
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
return FESRHelper;
|
|
72
|
+
});
|
|
@@ -8,12 +8,13 @@
|
|
|
8
8
|
sap.ui.define([
|
|
9
9
|
"sap/ui/performance/Measurement",
|
|
10
10
|
"sap/ui/performance/XHRInterceptor",
|
|
11
|
+
"sap/ui/performance/trace/FESRHelper",
|
|
11
12
|
"sap/base/util/LoaderExtensions",
|
|
12
13
|
"sap/base/util/now",
|
|
13
14
|
"sap/base/util/uid",
|
|
14
15
|
"sap/base/Log",
|
|
15
16
|
"sap/ui/thirdparty/URI"
|
|
16
|
-
], function(Measurement, XHRInterceptor, LoaderExtensions, now, uid, Log, URI) {
|
|
17
|
+
], function(Measurement, XHRInterceptor, FESRHelper, LoaderExtensions, now, uid, Log, URI) {
|
|
17
18
|
|
|
18
19
|
"use strict";
|
|
19
20
|
|
|
@@ -477,6 +478,7 @@ sap.ui.define([
|
|
|
477
478
|
oPendingInteraction.start = iTime;
|
|
478
479
|
if (oSrcElement && oSrcElement.getId) {
|
|
479
480
|
oPendingInteraction.trigger = oSrcElement.getId();
|
|
481
|
+
oPendingInteraction.semanticStepName = FESRHelper.getSemanticStepname(oSrcElement, sType);
|
|
480
482
|
}
|
|
481
483
|
/*eslint-disable no-console */
|
|
482
484
|
if (Log.isLoggable(null, "sap.ui.Performance")) {
|
|
@@ -626,13 +628,15 @@ sap.ui.define([
|
|
|
626
628
|
var elem = oBrowserElement;
|
|
627
629
|
if (elem && oElement.getId() === elem.getId()) {
|
|
628
630
|
oPendingInteraction.trigger = oElement.getId();
|
|
631
|
+
oPendingInteraction.semanticStepName = FESRHelper.getSemanticStepname(oElement, sEventId);
|
|
629
632
|
oPendingInteraction.event = sEventId;
|
|
630
633
|
bMatched = true;
|
|
631
634
|
} else {
|
|
632
635
|
while (elem && elem.getParent()) {
|
|
633
636
|
elem = elem.getParent();
|
|
634
637
|
if (oElement.getId() === elem.getId()) {
|
|
635
|
-
|
|
638
|
+
oPendingInteraction.trigger = oElement.getId();
|
|
639
|
+
oPendingInteraction.semanticStepName = FESRHelper.getSemanticStepname(oElement, sEventId);
|
|
636
640
|
oPendingInteraction.event = sEventId;
|
|
637
641
|
//if we find no direct match we consider the last control event for the trigger/event (step name)
|
|
638
642
|
break;
|
|
@@ -53,7 +53,7 @@ sap.ui.define(["sap/ui/performance/XHRInterceptor", "sap/ui/thirdparty/URI"], fu
|
|
|
53
53
|
var Passport = {};
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
|
-
* @returns {
|
|
56
|
+
* @returns {string} a generated a passport header
|
|
57
57
|
* @private
|
|
58
58
|
*/
|
|
59
59
|
Passport.header = function(trcLvl, RootID, TransID, component, action) {
|
|
@@ -125,7 +125,7 @@ sap.ui.define(["sap/ui/performance/XHRInterceptor", "sap/ui/thirdparty/URI"], fu
|
|
|
125
125
|
};
|
|
126
126
|
|
|
127
127
|
/**
|
|
128
|
-
* @param {
|
|
128
|
+
* @param {string} lvl Tracing level to be calculated
|
|
129
129
|
* @return {int[]} Array with two int representations of characters for trace level
|
|
130
130
|
* @private
|
|
131
131
|
*/
|
|
@@ -151,7 +151,7 @@ sap.ui.define(["sap/ui/performance/XHRInterceptor", "sap/ui/thirdparty/URI"], fu
|
|
|
151
151
|
};
|
|
152
152
|
|
|
153
153
|
/**
|
|
154
|
-
* @returns {
|
|
154
|
+
* @returns {string} a generated GUID
|
|
155
155
|
* @private
|
|
156
156
|
*/
|
|
157
157
|
Passport.createGUID = function() {
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
(function() {
|
|
8
8
|
"use strict";
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
var oLink = document.createElement("link");
|
|
11
|
+
oLink.rel = "stylesheet";
|
|
12
|
+
oLink.href = sap.ui.require.toUrl("sap/ui/thirdparty/qunit-2.css");
|
|
13
|
+
document.head.appendChild(oLink);
|
|
14
14
|
}());
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
(function() {
|
|
8
8
|
"use strict";
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
var oLink = document.createElement("link");
|
|
11
|
+
oLink.rel = "stylesheet";
|
|
12
|
+
oLink.href = sap.ui.require.toUrl("sap/ui/thirdparty/qunit.css");
|
|
13
|
+
document.head.appendChild(oLink);
|
|
14
14
|
}());
|
|
@@ -660,6 +660,7 @@
|
|
|
660
660
|
QUnit.begin(function () {
|
|
661
661
|
var sFileName, aHits;
|
|
662
662
|
|
|
663
|
+
jQuery("body").css("overflow", "scroll"); // always show scrollbar, avoid flickering
|
|
663
664
|
jQuery("#qunit-modulefilter-dropdown-list").css("max-height", "none");
|
|
664
665
|
|
|
665
666
|
jQuery("#qunit-modulefilter-dropdown").on("click", function (oMouseEvent) {
|
package/src/sap/ui/test/Opa5.js
CHANGED
|
@@ -25,7 +25,9 @@ sap.ui.define([
|
|
|
25
25
|
'sap/ui/dom/includeStylesheet',
|
|
26
26
|
'sap/ui/thirdparty/jquery',
|
|
27
27
|
'sap/ui/test/_OpaUriParameterParser',
|
|
28
|
-
|
|
28
|
+
'sap/ui/test/_ValidationParameters',
|
|
29
|
+
'sap/base/util/extend',
|
|
30
|
+
'sap/base/util/isPlainObject'
|
|
29
31
|
],
|
|
30
32
|
function (Opa,
|
|
31
33
|
OpaPlugin,
|
|
@@ -47,7 +49,9 @@ sap.ui.define([
|
|
|
47
49
|
includeStylesheet,
|
|
48
50
|
$,
|
|
49
51
|
_OpaUriParameterParser,
|
|
50
|
-
_ValidationParameters
|
|
52
|
+
_ValidationParameters,
|
|
53
|
+
extend,
|
|
54
|
+
isPlainObject) {
|
|
51
55
|
"use strict";
|
|
52
56
|
|
|
53
57
|
var oLogger = _OpaLogger.getLogger("sap.ui.test.Opa5"),
|
|
@@ -1115,7 +1119,7 @@ sap.ui.define([
|
|
|
1115
1119
|
/**
|
|
1116
1120
|
* Settings for a new page object, consisting of actions and assertions.
|
|
1117
1121
|
*
|
|
1118
|
-
* @typedef {
|
|
1122
|
+
* @typedef {object} sap.ui.test.PageObjectDefinition
|
|
1119
1123
|
*
|
|
1120
1124
|
* @property {string} [viewName]
|
|
1121
1125
|
* When a <code>viewName</code> is given, all <code>waitFor</code> calls inside of the page object
|
|
@@ -1390,9 +1394,9 @@ sap.ui.define([
|
|
|
1390
1394
|
function _getPathToExpansion(options) {
|
|
1391
1395
|
var aPath;
|
|
1392
1396
|
["ancestor", "descendant", "sibling"].forEach(function (sMatcher) {
|
|
1393
|
-
if (options[sMatcher] &&
|
|
1397
|
+
if (options[sMatcher] && isPlainObject(options[sMatcher])) {
|
|
1394
1398
|
aPath = [sMatcher];
|
|
1395
|
-
} else if (options.matchers && options.matchers[sMatcher] &&
|
|
1399
|
+
} else if (options.matchers && options.matchers[sMatcher] && isPlainObject(options.matchers[sMatcher])) {
|
|
1396
1400
|
aPath = ["matchers", sMatcher];
|
|
1397
1401
|
}
|
|
1398
1402
|
});
|
|
@@ -1416,7 +1420,7 @@ sap.ui.define([
|
|
|
1416
1420
|
// return a new object ("options" remains unchanged)
|
|
1417
1421
|
function _substituteExpansion(options, aPath, oControl) {
|
|
1418
1422
|
if (aPath) {
|
|
1419
|
-
var oResult =
|
|
1423
|
+
var oResult = extend({}, options);
|
|
1420
1424
|
var oPath = oResult;
|
|
1421
1425
|
var i = 0;
|
|
1422
1426
|
while (i < aPath.length - 1) {
|
|
@@ -285,7 +285,7 @@ sap.ui.define(
|
|
|
285
285
|
*
|
|
286
286
|
* @param {sap.ui.test.Opa5} [oOpaInstance] the Opa5 instance to operate on
|
|
287
287
|
* @param {string | RegExp} [vId] the id of the target control(s)
|
|
288
|
-
* @param {string} [
|
|
288
|
+
* @param {string} [sControlType] the type of the target control(s)
|
|
289
289
|
* @param {boolean} [bDialogElement] if true, only popover and dialogs are searched for
|
|
290
290
|
* @param {sap.ui.test.matchers.Matcher | function | Array | Object} [vMatchers] additional matchers to filter target control(s)
|
|
291
291
|
* @param {sap.ui.test.actions.Action | function | Array} [vActions] the actions to be performed on target control(s)
|
|
@@ -417,12 +417,12 @@ sap.ui.define(
|
|
|
417
417
|
/**
|
|
418
418
|
* Defines the control type of the target control(s).
|
|
419
419
|
*
|
|
420
|
-
* @param {string}
|
|
420
|
+
* @param {string} sControlType the type of the target control(s)
|
|
421
421
|
* @returns {this} this OpaBuilder instance
|
|
422
422
|
* @public
|
|
423
423
|
*/
|
|
424
|
-
OpaBuilder.prototype.hasType = function (
|
|
425
|
-
return this.options({controlType:
|
|
424
|
+
OpaBuilder.prototype.hasType = function (sControlType) {
|
|
425
|
+
return this.options({controlType: sControlType});
|
|
426
426
|
};
|
|
427
427
|
|
|
428
428
|
/**
|
|
@@ -490,7 +490,7 @@ sap.ui.define(
|
|
|
490
490
|
* Adds a matcher that checks for a certain number of aggregation items.
|
|
491
491
|
*
|
|
492
492
|
* @param {string} sAggregationName the aggregation name
|
|
493
|
-
* @param
|
|
493
|
+
* @param {int} iNumber length to check against
|
|
494
494
|
* @returns {this} this OpaBuilder instance
|
|
495
495
|
* @public
|
|
496
496
|
*/
|
|
@@ -669,8 +669,8 @@ sap.ui.define(
|
|
|
669
669
|
* @returns {this} this OpaBuilder instance
|
|
670
670
|
* @public
|
|
671
671
|
*/
|
|
672
|
-
OpaBuilder.prototype.doEnterText = function (sText,
|
|
673
|
-
return this.do(OpaBuilder.Actions.enterText(sText,
|
|
672
|
+
OpaBuilder.prototype.doEnterText = function (sText, bClearTextFirst, bKeepFocus, bPressEnterKey, sIdSuffix) {
|
|
673
|
+
return this.do(OpaBuilder.Actions.enterText(sText, bClearTextFirst, bKeepFocus, bPressEnterKey, sIdSuffix));
|
|
674
674
|
};
|
|
675
675
|
|
|
676
676
|
/**
|
|
@@ -33,6 +33,8 @@ sap.ui.define([
|
|
|
33
33
|
rODataHeaders = /^(OData-Version|DataServiceVersion)$/,
|
|
34
34
|
bRealOData = sRealOData === "true" || sRealOData === "direct",
|
|
35
35
|
iRequestCount = 0,
|
|
36
|
+
sOptimisticBatch = oUriParameters.get("optimisticBatch"),
|
|
37
|
+
bOptimisticBatch = sOptimisticBatch === null ? undefined : sOptimisticBatch === "true",
|
|
36
38
|
bSupportAssistant = oUriParameters.get("supportAssistant") === "true",
|
|
37
39
|
TestUtils;
|
|
38
40
|
|
|
@@ -799,6 +801,15 @@ sap.ui.define([
|
|
|
799
801
|
}
|
|
800
802
|
},
|
|
801
803
|
|
|
804
|
+
/**
|
|
805
|
+
* @returns {boolean|undefined}
|
|
806
|
+
* <code>true</code> if optimistic batch should be used, <code>undefined</code> if not
|
|
807
|
+
* specified.
|
|
808
|
+
*/
|
|
809
|
+
isOptimisticBatch : function () {
|
|
810
|
+
return bOptimisticBatch;
|
|
811
|
+
},
|
|
812
|
+
|
|
802
813
|
/**
|
|
803
814
|
* @returns {boolean}
|
|
804
815
|
* <code>true</code> if the real OData service is used.
|
|
@@ -24,7 +24,7 @@ sap.ui.define([
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
// separate report enablement from the report logic: conditionally send XHRs if reporting is explicitly enabled
|
|
27
|
-
var oPrototype =
|
|
27
|
+
var oPrototype = _UsageReport.prototype;
|
|
28
28
|
Object.keys(oPrototype).forEach(function (sKey) {
|
|
29
29
|
var bIsSpecialFunction = ["constructor", "getMetadata"].indexOf(sKey) > -1;
|
|
30
30
|
if (oPrototype.hasOwnProperty(sKey) && typeof oPrototype[sKey] === "function" && !bIsSpecialFunction) {
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
sap.ui.define([], function() {
|
|
7
|
+
"use strict";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @typedef sap.ui.test.generic.GenericTestCollection.ObjectCapabilities
|
|
11
|
+
*
|
|
12
|
+
* @param {string} moduleName
|
|
13
|
+
* Name of the module that contains the class. If not given, it is assumed that a module
|
|
14
|
+
* with the same name as the class (dots replaced by slashes) exports the class.
|
|
15
|
+
* When given, the module is loaded and the class is retrieved via its global name
|
|
16
|
+
* @param {boolean|function} create
|
|
17
|
+
* Explicit false if the control can't be instantiated via constructor or factory function
|
|
18
|
+
* expecting the following parameters: Class, mSettings
|
|
19
|
+
* @param {boolean} rendererHasDependencies
|
|
20
|
+
* Control renderer has dependencies to parent or child controls and can't be rendered standalone
|
|
21
|
+
* @param {Object<string, sap.ui.test.generic.GenericTestCollection.ExcludeReason|any>} properties
|
|
22
|
+
* A map containing the property name as key and either an {@link sap.ui.test.generic.GenericTestCollection.ExcludeReason ExcludeReason}
|
|
23
|
+
* or a "value to set" as value
|
|
24
|
+
* @param {Object<string, sap.ui.test.generic.GenericTestCollection.ExcludeReason|function>} aggregations
|
|
25
|
+
* A map containing the aggregation name as key and either an {@link sap.ui.test.generic.GenericTestCollection.ExcludeReason ExcludeReason}
|
|
26
|
+
* or the class which should be used as value
|
|
27
|
+
* @param {int} [apiVersion=2]
|
|
28
|
+
* The API version of the control's renderer should be set in case the renderer does not support
|
|
29
|
+
* semantic rendering
|
|
30
|
+
* @param {object} [knownIssues=undefined]
|
|
31
|
+
* Exceptions for known but not fixed issues
|
|
32
|
+
* @param {boolean} knownIssues.Id
|
|
33
|
+
* Exception for known duplicate ID issues
|
|
34
|
+
* @param {boolean} knownIssues.memoryLeaks
|
|
35
|
+
* Exception for known memory leak issues
|
|
36
|
+
*
|
|
37
|
+
* @private
|
|
38
|
+
* @ui5-restricted Only for DIST layer libraries
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @namespace
|
|
43
|
+
* @alias sap.ui.test.generic.GenericTestCollection
|
|
44
|
+
* @private
|
|
45
|
+
* @ui5-restricted Only for DIST layer libraries
|
|
46
|
+
* @since 1.100
|
|
47
|
+
*/
|
|
48
|
+
var GenericTestCollection = {
|
|
49
|
+
/**
|
|
50
|
+
* Marker for exclude reasons.
|
|
51
|
+
*
|
|
52
|
+
* @enum {string}
|
|
53
|
+
* @private
|
|
54
|
+
*/
|
|
55
|
+
ExcludeReason: {
|
|
56
|
+
/**
|
|
57
|
+
* The property or aggregation can only be changed using a binding. Using setter is not allowed.
|
|
58
|
+
* @private
|
|
59
|
+
*/
|
|
60
|
+
OnlyChangeableViaBinding: "OnlyChangeableViaBinding",
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* The property or aggregation can only be set on initialisation. Using setter is not allowed.
|
|
64
|
+
* @private
|
|
65
|
+
*/
|
|
66
|
+
NotChangeableAfterInit: "NotChangeableAfterInit",
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* The property or aggregation can't be filled generically. Property/aggregation specific settings are needed.
|
|
70
|
+
* @private
|
|
71
|
+
*/
|
|
72
|
+
SetterNeedsSpecificSettings: "SetterNeedsSpecificSettings",
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* The default value retrieved from getter can't be used for setting the value using the corresponding setter.
|
|
76
|
+
* @private
|
|
77
|
+
*/
|
|
78
|
+
CantSetDefaultValue: "CantSetDefaultValue"
|
|
79
|
+
},
|
|
80
|
+
/**
|
|
81
|
+
* Marker for available generic Tests
|
|
82
|
+
*
|
|
83
|
+
* @enum {string}
|
|
84
|
+
* @private
|
|
85
|
+
*/
|
|
86
|
+
Test: {
|
|
87
|
+
/**
|
|
88
|
+
* Test ControlMemoryLeaks
|
|
89
|
+
* @protected
|
|
90
|
+
*/
|
|
91
|
+
ControlMemoryLeaks: "ControlMemoryLeaks",
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Test ControlRenderer
|
|
95
|
+
* @protected
|
|
96
|
+
*/
|
|
97
|
+
ControlRenderer: "ControlRenderer",
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Test DuplicateIdCheck
|
|
101
|
+
* @protected
|
|
102
|
+
*/
|
|
103
|
+
DuplicateIdCheck: "DuplicateIdCheck",
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Test EnforceSemanticRendering
|
|
107
|
+
* @protected
|
|
108
|
+
*/
|
|
109
|
+
EnforceSemanticRendering: "EnforceSemanticRendering",
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Test SettersContextReturn
|
|
113
|
+
* @protected
|
|
114
|
+
*/
|
|
115
|
+
SettersContextReturn: "SettersContextReturn"
|
|
116
|
+
},
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Create the testsuite config
|
|
120
|
+
*
|
|
121
|
+
* @param {object} mConfig Map containing test parameters
|
|
122
|
+
* @param {string} mConfig.library The library name
|
|
123
|
+
* @param {object} mConfig.objectCapabilities The opt-out options per control
|
|
124
|
+
* @param {sap.ui.test.generic.GenericTestCollection.ObjectCapabilities} mConfig.objectCapabilities.anyName The controls capability options
|
|
125
|
+
* @param {sap.ui.test.generic.GenericTestCollection.Test[]} mConfig.skipTests List of tests which shouldn't be executed
|
|
126
|
+
* @return {object} Returns the testsuite config object
|
|
127
|
+
*
|
|
128
|
+
* @private
|
|
129
|
+
* @ui5-restricted Only for DIST layer libraries
|
|
130
|
+
* @since 1.100
|
|
131
|
+
*/
|
|
132
|
+
createTestsuiteConfig: function(mConfig) {
|
|
133
|
+
var oSuiteConfig = {
|
|
134
|
+
name: "Testsuite for Generic Control Tests for library: " + mConfig.library,
|
|
135
|
+
defaults: {
|
|
136
|
+
ui5: {
|
|
137
|
+
libs: [mConfig.library]
|
|
138
|
+
},
|
|
139
|
+
qunit: {
|
|
140
|
+
reorder: false,
|
|
141
|
+
version: 2
|
|
142
|
+
},
|
|
143
|
+
testConfig: mConfig,
|
|
144
|
+
module: "test-resources/sap/ui/core/qunit/generic/{name}.qunit"
|
|
145
|
+
},
|
|
146
|
+
tests: {
|
|
147
|
+
ControlMemoryLeaks: {
|
|
148
|
+
title: "QUnit Page for memory leak detection in UI5 controls"
|
|
149
|
+
},
|
|
150
|
+
ControlRenderer: {
|
|
151
|
+
title: "QUnit Page for Control Renderer Tests"
|
|
152
|
+
},
|
|
153
|
+
DuplicateIdCheck: {
|
|
154
|
+
title: "QUnit Page for duplicate ID issues detection in UI5 controls"
|
|
155
|
+
},
|
|
156
|
+
SettersContextReturn: {
|
|
157
|
+
title: "All setters should return correct context (Reason: https://github.com/SAP/openui5/blob/master/docs/guidelines.md#creating-classes)"
|
|
158
|
+
},
|
|
159
|
+
EnforceSemanticRendering: {
|
|
160
|
+
title: "QUnit Page for Semantic Rendering Coverage"
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
// Opt-out from single tests
|
|
166
|
+
var aSkippedTests = mConfig.skipTests || [];
|
|
167
|
+
aSkippedTests.forEach(function(sTest) {
|
|
168
|
+
delete oSuiteConfig.tests[sTest];
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
return oSuiteConfig;
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
return GenericTestCollection;
|
|
176
|
+
});
|