@openui5/sap.ui.core 1.116.0 → 1.117.1
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 +1 -22
- 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 +4 -4
- package/src/sap/base/Eventing.js +5 -6
- package/src/sap/base/config/MemoryConfigurationProvider.js +10 -1
- package/src/sap/base/config.js +3 -2
- package/src/sap/base/i18n/Formatting.js +30 -32
- package/src/sap/base/i18n/LanguageTag.js +2 -2
- package/src/sap/base/i18n/Localization.js +19 -20
- package/src/sap/base/i18n/date/CalendarType.js +1 -1
- package/src/sap/base/i18n/date/CalendarWeekNumbering.js +1 -1
- package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
- package/src/sap/base/util/JSTokenizer.js +1 -1
- package/src/sap/base/util/fetch.js +4 -4
- package/src/sap/base/util/mixedFetch.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/base/util/syncFetch.js +2 -2
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/Event.js +6 -4
- 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 +2 -4
- package/src/sap/ui/base/ManagedObjectMetadata.js +4 -6
- 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/AnimationMode.js +1 -1
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +1 -1
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/ConfigTest.js +17 -0
- package/src/sap/ui/core/Configuration.js +2 -14
- package/src/sap/ui/core/Control.js +4 -1
- package/src/sap/ui/core/ControlBehavior.js +2 -2
- package/src/sap/ui/core/Core.js +3 -1
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +1 -1
- package/src/sap/ui/core/ElementMetadata.js +2 -4
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +1 -1
- package/src/sap/ui/core/IconPool.js +1 -2
- 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 +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.js +17 -16
- 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 +5 -2
- package/src/sap/ui/core/LocaleData.js +12 -4
- package/src/sap/ui/core/Manifest.js +5 -5
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Popup.js +37 -50
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/Rendering.js +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/SeparatorItem.js +1 -1
- package/src/sap/ui/core/Shortcut.js +11 -9
- package/src/sap/ui/core/StaticArea.js +1 -1
- package/src/sap/ui/core/Theming.js +16 -9
- 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 -5
- package/src/sap/ui/core/_IconRegistry.js +82 -11
- package/src/sap/ui/core/boot/_bootConfig.js +137 -0
- package/src/sap/ui/core/boot/_runBoot.js +16 -0
- package/src/sap/ui/core/boot/initDOM.js +96 -0
- package/src/sap/ui/core/boot/loadCalendar.js +50 -0
- package/src/sap/ui/core/boot/loadManifest.js +55 -0
- package/src/sap/ui/core/boot/loadModules.js +80 -0
- package/src/sap/ui/core/boot/manifest.json +11 -0
- package/src/sap/ui/core/boot/onInit.js +44 -0
- package/src/sap/ui/core/boot.js +107 -0
- package/src/sap/ui/core/date/UI5Date.js +9 -3
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +13 -12
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +32 -6
- 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/MessageMixin.js +6 -5
- 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_ar.properties +57 -55
- package/src/sap/ui/core/messagebundle_bg.properties +57 -55
- package/src/sap/ui/core/messagebundle_ca.properties +30 -28
- package/src/sap/ui/core/messagebundle_cs.properties +43 -41
- package/src/sap/ui/core/messagebundle_cy.properties +58 -56
- package/src/sap/ui/core/messagebundle_da.properties +56 -54
- package/src/sap/ui/core/messagebundle_de.properties +58 -56
- package/src/sap/ui/core/messagebundle_el.properties +47 -45
- package/src/sap/ui/core/messagebundle_en.properties +58 -56
- package/src/sap/ui/core/messagebundle_en_GB.properties +58 -56
- package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +3 -0
- package/src/sap/ui/core/messagebundle_es.properties +47 -45
- package/src/sap/ui/core/messagebundle_es_MX.properties +57 -55
- package/src/sap/ui/core/messagebundle_et.properties +54 -52
- package/src/sap/ui/core/messagebundle_fi.properties +51 -49
- package/src/sap/ui/core/messagebundle_fr.properties +36 -34
- package/src/sap/ui/core/messagebundle_fr_CA.properties +21 -19
- package/src/sap/ui/core/messagebundle_hi.properties +42 -40
- package/src/sap/ui/core/messagebundle_hr.properties +57 -55
- package/src/sap/ui/core/messagebundle_hu.properties +58 -56
- package/src/sap/ui/core/messagebundle_id.properties +58 -56
- package/src/sap/ui/core/messagebundle_it.properties +59 -57
- package/src/sap/ui/core/messagebundle_iw.properties +58 -56
- package/src/sap/ui/core/messagebundle_ja.properties +50 -48
- package/src/sap/ui/core/messagebundle_kk.properties +43 -41
- package/src/sap/ui/core/messagebundle_ko.properties +19 -17
- package/src/sap/ui/core/messagebundle_lt.properties +58 -56
- package/src/sap/ui/core/messagebundle_lv.properties +58 -56
- package/src/sap/ui/core/messagebundle_ms.properties +58 -56
- package/src/sap/ui/core/messagebundle_nl.properties +57 -55
- package/src/sap/ui/core/messagebundle_no.properties +55 -53
- package/src/sap/ui/core/messagebundle_pl.properties +55 -53
- package/src/sap/ui/core/messagebundle_pt.properties +57 -55
- package/src/sap/ui/core/messagebundle_pt_PT.properties +57 -55
- package/src/sap/ui/core/messagebundle_ro.properties +58 -56
- package/src/sap/ui/core/messagebundle_ru.properties +57 -55
- package/src/sap/ui/core/messagebundle_sh.properties +58 -56
- package/src/sap/ui/core/messagebundle_sk.properties +57 -55
- package/src/sap/ui/core/messagebundle_sl.properties +58 -56
- package/src/sap/ui/core/messagebundle_sv.properties +54 -52
- package/src/sap/ui/core/messagebundle_th.properties +17 -15
- package/src/sap/ui/core/messagebundle_tr.properties +58 -56
- package/src/sap/ui/core/messagebundle_uk.properties +58 -56
- package/src/sap/ui/core/messagebundle_vi.properties +58 -56
- package/src/sap/ui/core/messagebundle_zh_CN.properties +58 -56
- package/src/sap/ui/core/messagebundle_zh_TW.properties +58 -56
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +14 -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/rules/Misc.support.js +1 -1
- 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 +1 -1
- package/src/sap/ui/core/support/Support.js +7 -4
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -1
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
- package/src/sap/ui/core/themes/base/Icon.less +2 -2
- package/src/sap/ui/core/theming/Parameters.js +0 -5
- package/src/sap/ui/core/theming/ThemeManager.js +3 -4
- 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 +4 -5
- package/src/sap/ui/core/util/PasteHelper.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/PropertyList.js +1 -1
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/DataState.js +1 -1
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +1 -1
- 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/analytics/AnalyticalBinding.js +166 -79
- package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +4 -3
- package/src/sap/ui/model/analytics/BatchResponseCollector.js +2 -2
- package/src/sap/ui/model/analytics/ODataModelAdapter.js +14 -27
- package/src/sap/ui/model/analytics/odata4analytics.js +6 -12
- package/src/sap/ui/model/base/ManagedObjectModel.js +2 -1
- package/src/sap/ui/model/json/JSONModel.js +6 -1
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +191 -5
- package/src/sap/ui/model/odata/ODataMetadata.js +38 -4
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- 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 +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +2 -2
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/AnnotationHelper.js +4 -4
- package/src/sap/ui/model/odata/v4/Context.js +33 -30
- package/src/sap/ui/model/odata/v4/ODataBinding.js +18 -14
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +12 -12
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +110 -43
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +20 -28
- package/src/sap/ui/model/odata/v4/ODataModel.js +40 -31
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +8 -6
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +14 -14
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +93 -9
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +25 -27
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +58 -195
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +157 -0
- package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +14 -5
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +27 -15
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +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/XMLModel.js +1 -1
- 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/TestUtils.js +1 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +1 -3
- package/src/sap/ui/test/matchers/_Visitor.js +6 -1
- package/src/sap/ui/test/starter/_setupAndStart.js +2 -5
- package/src/sap/ui/thirdparty/qunit-2.js +9 -3
- package/src/sap/ui/util/Mobile.js +10 -6
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/sap-ui-boot.js +23 -6
- package/src/ui5-boot.js +50 -0
- package/src/ui5loader-autoconfig.js +147 -75
- package/src/ui5loader.js +320 -360
- package/test/sap/ui/core/Device.js +1 -1
- package/test/sap/ui/core/demokit/sample/OpaAction/applicationUnderTest/view/Main.view.xml +1 -0
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Template.controller.js +2 -2
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +24 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.view.xml +24 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.view.xml +20 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +4 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/GridTable.view.xml +12 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +26 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +4 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/pages/Main.js +18 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/Create.js +10 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/manifest.json +18 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/pages/Main.js +4 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/controller/App.controller.js +3 -8
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/controller/App.controller.js +3 -8
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/qunit/IconPool.qunit.js +53 -4
- package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +43 -5
- package/test/sap/ui/core/qunit/Theming.qunit.js +19 -1
- package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +510 -185
- package/test/sap/ui/core/qunit/analytics/ODataModelAdapter.qunit.js +80 -10
- package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +20 -29
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +18 -1
- package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +15 -13
- package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +35 -12
- package/test/sap/ui/core/qunit/bootstrap/Configuration.main.qunit.js +11 -0
- package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.html +4 -3
- package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +71 -35
- package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted.qunit.js +1 -1
- package/test/sap/ui/core/qunit/component/Models.qunit.js +5 -2
- package/test/sap/ui/core/qunit/generic/EnforceSemanticRendering.qunit.js +2 -2
- package/test/sap/ui/core/qunit/generic/SettersContextReturn.qunit.js +2 -2
- package/test/sap/ui/core/qunit/generic/legacy/SettersContextReturn.qunit.js +2 -2
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +48 -13
- package/test/sap/ui/core/qunit/i18n/UI5Date.qunit.js +16 -4
- package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +73 -103
- package/test/sap/ui/core/qunit/i18n/UniversalDateUtils.qunit.js +34 -39
- package/test/sap/ui/core/qunit/internal/BeforePush.ODataV4.js +28 -0
- package/test/sap/ui/core/qunit/internal/BeforePush.html +1 -0
- package/test/sap/ui/core/qunit/internal/BeforePush.js +15 -0
- package/test/sap/ui/core/qunit/internal/performance/ExpressionParser.performance.qunit.js +1 -0
- package/test/sap/ui/core/qunit/loader/asyncMode.qunit.js +2 -2
- package/test/sap/ui/core/qunit/loader/asyncMode_unavoidablySync.qunit.js +1 -1
- package/test/sap/ui/core/qunit/loader/testsuite.loader.qunit.js +0 -3
- package/test/sap/ui/core/qunit/model/FAR_CUSTOMER_LINE_ITEMS.metadata.xml +2 -0
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +51 -0
- package/test/sap/ui/core/qunit/mvc/testdata/Async.view.xml +1 -1
- package/test/sap/ui/core/qunit/mvc/testdata/AsyncTypedView.js +5 -1
- package/test/sap/ui/core/qunit/odata/ODataMetadataNoFakeService.qunit.js +68 -4
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +232 -37
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +1 -1
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +10 -5
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +33 -1
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +5 -3
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +186 -65
- package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +17 -66
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +528 -60
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +48 -8
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +0 -3
- package/test/sap/ui/core/qunit/odata/v4/data/metadata.json +2 -1
- package/test/sap/ui/core/qunit/odata/v4/data/metadata.xml +4 -0
- package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +2 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +148 -1
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +24 -11
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +196 -404
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +201 -2
- package/test/sap/ui/core/qunit/odata/v4/lib/_MetadataRequestor.qunit.js +7 -3
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +21 -4
- package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +4 -2
- package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +129 -2
- package/test/sap/ui/core/qunit/opa/matchers/_Editable.qunit.js +5 -1
- package/test/sap/ui/core/qunit/routing/fixture/Async1.view.xml +1 -1
- package/test/sap/ui/core/qunit/testdata/xml-require/helper/Formatter.js +7 -4
- package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_in_html.view.xml +36 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +2 -2
- package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +1222 -1201
- package/test/sap/ui/core/qunit/util/Popup.qunit.js +7 -11
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +3 -1
- package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +3 -0
- package/test/sap/ui/core/qunit/util/reflection/BaseTreeModifier.qunit.js +1 -1
- package/test/sap/ui/core/relnotes/changes-1.116.json +1 -12
- package/test/sap/ui/core/relnotes/changes-1.117.json +127 -0
- package/test/sap/ui/core/visual/images/HyphenationPlayground/windows/1600x1200/chrome/horizon/ltr/cozy/19_thirdParty_language_sl.ref.lnk +1 -1
- package/ui5.yaml +165 -0
- package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +0 -45
- /package/test/sap/ui/core/qunit/bootstrap/{GlobalConfigurationSettings.js → Configuration.beforeBootstrap.qunit.js} +0 -0
|
@@ -49,10 +49,38 @@ sap.ui.define([
|
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
function failed(sDesc, oResponse) {
|
|
53
|
+
return `\u2716 ${sDesc} request failed: ${oResponse.status} ${oResponse.statusText}`;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
async function resetSalesOrders(fnSetStatus) {
|
|
57
|
+
fnSetStatus("Resetting SalesOrders data...");
|
|
58
|
+
const sService = "/sap/opu/odata4/sap/zui5_testv4/default/sap/zui5_epm_sample/0002/";
|
|
59
|
+
const oHeaderResponse = await fetch(sService, {
|
|
60
|
+
method : "HEAD",
|
|
61
|
+
headers : {"X-CSRF-Token" : "Fetch"}
|
|
62
|
+
});
|
|
63
|
+
if (!oHeaderResponse.ok) {
|
|
64
|
+
fnSetStatus(failed("Head", oHeaderResponse));
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const oActionResponse = await fetch(`${sService}RegenerateEPMData`, {
|
|
68
|
+
method : "POST",
|
|
69
|
+
headers : {"X-CSRF-Token" : oHeaderResponse.headers.get('X-CSRF-Token')}
|
|
70
|
+
});
|
|
71
|
+
fnSetStatus(oActionResponse.ok
|
|
72
|
+
? "\u2714 SalesOrders data reset"
|
|
73
|
+
: failed("Reset", oActionResponse)
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
|
|
52
77
|
addAppsAndTests(oODataSuite, "odata/v4/testsuite.odatav4.qunit");
|
|
53
78
|
addAppsAndTests(oFeatureSuite, "internal/testsuite.feature-odata-v4.qunit");
|
|
54
79
|
|
|
55
80
|
return {
|
|
81
|
+
actions : {
|
|
82
|
+
"Reset SalesOrders Data" : resetSalesOrders
|
|
83
|
+
},
|
|
56
84
|
apps : mApps,
|
|
57
85
|
tests: mTests
|
|
58
86
|
};
|
|
@@ -51,6 +51,20 @@
|
|
|
51
51
|
"Only realOData" : {realOData : true}
|
|
52
52
|
};
|
|
53
53
|
|
|
54
|
+
// adds buttons for all the actions to the corresponding <div>
|
|
55
|
+
function actions(mActions) {
|
|
56
|
+
if (!mActions) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const oDiv = document.getElementById("actions");
|
|
60
|
+
for (const [sTitle, fnAction] of Object.entries(mActions)) {
|
|
61
|
+
const oButton = document.createElement("button");
|
|
62
|
+
oButton.innerText = sTitle;
|
|
63
|
+
oButton.onclick = fnAction.bind(null, setStatus);
|
|
64
|
+
oDiv.appendChild(oButton);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
54
68
|
// returns an array of tests according to the given flags
|
|
55
69
|
function filterTests(mTests, bIntegration, bRealOData) {
|
|
56
70
|
var sUnwanted = bIntegration ? "full" : "integration",
|
|
@@ -482,6 +496,7 @@
|
|
|
482
496
|
setTitle(mParameters.team);
|
|
483
497
|
sap.ui.require([sTestsScript], function (oConfig) {
|
|
484
498
|
if (mParameters.variants) {
|
|
499
|
+
actions(oConfig.actions);
|
|
485
500
|
variants();
|
|
486
501
|
showApps(oConfig.apps);
|
|
487
502
|
return;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
var privateLoaderAPI = sap.ui.loader._;
|
|
6
6
|
|
|
7
7
|
QUnit.config.autostart = false;
|
|
8
|
-
|
|
8
|
+
|
|
9
9
|
if ( QUnit.urlParams["rtf"] || QUnit.urlParams["repeat-to-failure"]) {
|
|
10
10
|
QUnit.done(function(results) {
|
|
11
11
|
if (results.failed === 0) {
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
], function(module, subpkgMod) {
|
|
175
175
|
assert.equal(typeof module.module, 'object', "special dependency module should be an object");
|
|
176
176
|
assert.equal(module.module.id, 'fixture/require-module-exports/module', "special dependency module should have an 'id' property with the module ID");
|
|
177
|
-
assert.ok(Object.
|
|
177
|
+
assert.ok(Object.hasOwn(module.module, 'exports'), "special dependency module should have an 'exports' property");
|
|
178
178
|
assert.ok(isEmpty(module.module.exports), "exports initially should be an empty object");
|
|
179
179
|
done();
|
|
180
180
|
});
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"use strict";
|
|
4
4
|
QUnit.config.reorder = false; // ## remove
|
|
5
5
|
QUnit.config.autostart = false;
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
if ( QUnit.urlParams["rtf"] || QUnit.urlParams["repeat-to-failure"]) {
|
|
8
8
|
QUnit.done(function(results) {
|
|
9
9
|
if (results.failed === 0) {
|
|
@@ -17,8 +17,10 @@
|
|
|
17
17
|
<Property Name="AccountingDocumentItem" Type="Edm.String" MaxLength="3" sap:aggregation-role="dimension" sap:display-format="UpperCase" sap:label="Line Item" sap:creatable="false" sap:updatable="false"/>
|
|
18
18
|
<Property Name="AmountInCompanyCodeCurrency" Type="Edm.String" MaxLength="5" sap:aggregation-role="measure" sap:display-format="UpperCase" sap:label="Amount" sap:creatable="false" sap:unit="Currency" sap:updatable="false"/>
|
|
19
19
|
<Property Name="CompanyCode" Type="Edm.String" MaxLength="4" sap:aggregation-role="dimension" sap:display-format="UpperCase" sap:text="CompanyName" sap:label="Company Code" sap:creatable="false" sap:updatable="false" sap:value-list="standard"/>
|
|
20
|
+
<Property Name="CompanyName" Type="Edm.String" MaxLength="25" sap:unicode="false" sap:label="Company Name" sap:quickinfo="Name of Company Code or Company" sap:creatable="false" sap:updatable="false" />
|
|
20
21
|
<Property Name="Currency" Type="Edm.String" MaxLength="5" sap:semantics="currency-code" sap:aggregation-role="dimension" sap:label="Currency"/>
|
|
21
22
|
<Property Name="Customer" Type="Edm.String" MaxLength="10" sap:aggregation-role="dimension" sap:display-format="UpperCase" sap:text="CustomerName" sap:label="Customer" sap:creatable="false" sap:updatable="false" sap:value-list="standard"/>
|
|
23
|
+
<Property Name="CustomerName" Type="Edm.String" MaxLength="80" sap:unicode="false" sap:label="Customer Name" sap:creatable="false" sap:updatable="false" />
|
|
22
24
|
<Property Name="GeneratedID" Type="Edm.String" Nullable="false" sap:aggregation-role="dimension" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
|
|
23
25
|
<!-- property with sap:value-list but no value list provided in separate load -->
|
|
24
26
|
<Property Name="Invalid" Type="Edm.String" sap:value-list="standard"/>
|
|
@@ -261,6 +261,55 @@ sap.ui.define([
|
|
|
261
261
|
"Error found in View (id: 'viewWithBoundContentHTML').\nXML node: '<html:div xmlns:html=\"http://www.w3.org/1999/xhtml\"></html:div>':\nNo XHTML or SVG node is allowed because the 'content' aggregation is bound.",
|
|
262
262
|
"Error message is correct");
|
|
263
263
|
}
|
|
264
|
+
}, {
|
|
265
|
+
testDescription: "Parsing core:require and forward it to XHTML",
|
|
266
|
+
viewName: ".view.XMLTemplateProcessorAsync_require_in_html",
|
|
267
|
+
settings: {
|
|
268
|
+
async: {
|
|
269
|
+
create: createView
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
runAssertions: function (oView, mSpies, assert, bAsync) {
|
|
273
|
+
var BusyIndicator = sap.ui.require("sap/ui/core/BusyIndicator");
|
|
274
|
+
var MessageBox = sap.ui.require("sap/m/MessageBox");
|
|
275
|
+
|
|
276
|
+
assert.ok(BusyIndicator, "Class is loaded");
|
|
277
|
+
assert.ok(MessageBox, "Class is loaded");
|
|
278
|
+
|
|
279
|
+
var oButton = oView.byId("button");
|
|
280
|
+
var oNestedButton = oView.byId("nestedButton");
|
|
281
|
+
|
|
282
|
+
var oBusyIndicatorShowSpy = this.spy(BusyIndicator, "show");
|
|
283
|
+
|
|
284
|
+
oButton.fireEvent("press");
|
|
285
|
+
assert.ok(oBusyIndicatorShowSpy.calledOnce, "show method is called once");
|
|
286
|
+
BusyIndicator.hide();
|
|
287
|
+
oBusyIndicatorShowSpy.resetHistory();
|
|
288
|
+
|
|
289
|
+
var sText = oNestedButton.getText();
|
|
290
|
+
assert.equal(sText, "NESTED BUTTON", "The button text is formatted to upper case");
|
|
291
|
+
oNestedButton.fireEvent("press");
|
|
292
|
+
assert.ok(oBusyIndicatorShowSpy.calledOnce, "show method is called once again");
|
|
293
|
+
BusyIndicator.hide();
|
|
294
|
+
oBusyIndicatorShowSpy.resetHistory();
|
|
295
|
+
|
|
296
|
+
var oButtonInPanel = oView.byId("buttonInPanel");
|
|
297
|
+
var oNestedButtonInPanel = oView.byId("nestedButtonInPanel");
|
|
298
|
+
|
|
299
|
+
sText = oButtonInPanel.getText();
|
|
300
|
+
assert.equal(sText, "Click Me", "The button text is formatted by the updated formatter");
|
|
301
|
+
oButtonInPanel.fireEvent("press");
|
|
302
|
+
assert.ok(oBusyIndicatorShowSpy.calledOnce, "show method is called once again");
|
|
303
|
+
BusyIndicator.hide();
|
|
304
|
+
oBusyIndicatorShowSpy.resetHistory();
|
|
305
|
+
|
|
306
|
+
sText = oNestedButtonInPanel.getText();
|
|
307
|
+
assert.equal(sText, "OK", "The button text is formatted by the updated formatter");
|
|
308
|
+
oNestedButtonInPanel.fireEvent("press");
|
|
309
|
+
assert.ok(oBusyIndicatorShowSpy.calledOnce, "show method is called once again");
|
|
310
|
+
BusyIndicator.hide();
|
|
311
|
+
oBusyIndicatorShowSpy.resetHistory();
|
|
312
|
+
}
|
|
264
313
|
}, {
|
|
265
314
|
testDescription: "Parsing core:require in fragment",
|
|
266
315
|
viewName: ".view.XMLTemplateProcessorAsync_fragment_require",
|
|
@@ -561,6 +610,8 @@ sap.ui.define([
|
|
|
561
610
|
}, function(oError) {
|
|
562
611
|
if (oConfig.onRejection) {
|
|
563
612
|
oConfig.onRejection(assert, oError);
|
|
613
|
+
} else {
|
|
614
|
+
throw oError;
|
|
564
615
|
}
|
|
565
616
|
});
|
|
566
617
|
});
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
<Image width="150px" height="110px" src="./testdata/images/screw.jpg"></Image>
|
|
6
6
|
|
|
7
|
-
<form:SimpleForm id="Layout" width="250px" class="myMatrixLayout">
|
|
7
|
+
<form:SimpleForm id="Layout" width="250px" class="myMatrixLayout" layout="ColumnLayout">
|
|
8
8
|
<Label text="Product:"></Label>
|
|
9
9
|
<Input id="Product" value="Deluxe Screw"></Input>
|
|
10
10
|
<Label text="Material:"></Label>
|
|
@@ -4,10 +4,13 @@ sap.ui.define([
|
|
|
4
4
|
"sap/m/Label",
|
|
5
5
|
"sap/m/Link",
|
|
6
6
|
"sap/ui/core/mvc/View",
|
|
7
|
+
"sap/ui/layout/library",
|
|
7
8
|
"sap/ui/layout/form/SimpleForm"
|
|
8
|
-
], function (Image, Input, Label, Link, View, SimpleForm) {
|
|
9
|
+
], function (Image, Input, Label, Link, View, layoutlibrary, SimpleForm) {
|
|
9
10
|
"use strict";
|
|
10
11
|
|
|
12
|
+
var SimpleFormLayout = layoutlibrary.form.SimpleFormLayout;
|
|
13
|
+
|
|
11
14
|
return View.extend("testdata.mvc.AsyncTypedView", {
|
|
12
15
|
|
|
13
16
|
getControllerName: function () {
|
|
@@ -23,6 +26,7 @@ sap.ui.define([
|
|
|
23
26
|
});
|
|
24
27
|
var oForm = new SimpleForm({
|
|
25
28
|
id: this.createId("Layout"),
|
|
29
|
+
layout: SimpleFormLayout.ColumnLayout,
|
|
26
30
|
content: [
|
|
27
31
|
new Label({
|
|
28
32
|
text: "Product"
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
sap.ui.define([
|
|
5
5
|
"sap/base/Log",
|
|
6
6
|
"sap/ui/model/odata/_ODataMetaModelUtils",
|
|
7
|
+
"sap/ui/model/odata/AnnotationParser",
|
|
7
8
|
"sap/ui/model/odata/ODataMetadata",
|
|
8
9
|
"sap/ui/thirdparty/datajs"
|
|
9
|
-
], function (Log, _ODataMetaModelUtils, ODataMetadata, OData) {
|
|
10
|
+
], function (Log, _ODataMetaModelUtils, AnnotationParser, ODataMetadata, OData) {
|
|
10
11
|
/*global QUnit, sinon*/
|
|
11
12
|
/*eslint no-warning-comments: 0, max-nested-callbacks: 0*/
|
|
12
13
|
"use strict";
|
|
@@ -25,7 +26,7 @@ sap.ui.define([
|
|
|
25
26
|
// Stub ODataMetadata so that the constructor can be called w/o cachekey
|
|
26
27
|
// With cachekey also the CacheManager needs to be stubbed.
|
|
27
28
|
oLoadMetadataStub.callsFake(function () {
|
|
28
|
-
return
|
|
29
|
+
return Promise.resolve();
|
|
29
30
|
});
|
|
30
31
|
this.sUrl = "/some/url";
|
|
31
32
|
this.oMetadata = new ODataMetadata(this.sUrl, {});
|
|
@@ -89,6 +90,19 @@ sap.ui.define([
|
|
|
89
90
|
});
|
|
90
91
|
});
|
|
91
92
|
|
|
93
|
+
//*********************************************************************************************
|
|
94
|
+
QUnit.test("constructor: with predefined metadata", function (assert) {
|
|
95
|
+
const pMetadataLoaded = Promise.resolve();
|
|
96
|
+
this.mock(ODataMetadata.prototype).expects("_loadMetadata").withExactArgs().returns(pMetadataLoaded);
|
|
97
|
+
|
|
98
|
+
// code under test
|
|
99
|
+
const oMetadata = new ODataMetadata("~url", {metadata : "~metadata"});
|
|
100
|
+
|
|
101
|
+
assert.strictEqual(oMetadata.sMetadata, "~metadata");
|
|
102
|
+
|
|
103
|
+
return pMetadataLoaded;
|
|
104
|
+
});
|
|
105
|
+
|
|
92
106
|
//*********************************************************************************************
|
|
93
107
|
[true, false].forEach(function (bReject) {
|
|
94
108
|
var sTitle = "loaded returns " + ( bReject ? "pLoadedWithReject" : "pLoaded" );
|
|
@@ -137,8 +151,35 @@ sap.ui.define([
|
|
|
137
151
|
});
|
|
138
152
|
|
|
139
153
|
// code under test
|
|
140
|
-
return this.oMetadata._loadMetadata(undefined, /*bSuppressEvents*/true).catch(function () {
|
|
141
|
-
|
|
154
|
+
return this.oMetadata._loadMetadata(undefined, /*bSuppressEvents*/true).catch(function (oResult) {
|
|
155
|
+
assert.strictEqual(oResult.message, "Message");
|
|
156
|
+
assert.strictEqual(oResult.request, "Request");
|
|
157
|
+
assert.strictEqual(oResult.response, oError.response);
|
|
158
|
+
assert.strictEqual(oResult.responseText, "Response body");
|
|
159
|
+
assert.strictEqual(oResult.statusCode, 503);
|
|
160
|
+
assert.strictEqual(oResult.statusText, "Status text");
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
//*********************************************************************************************
|
|
165
|
+
QUnit.test("_loadMetadata: process metadata from string", function (assert) {
|
|
166
|
+
this.oMetadata.sMetadata = "~XMLmetadata"; // metadata constructed from string
|
|
167
|
+
const oMetadataMock = this.mock(this.oMetadata);
|
|
168
|
+
oMetadataMock.expects("_createRequest").never();
|
|
169
|
+
const oResponse = {
|
|
170
|
+
headers : {"Content-Type" : "application/xml"},
|
|
171
|
+
body : "~XMLmetadata"
|
|
172
|
+
};
|
|
173
|
+
this.mock(OData.metadataHandler).expects("read").withExactArgs(oResponse, {}).callsFake((oResponse) => {
|
|
174
|
+
oResponse.data = {dataServices : {}};
|
|
175
|
+
});
|
|
176
|
+
oMetadataMock.expects("_handleLoaded")
|
|
177
|
+
.withExactArgs({dataServices : {}}, {metadataString : "~XMLmetadata"} ,true).callThrough();
|
|
178
|
+
|
|
179
|
+
// code under test
|
|
180
|
+
return this.oMetadata._loadMetadata(undefined, /*bSuppressEvents*/true).then((mParams) => {
|
|
181
|
+
assert.strictEqual(mParams.metadataString, "~XMLmetadata");
|
|
182
|
+
assert.deepEqual(this.oMetadata.oMetadata, {dataServices : {}});
|
|
142
183
|
});
|
|
143
184
|
});
|
|
144
185
|
|
|
@@ -586,4 +627,27 @@ sap.ui.define([
|
|
|
586
627
|
assert.strictEqual(this.oMetadata._isAddressable(oEntityType), oFixture.result);
|
|
587
628
|
});
|
|
588
629
|
});
|
|
630
|
+
|
|
631
|
+
//*********************************************************************************************
|
|
632
|
+
QUnit.test("getServiceAnnotations", function (assert) {
|
|
633
|
+
const pMetadataLoaded = Promise.resolve();
|
|
634
|
+
this.mock(ODataMetadata.prototype).expects("_loadMetadata")
|
|
635
|
+
.withExactArgs()
|
|
636
|
+
.callsFake(function () {
|
|
637
|
+
assert.strictEqual(this.sMetadata, "~XMLmetadata");
|
|
638
|
+
this.oMetadata = "~JSONmetadata";
|
|
639
|
+
return pMetadataLoaded;
|
|
640
|
+
});
|
|
641
|
+
this.mock(DOMParser.prototype).expects("parseFromString")
|
|
642
|
+
.withExactArgs("~XMLmetadata", "application/xml")
|
|
643
|
+
.returns("~oXMLDoc");
|
|
644
|
+
this.mock(AnnotationParser).expects("parse")
|
|
645
|
+
.withExactArgs(sinon.match((oMetadata) => oMetadata.oMetadata === "~JSONmetadata"), "~oXMLDoc")
|
|
646
|
+
.returns("~oAnnotations");
|
|
647
|
+
|
|
648
|
+
// code under test
|
|
649
|
+
assert.strictEqual(ODataMetadata.getServiceAnnotations("~XMLmetadata"), "~oAnnotations");
|
|
650
|
+
|
|
651
|
+
return pMetadataLoaded;
|
|
652
|
+
});
|
|
589
653
|
});
|