@openui5/sap.ui.core 1.120.1 → 1.120.3
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/.reuse/dep5 +1 -1
- package/THIRDPARTY.txt +1 -1
- package/package.json +1 -1
- package/src/jquery.sap.act.js +1 -1
- package/src/jquery.sap.dom.js +1 -1
- package/src/jquery.sap.encoder.js +1 -1
- package/src/jquery.sap.events.js +1 -1
- package/src/jquery.sap.global.js +2 -2
- package/src/jquery.sap.history.js +1 -1
- package/src/jquery.sap.keycodes.js +1 -1
- package/src/jquery.sap.mobile.js +1 -1
- package/src/jquery.sap.promise.js +1 -1
- package/src/jquery.sap.properties.js +2 -2
- package/src/jquery.sap.resources.js +2 -2
- package/src/jquery.sap.script.js +2 -2
- package/src/jquery.sap.sjax.js +1 -1
- package/src/jquery.sap.storage.js +4 -4
- package/src/jquery.sap.strings.js +1 -1
- package/src/jquery.sap.stubs.js +1 -1
- package/src/jquery.sap.trace.js +1 -1
- package/src/jquery.sap.ui.js +1 -1
- package/src/jquery.sap.xml.js +1 -1
- package/src/sap/base/Event.js +2 -2
- package/src/sap/base/Eventing.js +2 -2
- package/src/sap/base/Log.js +1 -1
- package/src/sap/base/assert.js +1 -1
- package/src/sap/base/config/MemoryConfigurationProvider.js +1 -1
- package/src/sap/base/config.js +2 -2
- package/src/sap/base/i18n/Formatting.js +1 -1
- package/src/sap/base/i18n/LanguageTag.js +2 -2
- package/src/sap/base/i18n/Localization.js +1 -1
- package/src/sap/base/i18n/ResourceBundle.js +1 -1
- 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 +23 -10
- package/src/sap/base/security/URLListValidator.js +1 -1
- package/src/sap/base/security/URLWhitelist.js +1 -1
- package/src/sap/base/security/encodeCSS.js +1 -1
- package/src/sap/base/security/encodeJS.js +1 -1
- package/src/sap/base/security/encodeURL.js +1 -1
- package/src/sap/base/security/encodeURLParameters.js +1 -1
- package/src/sap/base/security/encodeXML.js +1 -1
- package/src/sap/base/security/sanitizeHTML.js +1 -1
- package/src/sap/base/strings/camelize.js +1 -1
- package/src/sap/base/strings/capitalize.js +1 -1
- package/src/sap/base/strings/escapeRegExp.js +1 -1
- package/src/sap/base/strings/formatMessage.js +1 -1
- package/src/sap/base/strings/hash.js +1 -1
- package/src/sap/base/strings/hyphenate.js +1 -1
- package/src/sap/base/strings/toHex.js +1 -1
- package/src/sap/base/strings/whitespaceReplacer.js +1 -1
- package/src/sap/base/util/Deferred.js +1 -1
- package/src/sap/base/util/JSTokenizer.js +1 -1
- package/src/sap/base/util/LoaderExtensions.js +1 -1
- package/src/sap/base/util/ObjectPath.js +1 -1
- package/src/sap/base/util/Properties.js +1 -1
- package/src/sap/base/util/UriParameters.js +1 -1
- package/src/sap/base/util/Version.js +1 -1
- package/src/sap/base/util/_merge.js +1 -1
- package/src/sap/base/util/array/diff.js +1 -1
- package/src/sap/base/util/array/uniqueSort.js +1 -1
- package/src/sap/base/util/deepClone.js +1 -1
- package/src/sap/base/util/deepEqual.js +1 -1
- package/src/sap/base/util/deepExtend.js +1 -1
- package/src/sap/base/util/defineCoupledProperty.js +1 -1
- package/src/sap/base/util/defineLazyProperty.js +1 -1
- package/src/sap/base/util/each.js +1 -1
- package/src/sap/base/util/extend.js +1 -1
- package/src/sap/base/util/fetch.js +1 -1
- package/src/sap/base/util/includes.js +1 -1
- package/src/sap/base/util/isEmptyObject.js +1 -1
- package/src/sap/base/util/isPlainObject.js +1 -1
- package/src/sap/base/util/merge.js +1 -1
- package/src/sap/base/util/mixedFetch.js +1 -1
- package/src/sap/base/util/now.js +1 -1
- package/src/sap/base/util/resolveReference.js +1 -1
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +2 -2
- package/src/sap/base/util/restricted/_compact.js +2 -2
- package/src/sap/base/util/restricted/_curry.js +2 -2
- package/src/sap/base/util/restricted/_debounce.js +2 -2
- package/src/sap/base/util/restricted/_difference.js +2 -2
- package/src/sap/base/util/restricted/_differenceBy.js +2 -2
- package/src/sap/base/util/restricted/_differenceWith.js +2 -2
- package/src/sap/base/util/restricted/_flatMap.js +2 -2
- package/src/sap/base/util/restricted/_flatMapDeep.js +2 -2
- package/src/sap/base/util/restricted/_flatMapDepth.js +2 -2
- package/src/sap/base/util/restricted/_flatten.js +2 -2
- package/src/sap/base/util/restricted/_flattenDeep.js +2 -2
- package/src/sap/base/util/restricted/_flattenDepth.js +2 -2
- package/src/sap/base/util/restricted/_intersection.js +2 -2
- package/src/sap/base/util/restricted/_intersectionBy.js +2 -2
- package/src/sap/base/util/restricted/_intersectionWith.js +2 -2
- package/src/sap/base/util/restricted/_isEqual.js +2 -2
- package/src/sap/base/util/restricted/_isEqualWith.js +2 -2
- package/src/sap/base/util/restricted/_isNil.js +2 -2
- package/src/sap/base/util/restricted/_max.js +2 -2
- package/src/sap/base/util/restricted/_merge.js +2 -2
- package/src/sap/base/util/restricted/_mergeWith.js +2 -2
- package/src/sap/base/util/restricted/_min.js +2 -2
- package/src/sap/base/util/restricted/_omit.js +2 -2
- package/src/sap/base/util/restricted/_pick.js +2 -2
- package/src/sap/base/util/restricted/_pickBy.js +2 -2
- package/src/sap/base/util/restricted/_throttle.js +2 -2
- package/src/sap/base/util/restricted/_toArray.js +2 -2
- package/src/sap/base/util/restricted/_union.js +2 -2
- package/src/sap/base/util/restricted/_unionBy.js +2 -2
- package/src/sap/base/util/restricted/_unionWith.js +2 -2
- package/src/sap/base/util/restricted/_uniq.js +2 -2
- package/src/sap/base/util/restricted/_uniqBy.js +2 -2
- package/src/sap/base/util/restricted/_uniqWith.js +2 -2
- package/src/sap/base/util/restricted/_without.js +2 -2
- package/src/sap/base/util/restricted/_xor.js +2 -2
- package/src/sap/base/util/restricted/_xorBy.js +2 -2
- package/src/sap/base/util/restricted/_xorWith.js +2 -2
- package/src/sap/base/util/restricted/_zipObject.js +2 -2
- package/src/sap/base/util/restricted/_zipObjectDeep.js +2 -2
- package/src/sap/base/util/syncFetch.js +1 -1
- package/src/sap/base/util/uid.js +1 -1
- package/src/sap/base/util/values.js +1 -1
- package/src/sap/ui/Device.js +4 -4
- package/src/sap/ui/Global.js +5 -5
- package/src/sap/ui/VersionInfo.js +1 -1
- package/src/sap/ui/base/BindingInfo.js +1 -1
- package/src/sap/ui/base/BindingParser.js +5 -5
- package/src/sap/ui/base/DataType.js +6 -6
- package/src/sap/ui/base/DesignTime.js +1 -1
- package/src/sap/ui/base/Event.js +2 -2
- package/src/sap/ui/base/EventProvider.js +2 -2
- package/src/sap/ui/base/Exception.js +1 -1
- package/src/sap/ui/base/ExpressionParser.js +1 -1
- package/src/sap/ui/base/Interface.js +2 -2
- package/src/sap/ui/base/ManagedObject.js +10 -10
- package/src/sap/ui/base/ManagedObjectMetadata.js +2 -2
- package/src/sap/ui/base/ManagedObjectObserver.js +1 -1
- package/src/sap/ui/base/ManagedObjectRegistry.js +187 -170
- package/src/sap/ui/base/Metadata.js +2 -2
- package/src/sap/ui/base/Object.js +2 -2
- package/src/sap/ui/base/ObjectPool.js +2 -2
- package/src/sap/ui/base/SyncPromise.js +1 -1
- package/src/sap/ui/base/syncXHRFix.js +1 -1
- package/src/sap/ui/core/.library +4 -4
- package/src/sap/ui/core/AccessKeysEnablement.js +1 -1
- package/src/sap/ui/core/AnimationMode.js +1 -1
- package/src/sap/ui/core/AppCacheBuster.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/BusyIndicatorUtils.js +1 -1
- package/src/sap/ui/core/CalendarType.js +1 -1
- package/src/sap/ui/core/CommandExecution.js +1 -1
- package/src/sap/ui/core/Component.js +31 -145
- package/src/sap/ui/core/ComponentContainer.js +4 -4
- package/src/sap/ui/core/ComponentContainerRenderer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +2 -2
- package/src/sap/ui/core/ComponentRegistry.js +153 -0
- package/src/sap/ui/core/ComponentSupport.js +4 -4
- package/src/sap/ui/core/Configuration.js +2 -2
- package/src/sap/ui/core/ContextMenuSupport.js +1 -1
- package/src/sap/ui/core/Control.js +7 -5
- package/src/sap/ui/core/ControlBehavior.js +1 -1
- package/src/sap/ui/core/Core.js +7 -5
- package/src/sap/ui/core/CustomData.js +2 -2
- package/src/sap/ui/core/CustomStyleClassSupport.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +2 -2
- package/src/sap/ui/core/Element.js +26 -142
- package/src/sap/ui/core/ElementMetadata.js +2 -2
- package/src/sap/ui/core/ElementRegistry.js +159 -0
- package/src/sap/ui/core/EnabledPropagator.js +2 -2
- package/src/sap/ui/core/EventBus.js +2 -2
- package/src/sap/ui/core/ExtensionPoint.js +6 -6
- package/src/sap/ui/core/FocusHandler.js +4 -3
- package/src/sap/ui/core/Fragment.js +6 -6
- package/src/sap/ui/core/HTML.js +2 -2
- package/src/sap/ui/core/HTMLRenderer.js +1 -1
- package/src/sap/ui/core/History.js +2 -2
- package/src/sap/ui/core/Icon.js +2 -2
- package/src/sap/ui/core/IconPool.js +1 -1
- package/src/sap/ui/core/IconRenderer.js +1 -1
- package/src/sap/ui/core/IndicationColorSupport.js +2 -2
- package/src/sap/ui/core/IntervalTrigger.js +2 -2
- package/src/sap/ui/core/InvisibleMessage.js +2 -2
- package/src/sap/ui/core/InvisibleRenderer.js +2 -2
- package/src/sap/ui/core/InvisibleText.js +2 -2
- package/src/sap/ui/core/Item.js +2 -2
- package/src/sap/ui/core/LabelEnablement.js +2 -2
- package/src/sap/ui/core/LayoutData.js +2 -2
- package/src/sap/ui/core/Lib.js +15 -8
- package/src/sap/ui/core/ListItem.js +2 -2
- package/src/sap/ui/core/LocalBusyIndicator.js +2 -2
- package/src/sap/ui/core/LocalBusyIndicatorRenderer.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicatorSupport.js +1 -1
- package/src/sap/ui/core/Locale.js +2 -2
- package/src/sap/ui/core/LocaleData.js +56 -12
- package/src/sap/ui/core/Manifest.js +5 -6
- package/src/sap/ui/core/Message.js +3 -2
- package/src/sap/ui/core/Messaging.js +3 -3
- package/src/sap/ui/core/Patcher.js +1 -1
- package/src/sap/ui/core/Placeholder.js +1 -1
- package/src/sap/ui/core/Popup.js +1 -1
- package/src/sap/ui/core/RenderManager.js +2 -2
- package/src/sap/ui/core/Renderer.js +2 -2
- package/src/sap/ui/core/Rendering.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +2 -2
- package/src/sap/ui/core/ScrollBar.js +2 -2
- package/src/sap/ui/core/ScrollBarRenderer.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +2 -2
- package/src/sap/ui/core/Shortcut.js +16 -10
- package/src/sap/ui/core/ShortcutHint.js +1 -1
- package/src/sap/ui/core/ShortcutHintsMixin.js +1 -1
- package/src/sap/ui/core/StashedControlSupport.js +1 -1
- package/src/sap/ui/core/StaticArea.js +5 -2
- package/src/sap/ui/core/Supportability.js +1 -1
- package/src/sap/ui/core/Theming.js +3 -3
- package/src/sap/ui/core/Title.js +2 -2
- package/src/sap/ui/core/TooltipBase.js +2 -2
- package/src/sap/ui/core/UIArea.js +52 -14
- package/src/sap/ui/core/UIAreaRegistry.js +150 -0
- package/src/sap/ui/core/UIComponent.js +4 -4
- package/src/sap/ui/core/UIComponentMetadata.js +2 -2
- package/src/sap/ui/core/ValueStateSupport.js +2 -2
- package/src/sap/ui/core/VariantLayoutData.js +2 -2
- package/src/sap/ui/core/XMLComposite.js +2 -2
- package/src/sap/ui/core/XMLCompositeMetadata.js +2 -2
- package/src/sap/ui/core/XMLTemplateProcessor.js +96 -77
- package/src/sap/ui/core/_IconRegistry.js +1 -1
- package/src/sap/ui/core/_UrlResolver.js +1 -1
- package/src/sap/ui/core/boot/_bootConfig.js +1 -1
- package/src/sap/ui/core/boot/_runBoot.js +1 -1
- package/src/sap/ui/core/boot/initDOM.js +1 -1
- package/src/sap/ui/core/boot/loadCalendar.js +1 -1
- package/src/sap/ui/core/boot/loadManifest.js +1 -1
- package/src/sap/ui/core/boot/loadModules.js +1 -1
- package/src/sap/ui/core/boot/onInit.js +1 -1
- package/src/sap/ui/core/boot.js +1 -1
- package/src/sap/ui/core/cache/CacheManager.js +1 -1
- package/src/sap/ui/core/cache/CacheManagerNOP.js +1 -1
- package/src/sap/ui/core/cache/LRUPersistentCache.js +1 -1
- package/src/sap/ui/core/cldr/Unicode-Data-Files-LICENSE.txt +1 -1
- package/src/sap/ui/core/cldr/cy.json +12 -3
- package/src/sap/ui/core/cldr/en_AU.json +48 -12
- package/src/sap/ui/core/cldr/en_GB.json +24 -6
- package/src/sap/ui/core/cldr/en_HK.json +24 -6
- package/src/sap/ui/core/cldr/en_IE.json +24 -6
- package/src/sap/ui/core/cldr/en_IN.json +24 -6
- package/src/sap/ui/core/cldr/en_NZ.json +24 -6
- package/src/sap/ui/core/cldr/en_PG.json +24 -6
- package/src/sap/ui/core/cldr/en_SG.json +24 -6
- package/src/sap/ui/core/cldr/en_ZA.json +24 -6
- package/src/sap/ui/core/cldr/es.json +288 -72
- package/src/sap/ui/core/cldr/es_AR.json +288 -72
- package/src/sap/ui/core/cldr/es_BO.json +288 -72
- package/src/sap/ui/core/cldr/es_CL.json +144 -36
- package/src/sap/ui/core/cldr/es_CO.json +144 -36
- package/src/sap/ui/core/cldr/es_MX.json +288 -72
- package/src/sap/ui/core/cldr/fa.json +48 -12
- package/src/sap/ui/core/cldr/id.json +56 -14
- package/src/sap/ui/core/cldr/kk.json +184 -46
- package/src/sap/ui/core/cldr/ms.json +56 -14
- package/src/sap/ui/core/cldr/nb.json +36 -9
- package/src/sap/ui/core/cldr/nl.json +264 -66
- package/src/sap/ui/core/cldr/nl_BE.json +264 -66
- package/src/sap/ui/core/cldr/pt.json +288 -72
- package/src/sap/ui/core/cldr/pt_PT.json +288 -72
- package/src/sap/ui/core/cldr/sr.json +96 -24
- package/src/sap/ui/core/cldr/sr_Latn.json +72 -18
- package/src/sap/ui/core/date/Buddhist.js +1 -1
- package/src/sap/ui/core/date/CalendarUtils.js +1 -1
- package/src/sap/ui/core/date/CalendarWeekNumbering.js +1 -1
- package/src/sap/ui/core/date/Gregorian.js +1 -1
- package/src/sap/ui/core/date/Islamic.js +1 -1
- package/src/sap/ui/core/date/Japanese.js +1 -1
- package/src/sap/ui/core/date/Persian.js +1 -1
- package/src/sap/ui/core/date/UI5Date.js +2 -2
- package/src/sap/ui/core/date/UniversalDate.js +1 -1
- package/src/sap/ui/core/date/UniversalDateUtils.js +1 -1
- package/src/sap/ui/core/date/_Calendars.js +1 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +2 -2
- package/src/sap/ui/core/delegate/ScrollEnablement.js +2 -2
- package/src/sap/ui/core/designtime/ComponentContainer.designtime.js +1 -1
- package/src/sap/ui/core/designtime/CustomData.designtime.js +1 -1
- package/src/sap/ui/core/designtime/Icon.designtime.js +1 -1
- package/src/sap/ui/core/designtime/UIComponent.designtime.js +1 -1
- package/src/sap/ui/core/designtime/library.designtime.js +1 -1
- package/src/sap/ui/core/designtime/mvc/ControllerExtensionTemplate.js +1 -1
- package/src/sap/ui/core/designtime/mvc/View.designtime.js +1 -1
- package/src/sap/ui/core/designtime/mvc/XMLView.designtime.js +1 -1
- package/src/sap/ui/core/dnd/DragAndDrop.js +1 -1
- package/src/sap/ui/core/dnd/DragDropBase.js +2 -2
- package/src/sap/ui/core/dnd/DragDropInfo.js +2 -2
- package/src/sap/ui/core/dnd/DragInfo.js +2 -2
- package/src/sap/ui/core/dnd/DropInfo.js +2 -2
- package/src/sap/ui/core/format/DateFormat.js +26 -14
- package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +1 -1
- package/src/sap/ui/core/format/FileSizeFormat.js +1 -1
- package/src/sap/ui/core/format/ListFormat.js +1 -1
- package/src/sap/ui/core/format/NumberFormat.js +1 -1
- package/src/sap/ui/core/format/TimezoneUtil.js +2 -2
- package/src/sap/ui/core/getCompatibilityVersion.js +2 -2
- package/src/sap/ui/core/hyphenation/Hyphenation.js +2 -2
- package/src/sap/ui/core/hyphenation/HyphenationTestingWords.js +1 -1
- package/src/sap/ui/core/library.js +10 -4
- package/src/sap/ui/core/library.support.js +1 -1
- package/src/sap/ui/core/message/ControlMessageProcessor.js +2 -2
- package/src/sap/ui/core/message/Message.js +8 -8
- package/src/sap/ui/core/message/MessageManager.js +2 -2
- package/src/sap/ui/core/message/MessageMixin.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +2 -2
- package/src/sap/ui/core/message/MessageProcessor.js +2 -2
- package/src/sap/ui/core/message/MessageType.js +2 -2
- package/src/sap/ui/core/messagebundle_cnr.properties +352 -0
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +297 -285
- package/src/sap/ui/core/mvc/Controller.js +16 -14
- package/src/sap/ui/core/mvc/ControllerExtension.js +8 -6
- package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +2 -2
- package/src/sap/ui/core/mvc/ControllerMetadata.js +2 -2
- package/src/sap/ui/core/mvc/EventHandlerResolver.js +5 -5
- package/src/sap/ui/core/mvc/HTMLView.js +2 -2
- package/src/sap/ui/core/mvc/HTMLViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +2 -2
- package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +2 -2
- package/src/sap/ui/core/mvc/JSViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/OverrideExecution.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +2 -2
- package/src/sap/ui/core/mvc/TemplateViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/View.js +21 -10
- package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/ViewType.js +1 -1
- package/src/sap/ui/core/mvc/XMLProcessingMode.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +9 -3
- package/src/sap/ui/core/mvc/XMLViewRenderer.js +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +2 -2
- package/src/sap/ui/core/plugin/LessSupport.js +2 -2
- package/src/sap/ui/core/plugin/TemplatingSupport.js +2 -2
- package/src/sap/ui/core/postmessage/Bus.js +2 -2
- package/src/sap/ui/core/postmessage/confirmationDialog.js +2 -2
- package/src/sap/ui/core/routing/HashChanger.js +1 -1
- package/src/sap/ui/core/routing/HashChangerBase.js +1 -1
- package/src/sap/ui/core/routing/History.js +2 -2
- package/src/sap/ui/core/routing/Route.js +7 -7
- package/src/sap/ui/core/routing/Router.js +7 -7
- package/src/sap/ui/core/routing/RouterHashChanger.js +1 -1
- package/src/sap/ui/core/routing/Target.js +1 -1
- package/src/sap/ui/core/routing/TargetCache.js +1 -1
- package/src/sap/ui/core/routing/Targets.js +4 -4
- package/src/sap/ui/core/routing/Views.js +1 -1
- package/src/sap/ui/core/routing/async/Route.js +1 -1
- package/src/sap/ui/core/routing/async/Target.js +3 -3
- package/src/sap/ui/core/routing/async/TargetCache.js +1 -1
- package/src/sap/ui/core/routing/async/Targets.js +2 -2
- package/src/sap/ui/core/routing/sync/Route.js +1 -1
- package/src/sap/ui/core/routing/sync/Target.js +1 -1
- package/src/sap/ui/core/routing/sync/TargetCache.js +1 -1
- package/src/sap/ui/core/routing/sync/Targets.js +1 -1
- package/src/sap/ui/core/rules/App.support.js +1 -1
- package/src/sap/ui/core/rules/Config.support.js +1 -1
- package/src/sap/ui/core/rules/CoreHelper.support.js +1 -1
- package/src/sap/ui/core/rules/Misc.support.js +4 -4
- package/src/sap/ui/core/rules/Model.support.js +1 -1
- package/src/sap/ui/core/rules/Rendering.support.js +1 -1
- package/src/sap/ui/core/rules/Theming.support.js +1 -1
- package/src/sap/ui/core/rules/View.support.js +1 -1
- package/src/sap/ui/core/search/OpenSearchProvider.js +2 -2
- package/src/sap/ui/core/search/SearchProvider.js +2 -2
- package/src/sap/ui/core/service/Service.js +2 -2
- package/src/sap/ui/core/service/ServiceFactory.js +2 -2
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +2 -2
- package/src/sap/ui/core/support/BootSupportTool.js +1 -1
- package/src/sap/ui/core/support/Hotkeys.js +1 -1
- package/src/sap/ui/core/support/Plugin.js +2 -2
- package/src/sap/ui/core/support/RuleEngineOpaExtension.js +1 -1
- package/src/sap/ui/core/support/Support.js +2 -2
- package/src/sap/ui/core/support/ToolsAPI.js +1 -1
- package/src/sap/ui/core/support/bootstrapFallback.js +1 -1
- package/src/sap/ui/core/support/controls/InteractionSlider.js +1 -1
- package/src/sap/ui/core/support/controls/InteractionTree.js +1 -1
- package/src/sap/ui/core/support/controls/ObjectViewer.js +1 -1
- package/src/sap/ui/core/support/controls/TimelineOverview.js +1 -1
- package/src/sap/ui/core/support/controls/TreeViewer.js +1 -1
- package/src/sap/ui/core/support/debugReboot.js +1 -1
- package/src/sap/ui/core/support/plugins/Breakpoint.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +7 -5
- package/src/sap/ui/core/support/plugins/Debugging.js +1 -1
- package/src/sap/ui/core/support/plugins/Interaction.js +2 -2
- package/src/sap/ui/core/support/plugins/LocalStorage.js +2 -2
- package/src/sap/ui/core/support/plugins/Performance.js +2 -2
- package/src/sap/ui/core/support/plugins/Selector.js +2 -2
- package/src/sap/ui/core/support/plugins/TechInfo.js +2 -2
- package/src/sap/ui/core/support/plugins/Trace.js +2 -2
- package/src/sap/ui/core/support/plugins/ViewInfo.js +2 -2
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +1 -1
- package/src/sap/ui/core/support/techinfo/moduleTreeHelper.js +1 -1
- package/src/sap/ui/core/support/trace/E2eTraceLib.js +1 -1
- package/src/sap/ui/core/support/trace/EppLib.js +1 -1
- package/src/sap/ui/core/support/usage/EventBroadcaster.js +1 -1
- package/src/sap/ui/core/syncStyleClass.js +1 -1
- package/src/sap/ui/core/themes/base/library.source.less +1 -1
- package/src/sap/ui/core/themes/sap_hcb/library.source.less +1 -1
- package/src/sap/ui/core/theming/Parameters.js +8 -8
- package/src/sap/ui/core/theming/ThemeHelper.js +3 -3
- package/src/sap/ui/core/theming/ThemeManager.js +3 -3
- package/src/sap/ui/core/tmpl/DOMAttribute.js +2 -2
- package/src/sap/ui/core/tmpl/DOMElement.js +2 -2
- package/src/sap/ui/core/tmpl/DOMElementRenderer.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +2 -2
- package/src/sap/ui/core/tmpl/Template.js +2 -2
- package/src/sap/ui/core/tmpl/TemplateControl.js +2 -2
- package/src/sap/ui/core/tmpl/TemplateControlRenderer.js +1 -1
- package/src/sap/ui/core/tmpl/_parsePath.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +2 -2
- package/src/sap/ui/core/util/DraftEnabledMockServer.js +1 -1
- package/src/sap/ui/core/util/Export.js +2 -2
- package/src/sap/ui/core/util/ExportCell.js +2 -2
- package/src/sap/ui/core/util/ExportColumn.js +2 -2
- package/src/sap/ui/core/util/ExportRow.js +2 -2
- package/src/sap/ui/core/util/ExportType.js +2 -2
- package/src/sap/ui/core/util/ExportTypeCSV.js +2 -2
- package/src/sap/ui/core/util/File.js +2 -2
- package/src/sap/ui/core/util/LibraryInfo.js +2 -2
- package/src/sap/ui/core/util/MockServer.js +35 -4
- package/src/sap/ui/core/util/PasteHelper.js +2 -2
- package/src/sap/ui/core/util/ResponsivePaddingsEnablement.js +1 -1
- package/src/sap/ui/core/util/ShortcutHelper.js +1 -1
- package/src/sap/ui/core/util/XMLPreprocessor.js +1 -1
- package/src/sap/ui/core/util/_LocalizationHelper.js +1 -1
- package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +16 -1
- package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +12 -1
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +15 -1
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +2 -2
- package/src/sap/ui/core/util/serializer/Serializer.js +2 -2
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +2 -2
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +2 -2
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +2 -2
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +2 -2
- package/src/sap/ui/core/util/serializer/delegate/XML.js +2 -2
- package/src/sap/ui/core/webc/WebComponent.js +2 -2
- package/src/sap/ui/core/webc/WebComponentMetadata.js +2 -2
- package/src/sap/ui/core/webc/WebComponentRenderer.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +2 -2
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +2 -2
- package/src/sap/ui/core/ws/WebSocket.js +2 -2
- package/src/sap/ui/debug/ControlTree.js +2 -2
- package/src/sap/ui/debug/DebugEnv.js +2 -2
- package/src/sap/ui/debug/Highlighter.js +1 -1
- package/src/sap/ui/debug/LogViewer.js +1 -1
- package/src/sap/ui/debug/PropertyList.js +2 -2
- package/src/sap/ui/dom/_ready.js +1 -1
- package/src/sap/ui/dom/containsOrEquals.js +1 -1
- package/src/sap/ui/dom/denormalizeScrollBeginRTL.js +1 -1
- package/src/sap/ui/dom/denormalizeScrollLeftRTL.js +1 -1
- package/src/sap/ui/dom/getComputedStyleFix.js +1 -1
- package/src/sap/ui/dom/getFirstEditableInput.js +1 -1
- package/src/sap/ui/dom/getOwnerWindow.js +1 -1
- package/src/sap/ui/dom/getScrollbarSize.js +1 -1
- package/src/sap/ui/dom/includeScript.js +1 -1
- package/src/sap/ui/dom/includeStylesheet.js +1 -1
- package/src/sap/ui/dom/isBehindOtherElement.js +1 -1
- package/src/sap/ui/dom/isHidden.js +1 -1
- package/src/sap/ui/dom/jquery/Aria.js +1 -1
- package/src/sap/ui/dom/jquery/Focusable.js +1 -1
- package/src/sap/ui/dom/jquery/Selection.js +1 -1
- package/src/sap/ui/dom/jquery/Selectors.js +1 -1
- package/src/sap/ui/dom/jquery/control.js +1 -1
- package/src/sap/ui/dom/jquery/cursorPos.js +1 -1
- package/src/sap/ui/dom/jquery/getSelectedText.js +1 -1
- package/src/sap/ui/dom/jquery/hasTabIndex.js +1 -1
- package/src/sap/ui/dom/jquery/parentByAttribute.js +1 -1
- package/src/sap/ui/dom/jquery/rect.js +1 -1
- package/src/sap/ui/dom/jquery/rectContains.js +1 -1
- package/src/sap/ui/dom/jquery/scrollLeftRTL.js +1 -1
- package/src/sap/ui/dom/jquery/scrollRightRTL.js +1 -1
- package/src/sap/ui/dom/jquery/selectText.js +1 -1
- package/src/sap/ui/dom/jquery/zIndex.js +1 -1
- package/src/sap/ui/dom/units/Rem.js +1 -1
- package/src/sap/ui/events/ControlEvents.js +1 -1
- package/src/sap/ui/events/F6Navigation.js +1 -1
- package/src/sap/ui/events/KeyCodes.js +1 -1
- package/src/sap/ui/events/PasteEventFix.js +1 -1
- package/src/sap/ui/events/PseudoEvents.js +1 -1
- package/src/sap/ui/events/TouchToMouseMapping.js +1 -1
- package/src/sap/ui/events/checkMouseEnterOrLeave.js +1 -1
- package/src/sap/ui/events/isMouseEventDelayed.js +1 -1
- package/src/sap/ui/events/isSpecialKey.js +1 -1
- package/src/sap/ui/events/jquery/EventExtension.js +1 -1
- package/src/sap/ui/events/jquery/EventSimulation.js +1 -1
- package/src/sap/ui/events/jquery/EventTriggerHook.js +1 -1
- package/src/sap/ui/model/Binding.js +3 -3
- package/src/sap/ui/model/BindingMode.js +1 -1
- package/src/sap/ui/model/ChangeReason.js +1 -1
- package/src/sap/ui/model/ClientContextBinding.js +1 -1
- package/src/sap/ui/model/ClientListBinding.js +1 -1
- package/src/sap/ui/model/ClientModel.js +2 -2
- package/src/sap/ui/model/ClientPropertyBinding.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +1 -1
- package/src/sap/ui/model/ClientTreeBindingAdapter.js +1 -1
- package/src/sap/ui/model/CompositeBinding.js +1 -1
- package/src/sap/ui/model/CompositeDataState.js +6 -6
- package/src/sap/ui/model/CompositeType.js +2 -2
- package/src/sap/ui/model/Context.js +1 -1
- package/src/sap/ui/model/ContextBinding.js +1 -1
- package/src/sap/ui/model/DataState.js +11 -11
- package/src/sap/ui/model/Filter.js +1 -1
- package/src/sap/ui/model/FilterOperator.js +1 -1
- package/src/sap/ui/model/FilterProcessor.js +9 -6
- package/src/sap/ui/model/FilterType.js +1 -1
- package/src/sap/ui/model/FormatException.js +1 -1
- package/src/sap/ui/model/ListBinding.js +1 -1
- package/src/sap/ui/model/ManagedObjectBindingSupport.js +3 -3
- package/src/sap/ui/model/MetaModel.js +2 -2
- package/src/sap/ui/model/Model.js +2 -2
- package/src/sap/ui/model/ParseException.js +1 -1
- package/src/sap/ui/model/PropertyBinding.js +1 -1
- package/src/sap/ui/model/SelectionModel.js +2 -2
- package/src/sap/ui/model/SimpleType.js +2 -2
- package/src/sap/ui/model/Sorter.js +1 -1
- package/src/sap/ui/model/SorterProcessor.js +1 -1
- package/src/sap/ui/model/StaticBinding.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +2 -2
- package/src/sap/ui/model/TreeBinding.js +1 -1
- package/src/sap/ui/model/TreeBindingAdapter.js +1 -1
- package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +1 -1
- package/src/sap/ui/model/TreeBindingUtils.js +1 -1
- package/src/sap/ui/model/Type.js +2 -2
- package/src/sap/ui/model/ValidateException.js +1 -1
- package/src/sap/ui/model/_Helper.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +1 -1
- package/src/sap/ui/model/analytics/BatchResponseCollector.js +1 -1
- package/src/sap/ui/model/analytics/ODataModelAdapter.js +1 -1
- package/src/sap/ui/model/analytics/odata4analytics.js +7 -7
- package/src/sap/ui/model/base/ManagedObjectModel.js +1 -1
- package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +1 -1
- package/src/sap/ui/model/json/JSONListBinding.js +1 -1
- package/src/sap/ui/model/json/JSONModel.js +2 -2
- package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
- package/src/sap/ui/model/json/JSONTreeBinding.js +1 -1
- package/src/sap/ui/model/message/MessageListBinding.js +1 -1
- package/src/sap/ui/model/message/MessageModel.js +2 -2
- package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/AnnotationHelper.js +1 -1
- package/src/sap/ui/model/odata/AnnotationParser.js +1 -1
- package/src/sap/ui/model/odata/CountMode.js +1 -1
- package/src/sap/ui/model/odata/Filter.js +1 -1
- package/src/sap/ui/model/odata/MessageScope.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +2 -2
- package/src/sap/ui/model/odata/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +4 -4
- package/src/sap/ui/model/odata/ODataMetaModel.js +2 -2
- package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
- package/src/sap/ui/model/odata/ODataModel.js +2 -2
- package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +1 -1
- package/src/sap/ui/model/odata/ODataUtils.js +11 -6
- package/src/sap/ui/model/odata/OperationMode.js +1 -1
- package/src/sap/ui/model/odata/UpdateMethod.js +1 -1
- package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +1 -1
- package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +1 -1
- package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +1 -1
- package/src/sap/ui/model/odata/type/Boolean.js +2 -2
- package/src/sap/ui/model/odata/type/Byte.js +2 -2
- package/src/sap/ui/model/odata/type/Currency.js +2 -2
- package/src/sap/ui/model/odata/type/Date.js +2 -2
- package/src/sap/ui/model/odata/type/DateTime.js +2 -2
- package/src/sap/ui/model/odata/type/DateTimeBase.js +2 -2
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +2 -2
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +2 -2
- package/src/sap/ui/model/odata/type/Decimal.js +2 -2
- package/src/sap/ui/model/odata/type/Double.js +2 -2
- package/src/sap/ui/model/odata/type/Guid.js +2 -2
- package/src/sap/ui/model/odata/type/Int.js +2 -2
- package/src/sap/ui/model/odata/type/Int16.js +2 -2
- package/src/sap/ui/model/odata/type/Int32.js +2 -2
- package/src/sap/ui/model/odata/type/Int64.js +2 -2
- package/src/sap/ui/model/odata/type/ODataType.js +2 -2
- package/src/sap/ui/model/odata/type/Raw.js +2 -2
- package/src/sap/ui/model/odata/type/SByte.js +2 -2
- package/src/sap/ui/model/odata/type/Single.js +2 -2
- package/src/sap/ui/model/odata/type/Stream.js +2 -2
- package/src/sap/ui/model/odata/type/String.js +2 -2
- package/src/sap/ui/model/odata/type/Time.js +2 -2
- package/src/sap/ui/model/odata/type/TimeOfDay.js +2 -2
- package/src/sap/ui/model/odata/type/Unit.js +2 -2
- package/src/sap/ui/model/odata/type/UnitMixin.js +1 -1
- package/src/sap/ui/model/odata/v2/BatchMode.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +2 -2
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +2 -2
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +5 -5
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +18 -10
- package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +1 -1
- package/src/sap/ui/model/odata/v4/AnnotationHelper.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +33 -28
- package/src/sap/ui/model/odata/v4/ODataBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +19 -13
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +199 -156
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +11 -9
- package/src/sap/ui/model/odata/v4/ODataModel.js +10 -5
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +10 -7
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +2 -2
- package/src/sap/ui/model/odata/v4/ODataUtils.js +1 -1
- package/src/sap/ui/model/odata/v4/SubmitMode.js +1 -1
- package/src/sap/ui/model/odata/v4/ValueListType.js +1 -1
- package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +231 -90
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +34 -21
- package/src/sap/ui/model/odata/v4/lib/_Batch.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +72 -20
- package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Parser.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +10 -6
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.js +1 -1
- package/src/sap/ui/model/odata/v4/ts.js +1 -1
- package/src/sap/ui/model/resource/ResourceModel.js +2 -2
- package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +2 -2
- package/src/sap/ui/model/type/Currency.js +2 -2
- package/src/sap/ui/model/type/Date.js +2 -2
- package/src/sap/ui/model/type/DateInterval.js +2 -2
- package/src/sap/ui/model/type/DateTime.js +2 -2
- package/src/sap/ui/model/type/DateTimeInterval.js +2 -2
- package/src/sap/ui/model/type/FileSize.js +2 -2
- package/src/sap/ui/model/type/Float.js +2 -2
- package/src/sap/ui/model/type/Integer.js +2 -2
- package/src/sap/ui/model/type/String.js +2 -2
- package/src/sap/ui/model/type/Time.js +2 -2
- package/src/sap/ui/model/type/TimeInterval.js +2 -2
- package/src/sap/ui/model/type/Unit.js +2 -2
- package/src/sap/ui/model/xml/XMLListBinding.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +2 -2
- package/src/sap/ui/model/xml/XMLPropertyBinding.js +1 -1
- package/src/sap/ui/model/xml/XMLTreeBinding.js +1 -1
- package/src/sap/ui/performance/BeaconRequest.js +1 -1
- package/src/sap/ui/performance/Measurement.js +1 -1
- package/src/sap/ui/performance/XHRInterceptor.js +1 -1
- package/src/sap/ui/performance/trace/FESR.js +1 -1
- package/src/sap/ui/performance/trace/FESRHelper.js +1 -1
- package/src/sap/ui/performance/trace/Interaction.js +1 -1
- package/src/sap/ui/performance/trace/Passport.js +1 -1
- package/src/sap/ui/performance/trace/initTraces.js +1 -1
- package/src/sap/ui/qunit/QUnitUtils.js +1 -1
- package/src/sap/ui/qunit/qunit-2-css.js +1 -1
- package/src/sap/ui/qunit/qunit-coverage-istanbul.js +1 -1
- package/src/sap/ui/qunit/qunit-coverage.js +1 -1
- package/src/sap/ui/qunit/qunit-css.js +1 -1
- package/src/sap/ui/qunit/qunit-junit.js +1 -1
- package/src/sap/ui/qunit/qunit-redirect.js +1 -1
- package/src/sap/ui/qunit/sinon-qunit-bridge.js +1 -1
- package/src/sap/ui/qunit/utils/ControlIterator.js +2 -2
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +6 -6
- package/src/sap/ui/qunit/utils/createAndAppendDiv.js +1 -1
- package/src/sap/ui/qunit/utils/nextUIUpdate.js +1 -1
- package/src/sap/ui/qunit/utils/waitForThemeApplied.js +1 -1
- package/src/sap/ui/security/FrameOptions.js +1 -1
- package/src/sap/ui/test/BlanketReporter.js +1 -1
- package/src/sap/ui/test/BranchTracking.js +5 -1
- package/src/sap/ui/test/ModuleTracking.js +1 -1
- package/src/sap/ui/test/Opa.js +1 -1
- package/src/sap/ui/test/Opa5.js +1 -1
- package/src/sap/ui/test/OpaBuilder.js +1 -1
- package/src/sap/ui/test/OpaExtension.js +1 -1
- package/src/sap/ui/test/OpaPlugin.js +1 -1
- package/src/sap/ui/test/PageObjectFactory.js +1 -1
- package/src/sap/ui/test/RecordReplay.js +1 -1
- package/src/sap/ui/test/RecorderHotkeyListener.js +1 -1
- package/src/sap/ui/test/TestUtils.js +1 -1
- package/src/sap/ui/test/_BrowserLogCollector.js +1 -1
- package/src/sap/ui/test/_ControlFinder.js +1 -1
- package/src/sap/ui/test/_FocusListener.js +1 -1
- package/src/sap/ui/test/_LogCollector.js +1 -1
- package/src/sap/ui/test/_OpaLogger.js +1 -1
- package/src/sap/ui/test/_OpaUriParameterParser.js +1 -1
- package/src/sap/ui/test/_ParameterValidator.js +1 -1
- package/src/sap/ui/test/_UsageReport.js +1 -1
- package/src/sap/ui/test/_ValidationParameters.js +1 -1
- package/src/sap/ui/test/actions/Action.js +1 -1
- package/src/sap/ui/test/actions/Drag.js +1 -1
- package/src/sap/ui/test/actions/Drop.js +1 -1
- package/src/sap/ui/test/actions/EnterText.js +2 -6
- package/src/sap/ui/test/actions/Press.js +1 -1
- package/src/sap/ui/test/actions/Scroll.js +1 -1
- package/src/sap/ui/test/autowaiter/WaiterBase.js +1 -1
- package/src/sap/ui/test/autowaiter/_UIUpdatesWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_XHRWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_autoWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_autoWaiterAsync.js +1 -1
- package/src/sap/ui/test/autowaiter/_cssAnimationWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_cssTransitionWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_fetchWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_jsAnimationWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_moduleWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_navigationContainerWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_promiseWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_resourceWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_timeoutWaiter.js +1 -1
- package/src/sap/ui/test/autowaiter/_utils.js +1 -1
- package/src/sap/ui/test/generic/GenericTestCollection.js +2 -1
- package/src/sap/ui/test/generic/TestBase.js +5 -5
- package/src/sap/ui/test/generic/Utils.js +4 -3
- package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +1 -1
- package/src/sap/ui/test/gherkin/GherkinTestGenerator.js +1 -1
- package/src/sap/ui/test/gherkin/StepDefinitions.js +1 -1
- package/src/sap/ui/test/gherkin/dataTableUtils.js +1 -1
- package/src/sap/ui/test/gherkin/opa5TestHarness.js +1 -1
- package/src/sap/ui/test/gherkin/qUnitTestHarness.js +1 -1
- package/src/sap/ui/test/gherkin/simpleGherkinParser.js +1 -1
- package/src/sap/ui/test/launchers/componentLauncher.js +1 -1
- package/src/sap/ui/test/launchers/iFrameLauncher.js +1 -1
- package/src/sap/ui/test/matchers/AggregationContainsPropertyEqual.js +1 -1
- package/src/sap/ui/test/matchers/AggregationEmpty.js +1 -1
- package/src/sap/ui/test/matchers/AggregationFilled.js +1 -1
- package/src/sap/ui/test/matchers/AggregationLengthEquals.js +1 -1
- package/src/sap/ui/test/matchers/Ancestor.js +1 -1
- package/src/sap/ui/test/matchers/BindingPath.js +1 -1
- package/src/sap/ui/test/matchers/Descendant.js +1 -1
- package/src/sap/ui/test/matchers/I18NText.js +1 -1
- package/src/sap/ui/test/matchers/Interactable.js +1 -1
- package/src/sap/ui/test/matchers/LabelFor.js +1 -1
- package/src/sap/ui/test/matchers/Matcher.js +1 -1
- package/src/sap/ui/test/matchers/MatcherFactory.js +1 -1
- package/src/sap/ui/test/matchers/Properties.js +1 -1
- package/src/sap/ui/test/matchers/PropertyStrictEquals.js +1 -1
- package/src/sap/ui/test/matchers/Sibling.js +1 -1
- package/src/sap/ui/test/matchers/Visible.js +1 -1
- package/src/sap/ui/test/matchers/_Busy.js +1 -1
- package/src/sap/ui/test/matchers/_Editable.js +1 -1
- package/src/sap/ui/test/matchers/_Enabled.js +1 -1
- package/src/sap/ui/test/matchers/_Visitor.js +1 -1
- package/src/sap/ui/test/matchers/matchers.js +1 -1
- package/src/sap/ui/test/opaQunit.js +1 -1
- package/src/sap/ui/test/pipelines/ActionPipeline.js +1 -1
- package/src/sap/ui/test/pipelines/MatcherPipeline.js +1 -1
- package/src/sap/ui/test/pipelines/PipelineFactory.js +1 -1
- package/src/sap/ui/test/qunitPause.js +1 -1
- package/src/sap/ui/test/selectors/_BindingPath.js +1 -1
- package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +1 -1
- package/src/sap/ui/test/selectors/_ControlSelectorValidator.js +1 -1
- package/src/sap/ui/test/selectors/_ControlType.js +1 -1
- package/src/sap/ui/test/selectors/_DropdownItem.js +1 -1
- package/src/sap/ui/test/selectors/_GlobalID.js +1 -1
- package/src/sap/ui/test/selectors/_LabelFor.js +1 -1
- package/src/sap/ui/test/selectors/_Properties.js +1 -1
- package/src/sap/ui/test/selectors/_Selector.js +1 -1
- package/src/sap/ui/test/selectors/_TableRowItem.js +1 -1
- package/src/sap/ui/test/selectors/_ViewID.js +1 -1
- package/src/sap/ui/test/selectors/_selectors.js +1 -1
- package/src/sap/ui/test/starter/_configureLoader.js +1 -1
- package/src/sap/ui/test/starter/_setupAndStart.js +1 -1
- package/src/sap/ui/test/starter/_utils.js +1 -1
- package/src/sap/ui/test/starter/createSuite.js +1 -1
- package/src/sap/ui/test/starter/runTest.js +1 -1
- package/src/sap/ui/thirdparty/RequestRecorder.js +1 -1
- package/src/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
- package/src/sap/ui/util/ActivityDetection.js +1 -1
- package/src/sap/ui/util/Mobile.js +1 -1
- package/src/sap/ui/util/Storage.js +2 -2
- package/src/sap/ui/util/XMLHelper.js +1 -1
- package/src/sap/ui/util/_FeatureDetection.js +1 -1
- package/src/sap/ui/util/defaultLinkTypes.js +1 -1
- package/src/sap/ui/util/isCrossOriginURL.js +1 -1
- package/src/sap/ui/util/openWindow.js +1 -1
- package/src/sap-ui-boot.js +1 -1
- package/src/sap-ui-core-nojQuery.js +1 -1
- package/src/sap-ui-core.js +1 -1
- package/src/sap-ui-debug.js +1 -1
- package/src/ui5loader-autoconfig.js +24 -16
- package/src/ui5loader.js +10 -5
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Template.controller.js +3 -3
- package/test/sap/ui/core/demokit/sample/common/Controller.js +0 -1
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +14 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +6 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/MIT.MultipleInlineCreationRowsGrid.html +5 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.view.xml +9 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +23 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/pages/Main.js +58 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +75 -30
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +21 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +84 -28
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +3 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
- package/test/sap/ui/core/qunit/BindingParser.qunit.js +4 -4
- package/test/sap/ui/core/qunit/CommandExecution.qunit.js +3 -1
- package/test/sap/ui/core/qunit/Core.qunit.js +1 -1
- package/test/sap/ui/core/qunit/DataBinding.qunit.js +6 -6
- package/test/sap/ui/core/qunit/Declarative.qunit.js +6 -6
- package/test/sap/ui/core/qunit/Element_base.qunit.js +8 -7
- package/test/sap/ui/core/qunit/Element_base_legacyAPIs.qunit.js +48 -0
- package/test/sap/ui/core/qunit/Element_closestTo.qunit.js +1 -1
- package/test/sap/ui/core/qunit/Fragment.qunit.js +63 -13
- package/test/sap/ui/core/qunit/HTML.qunit.js +5 -5
- package/test/sap/ui/core/qunit/Lib.qunit.js +19 -2
- package/test/sap/ui/core/qunit/PlaceAt.qunit.js +6 -6
- package/test/sap/ui/core/qunit/Shortcut.qunit.js +9 -1
- package/test/sap/ui/core/qunit/UIArea.qunit.js +7 -6
- package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +41 -0
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.html +7 -5
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +46 -7
- package/test/sap/ui/core/qunit/base/config/GlobalConfigForCascade.js +24 -21
- package/test/sap/ui/core/qunit/component/Component.qunit.js +9 -8
- package/test/sap/ui/core/qunit/component/ComponentContainer.qunit.js +1 -1
- package/test/sap/ui/core/qunit/component/Models.qunit.js +29 -30
- package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +3 -3
- package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +4 -3
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +6 -7
- package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +3 -2
- package/test/sap/ui/core/qunit/generic/legacy/testsuite.generic.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +65 -0
- package/test/sap/ui/core/qunit/i18n/UI5Date.qunit.js +107 -0
- package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +12 -12
- package/test/sap/ui/core/qunit/loader/syncMode_unavoidablySync.qunit.js +54 -1
- package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +3 -1
- package/test/sap/ui/core/qunit/mockserver/testdata/shopping/Products.json +1 -1
- package/test/sap/ui/core/qunit/model/FilterProcessor.qunit.js +22 -8
- package/test/sap/ui/core/qunit/mvc/AnyView.qunit.js +3 -0
- package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +3 -2
- package/test/sap/ui/core/qunit/mvc/EventHandlerResolver.qunit.js +2 -2
- package/test/sap/ui/core/qunit/mvc/View.qunit.js +38 -35
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessor.qunit.js +1 -1
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +1 -1
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +5 -5
- package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +1 -1
- package/test/sap/ui/core/qunit/mvc/extensions/ControllerMetadata.qunit.js +6 -2
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +12 -0
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +12 -0
- package/test/sap/ui/core/qunit/mvc/extensions/testdata/AnotherMain.controller.js +3 -1
- package/test/sap/ui/core/qunit/mvc/testdata/XMLViewEmbeddingTypedViews.view.xml +1 -1
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +26 -7
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +5 -5
- package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +2 -2
- package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +36 -34
- package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +21 -0
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +175 -0
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +11 -5
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +43 -22
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +75 -27
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +318 -217
- package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +34 -16
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +2360 -177
- package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +43 -35
- package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +20 -2
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +487 -139
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +70 -33
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +258 -10
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +10 -2
- package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +38 -14
- package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +102 -52
- package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +1 -1
- package/test/sap/ui/core/qunit/routing/async/Targets.qunit.js +4 -5
- package/test/sap/ui/core/qunit/routing/async/TitleHistory.qunit.js +1 -1
- package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/Component.js +1 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/manifest.json +1 -5
- package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/Component.js +1 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/manifest.json +1 -5
- package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/ParentExtended/Component.js +15 -0
- package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/ParentExtended/manifest.json +8 -0
- package/test/sap/ui/core/qunit/routing/sync/Router.qunit.js +2 -2
- package/test/sap/ui/core/qunit/routing/sync/Targets.qunit.js +2 -3
- package/test/sap/ui/core/qunit/testdata/fragments/XMLTestFragmentWithXMLView.fragment.xml +5 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.base.configuration.qunit.js +1 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.control.framework.qunit.js +4 -0
- package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +190 -0
- package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +2 -2
- package/test/sap/ui/core/qunit/types/TimezoneUtil.qunit.js +114 -2
- package/test/sap/ui/core/qunit/ui5classes/ManagedObjectRegistry.qunit.js +161 -0
- package/test/sap/ui/core/qunit/ui5classes/ManagedObjectRegistry_legacyAPIs.qunit.js +150 -0
- package/test/sap/ui/core/qunit/ui5classes/testsuite.ui5classes.qunit.js +84 -0
- package/test/sap/ui/core/qunit/util/ViewSerializer.qunit.js +4 -3
- package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +20 -0
- package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +20 -2
- package/test/sap/ui/core/relnotes/changes-1.120.json +246 -0
|
@@ -7,8 +7,9 @@ sap.ui.define([
|
|
|
7
7
|
"sap/ui/test/generic/TestBase",
|
|
8
8
|
"sap/ui/test/generic/Utils",
|
|
9
9
|
"sap/ui/core/Element",
|
|
10
|
+
"sap/ui/core/ElementRegistry",
|
|
10
11
|
"sap/ui/qunit/utils/nextUIUpdate"
|
|
11
|
-
], function(TestBase, Utils, Element, nextUIUpdate) {
|
|
12
|
+
], function(TestBase, Utils, Element, ElementRegistry, nextUIUpdate) {
|
|
12
13
|
"use strict";
|
|
13
14
|
|
|
14
15
|
// asserts that both given maps have the same entries
|
|
@@ -110,13 +111,13 @@ sap.ui.define([
|
|
|
110
111
|
await nextUIUpdate();
|
|
111
112
|
|
|
112
113
|
if (bFinalIteration) {
|
|
113
|
-
var mPostElements =
|
|
114
|
+
var mPostElements = ElementRegistry.all();
|
|
114
115
|
|
|
115
116
|
// controls left over by second instance are real leaks that will grow proportionally to instance count => ERROR
|
|
116
117
|
assert.equalElementsInControlList(mPostElements, mPreElements, "Memory leak check in " + sControlName);
|
|
117
118
|
} else {
|
|
118
119
|
// Render Control Instance 2 - any new controls leaked?
|
|
119
|
-
mPreElements =
|
|
120
|
+
mPreElements = ElementRegistry.all();
|
|
120
121
|
}
|
|
121
122
|
}.bind(this);
|
|
122
123
|
|
|
@@ -15,12 +15,12 @@ sap.ui.define([
|
|
|
15
15
|
"sap/base/Log",
|
|
16
16
|
"sap/base/util/ObjectPath",
|
|
17
17
|
"sap/ui/VersionInfo",
|
|
18
|
-
"sap/ui/core/
|
|
18
|
+
"sap/ui/core/ElementRegistry",
|
|
19
19
|
"sap/ui/core/Lib",
|
|
20
20
|
"sap/ui/dom/includeStylesheet",
|
|
21
21
|
"sap/ui/qunit/utils/nextUIUpdate",
|
|
22
22
|
"require"
|
|
23
|
-
], function (Log, ObjectPath, VersionInfo,
|
|
23
|
+
], function (Log, ObjectPath, VersionInfo, ElementRegistry, Library, includeStylesheet, nextUIUpdate, require) {
|
|
24
24
|
"use strict";
|
|
25
25
|
|
|
26
26
|
/*global QUnit */
|
|
@@ -301,8 +301,7 @@ sap.ui.define([
|
|
|
301
301
|
async function checkControl(oControlClass, assert) {
|
|
302
302
|
var sControlName = oControlClass.getMetadata().getName();
|
|
303
303
|
|
|
304
|
-
var
|
|
305
|
-
oControl1 = new oControlClass(),
|
|
304
|
+
var oControl1 = new oControlClass(),
|
|
306
305
|
bCanRender = false;
|
|
307
306
|
|
|
308
307
|
// check whether this control can be rendered
|
|
@@ -334,7 +333,7 @@ sap.ui.define([
|
|
|
334
333
|
|
|
335
334
|
// Render Control Instance 2 - any new controls leaked?
|
|
336
335
|
|
|
337
|
-
var mPreElements =
|
|
336
|
+
var mPreElements = ElementRegistry.all(),
|
|
338
337
|
oControl2 = new oControlClass();
|
|
339
338
|
|
|
340
339
|
fillControlProperties(oControl2);
|
|
@@ -357,7 +356,7 @@ sap.ui.define([
|
|
|
357
356
|
|
|
358
357
|
oControl2.destroy();
|
|
359
358
|
await nextUIUpdate();
|
|
360
|
-
var mPostElements =
|
|
359
|
+
var mPostElements = ElementRegistry.all();
|
|
361
360
|
|
|
362
361
|
// controls left over by second instance are real leaks that will grow proportionally to instance count => ERROR
|
|
363
362
|
assert.equalElementsInControlList(mPostElements, mPreElements, "Memory leak check in " + sControlName);
|
|
@@ -372,7 +371,7 @@ sap.ui.define([
|
|
|
372
371
|
|
|
373
372
|
QUnit.module("Memory.Controls", {
|
|
374
373
|
afterEach: function() {
|
|
375
|
-
|
|
374
|
+
ElementRegistry.forEach(function(oElement, sId) {
|
|
376
375
|
oElement.destroy();
|
|
377
376
|
});
|
|
378
377
|
}
|
|
@@ -11,6 +11,7 @@ sap.ui.define([
|
|
|
11
11
|
"sap/ui/VersionInfo",
|
|
12
12
|
"sap/ui/base/DataType",
|
|
13
13
|
"sap/ui/core/Element",
|
|
14
|
+
"sap/ui/core/ElementRegistry",
|
|
14
15
|
"sap/ui/core/Control",
|
|
15
16
|
"sap/ui/core/Item",
|
|
16
17
|
"sap/ui/core/Lib",
|
|
@@ -19,7 +20,7 @@ sap.ui.define([
|
|
|
19
20
|
"sap/ui/dom/includeStylesheet",
|
|
20
21
|
"sap/ui/qunit/utils/nextUIUpdate",
|
|
21
22
|
"require"
|
|
22
|
-
], function (Log, ObjectPath, VersionInfo, DataType, Element, Control, Item, Library, CommonsTextField, MobileText, includeStylesheet, nextUIUpdate, require) {
|
|
23
|
+
], function (Log, ObjectPath, VersionInfo, DataType, Element, ElementRegistry, Control, Item, Library, CommonsTextField, MobileText, includeStylesheet, nextUIUpdate, require) {
|
|
23
24
|
"use strict";
|
|
24
25
|
|
|
25
26
|
var aKnownLibraries = [
|
|
@@ -440,7 +441,7 @@ sap.ui.define([
|
|
|
440
441
|
|
|
441
442
|
QUnit.module("Duplicate ID issues in Controls", {
|
|
442
443
|
afterEach: function() {
|
|
443
|
-
|
|
444
|
+
ElementRegistry.forEach(function(oElement, sId) {
|
|
444
445
|
oElement.destroy();
|
|
445
446
|
});
|
|
446
447
|
}
|
|
@@ -29,6 +29,9 @@ sap.ui.define(function() {
|
|
|
29
29
|
ControlMemoryLeaks: {
|
|
30
30
|
title: "QUnit Page for memory leak detection in UI5 controls"
|
|
31
31
|
},
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated As of version 1.120
|
|
34
|
+
*/
|
|
32
35
|
ControlRenderer: {
|
|
33
36
|
title: "QUnit Page for memory leak detection in UI5 controls"
|
|
34
37
|
},
|
|
@@ -1434,4 +1434,69 @@ sap.ui.define([
|
|
|
1434
1434
|
assert.deepEqual(LocaleData.prototype.getLanguages.call(oLocaleData), oExpectedResult);
|
|
1435
1435
|
});
|
|
1436
1436
|
});
|
|
1437
|
+
|
|
1438
|
+
//*********************************************************************************************
|
|
1439
|
+
["narrow", "abbreviated", "wide"].forEach((sWidth) => {
|
|
1440
|
+
QUnit.test("getMonths: returns first alternative, " + sWidth, function (assert) {
|
|
1441
|
+
const oLocalData = {
|
|
1442
|
+
_get() {}
|
|
1443
|
+
};
|
|
1444
|
+
this.mock(oLocalData).expects("_get")
|
|
1445
|
+
.withExactArgs("ca-~scalendartype", "months", "format", sWidth)
|
|
1446
|
+
.returns([["a", "b"], "c", "d", ["e", "f", "g"], "h"]);
|
|
1447
|
+
|
|
1448
|
+
// code under test
|
|
1449
|
+
assert.deepEqual(LocaleData.prototype.getMonths.call(oLocalData, sWidth, "~sCalendarType"),
|
|
1450
|
+
["a", "c", "d", "e", "h"]);
|
|
1451
|
+
});
|
|
1452
|
+
});
|
|
1453
|
+
|
|
1454
|
+
//*********************************************************************************************
|
|
1455
|
+
["narrow", "abbreviated", "wide"].forEach((sWidth) => {
|
|
1456
|
+
QUnit.test("_getMonthsWithAlternatives: " + sWidth, function (assert) {
|
|
1457
|
+
const oLocalData = {
|
|
1458
|
+
_get() {}
|
|
1459
|
+
};
|
|
1460
|
+
this.mock(oLocalData).expects("_get")
|
|
1461
|
+
.withExactArgs("ca-~scalendartype", "months", "format", sWidth)
|
|
1462
|
+
.returns("~result");
|
|
1463
|
+
|
|
1464
|
+
// code under test
|
|
1465
|
+
assert.deepEqual(LocaleData.prototype._getMonthsWithAlternatives.call(oLocalData, sWidth, "~sCalendarType"),
|
|
1466
|
+
"~result");
|
|
1467
|
+
});
|
|
1468
|
+
});
|
|
1469
|
+
|
|
1470
|
+
//*********************************************************************************************
|
|
1471
|
+
["narrow", "abbreviated", "wide"].forEach((sWidth) => {
|
|
1472
|
+
QUnit.test("getMonthsStandAlone: returns first alternative, " + sWidth, function (assert) {
|
|
1473
|
+
const oLocalData = {
|
|
1474
|
+
_get() {}
|
|
1475
|
+
};
|
|
1476
|
+
this.mock(oLocalData).expects("_get")
|
|
1477
|
+
.withExactArgs("ca-~scalendartype", "months", "stand-alone", sWidth)
|
|
1478
|
+
.returns([["a", "b"], "c", "d", ["e", "f", "g"], "h"]);
|
|
1479
|
+
|
|
1480
|
+
// code under test
|
|
1481
|
+
assert.deepEqual(LocaleData.prototype.getMonthsStandAlone.call(oLocalData, sWidth, "~sCalendarType"),
|
|
1482
|
+
["a", "c", "d", "e", "h"]);
|
|
1483
|
+
});
|
|
1484
|
+
});
|
|
1485
|
+
|
|
1486
|
+
//*********************************************************************************************
|
|
1487
|
+
["narrow", "abbreviated", "wide"].forEach((sWidth) => {
|
|
1488
|
+
QUnit.test("_getMonthsStandAloneWithAlternatives: " + sWidth, function (assert) {
|
|
1489
|
+
const oLocalData = {
|
|
1490
|
+
_get() {}
|
|
1491
|
+
};
|
|
1492
|
+
this.mock(oLocalData).expects("_get")
|
|
1493
|
+
.withExactArgs("ca-~scalendartype", "months", "stand-alone", sWidth)
|
|
1494
|
+
.returns("~result");
|
|
1495
|
+
|
|
1496
|
+
// code under test
|
|
1497
|
+
assert.deepEqual(
|
|
1498
|
+
LocaleData.prototype._getMonthsStandAloneWithAlternatives.call(oLocalData, sWidth, "~sCalendarType"),
|
|
1499
|
+
"~result");
|
|
1500
|
+
});
|
|
1501
|
+
});
|
|
1437
1502
|
});
|
|
@@ -1242,4 +1242,111 @@ sap.ui.define([
|
|
|
1242
1242
|
// code under test
|
|
1243
1243
|
assert.strictEqual(oUI5Date.clone(), "~clone");
|
|
1244
1244
|
});
|
|
1245
|
+
|
|
1246
|
+
//*********************************************************************************************
|
|
1247
|
+
function toLocalDateString(oDate) {
|
|
1248
|
+
return oDate.getFullYear()
|
|
1249
|
+
+ "-" + (oDate.getMonth() + 1).toString().padStart(2, "0")
|
|
1250
|
+
+ "-" + oDate.getDate().toString().padStart(2, "0")
|
|
1251
|
+
+ "T" + oDate.getHours().toString().padStart(2, "0")
|
|
1252
|
+
+ ":" + oDate.getMinutes().toString().padStart(2, "0");
|
|
1253
|
+
}
|
|
1254
|
+
|
|
1255
|
+
[{ // America/Adak: UTC-10 (Standard), UTC-9 (DST); 02:00 am to 03:00 am resp. 02:00 am to 01:00 am
|
|
1256
|
+
sTimezone: "America/Adak",
|
|
1257
|
+
toDST: {aDate: [2024, 2, 10, 2], sResult: "2024-03-10T03:00"},
|
|
1258
|
+
toStandard: {aDate: [2023, 10, 5, 2], sResult: "2023-11-05T02:00", sAandBTime: "2023-11-05T01:00"}
|
|
1259
|
+
}, { // America/Havana: UTC-5 (Standard), UTC-4 (DST); 12:00 am to 01:00 am resp. 01:00 am to 12:00 am
|
|
1260
|
+
sTimezone: "America/Havana",
|
|
1261
|
+
toDST: {aDate: [2024, 2, 10, 0], sResult: "2024-03-10T01:00"},
|
|
1262
|
+
toStandard: {aDate: [2023, 10, 5, 1], sResult: "2023-11-05T01:00", sAandBTime: "2023-11-05T00:00"}
|
|
1263
|
+
}, { // BCP: 2370140369
|
|
1264
|
+
// America/Santiago: UTC-4 (Standard), UTC-3 (DST); 12:00 am to 01:00 am resp. 12:00 am to 11:00 pm
|
|
1265
|
+
sTimezone: "America/Santiago",
|
|
1266
|
+
toDST: {aDate: [2023, 8, 3, 0], sResult: "2023-09-03T01:00"},
|
|
1267
|
+
toStandard: {aDate: [2024, 3, 7], sResult: "2024-04-07T00:00", sAandBTime: "2024-04-06T23:00"}
|
|
1268
|
+
}, { // America/St_Johns: UTC-3:30 (Standard), UTC-2:30 (DST); 02:00 am to 03:00 am resp. 02:00 am to 01:00 am
|
|
1269
|
+
sTimezone: "America/St_Johns",
|
|
1270
|
+
toDST: {aDate: [2024, 2, 10, 2], sResult: "2024-03-10T03:00"},
|
|
1271
|
+
toStandard: {aDate: [2023, 10, 5, 2], sResult: "2023-11-05T02:00", sAandBTime: "2023-11-05T01:00"}
|
|
1272
|
+
}, { // Pacific/Easter: UTC-6 (Standard), UTC-5 (DST); 10:00 pm to 11:00 pm resp. 10:00 pm to 09:00 pm
|
|
1273
|
+
sTimezone: "Pacific/Easter",
|
|
1274
|
+
toDST: {aDate: [2023, 8, 2, 22], sResult: "2023-09-02T23:00"},
|
|
1275
|
+
toStandard: {aDate: [2024, 3, 6, 22], sResult: "2024-04-06T22:00", sAandBTime: "2024-04-06T21:00"}
|
|
1276
|
+
}, { // Atlantic/Azores: UTC-1 (Standard), UTC+0 (DST); 00:00 am to 01:00 am resp. 01:00 am to 12:00 am
|
|
1277
|
+
sTimezone: "Atlantic/Azores",
|
|
1278
|
+
toDST: {aDate: [2024, 2, 31, 0], sResult: "2024-03-31T01:00"},
|
|
1279
|
+
toStandard: {aDate: [2023, 9, 29, 1], sResult: "2023-10-29T01:00", sAandBTime: "2023-10-29T00:00"}
|
|
1280
|
+
}, { // Antarctica/Troll: UTC+0 (Standard), UTC+2 (DST); 01:00 am to 03:00 am resp. 03:00 am to 01:00 am
|
|
1281
|
+
sTimezone: "Antarctica/Troll",
|
|
1282
|
+
toDST: {aDate: [2024, 2, 31, 1], sResult: "2024-03-31T03:00"},
|
|
1283
|
+
toStandard: {
|
|
1284
|
+
aDate: [2023, 9, 29, 3],
|
|
1285
|
+
sResult: "2023-10-29T03:00",
|
|
1286
|
+
sAandBTime: "2023-10-29T01:00",
|
|
1287
|
+
iTimeshift: 7200000 // 2 hours timeshift!
|
|
1288
|
+
}
|
|
1289
|
+
}, { // Africa/Casablanca: UTC+0 (Standard), UTC+1 (DST); 02:00 am to 03:00 am resp. 03:00 am to 02:00 am
|
|
1290
|
+
sTimezone: "Africa/Casablanca",
|
|
1291
|
+
toDST: {aDate: [2023, 3, 23, 2], sResult: "2023-04-23T03:00"},
|
|
1292
|
+
toStandard: {aDate: [2024, 2, 10, 3], sResult: "2024-03-10T03:00", sAandBTime: "2024-03-10T02:00"}
|
|
1293
|
+
}, { // Europe/Dublin: UTC+0 (Standard), UTC+1 (DST); 01:00 am to 02:00 am resp. 02:00 am to 01:00 am
|
|
1294
|
+
sTimezone: "Europe/Dublin",
|
|
1295
|
+
toDST: {aDate: [2024, 2, 31, 1], sResult: "2024-03-31T02:00"},
|
|
1296
|
+
toStandard: {aDate: [2023, 9, 29, 2], sResult: "2023-10-29T02:00", sAandBTime: "2023-10-29T01:00"}
|
|
1297
|
+
}, { // Africa/Cairo: UTC+2 (Standard), UTC+3 (DST); 12:00 am to 01:00 am resp. 12:00 am to 11:00 pm
|
|
1298
|
+
sTimezone: "Africa/Cairo",
|
|
1299
|
+
toDST: {aDate: [2024, 3, 26, 0], sResult: "2024-04-26T01:00"},
|
|
1300
|
+
toStandard: {aDate: [2023, 9, 27, 0], sResult: "2023-10-27T00:00", sAandBTime: "2023-10-26T23:00"}
|
|
1301
|
+
}, { // Europe/Helsinki: UTC+2 (Standard), UTC+3 (DST); 03:00 am to 04:00 am resp. 04:00 am to 03:00 am
|
|
1302
|
+
sTimezone: "Europe/Helsinki",
|
|
1303
|
+
toDST: {aDate: [2024, 2, 31, 3], sResult: "2024-03-31T04:00"},
|
|
1304
|
+
toStandard: {aDate: [2023, 9, 29, 4], sResult: "2023-10-29T04:00", sAandBTime: "2023-10-29T03:00"}
|
|
1305
|
+
}, { // Australia/Lord_Howe: UTC+10:30 (Standard), UTC+11 (DST); 02:00 am to 02:30 am resp. 02:00 am to 01:30 am
|
|
1306
|
+
sTimezone: "Australia/Lord_Howe",
|
|
1307
|
+
toDST: {aDate: [2023, 9, 1, 2], sResult: "2023-10-01T02:30"},
|
|
1308
|
+
toStandard: {
|
|
1309
|
+
aDate: [2024, 3, 7, 2],
|
|
1310
|
+
sResult: "2024-04-07T02:00",
|
|
1311
|
+
sAandBTime: "2024-04-07T01:30",
|
|
1312
|
+
iTimeshift: 1800000 // 0.5 hours timeshift!
|
|
1313
|
+
}
|
|
1314
|
+
}, { // Australia/Adelaide: UTC+9:30 (Standard), UTC+10:30 (DST); 02:00 am to 03:00 am resp. 03:00 am to 02:00 am
|
|
1315
|
+
sTimezone: "Australia/Adelaide",
|
|
1316
|
+
toDST: {aDate: [2023, 9, 1, 2], sResult: "2023-10-01T03:00"},
|
|
1317
|
+
toStandard: {aDate: [2024, 3, 7, 3], sResult: "2024-04-07T03:00", sAandBTime: "2024-04-07T02:00"}
|
|
1318
|
+
}, { // Pacific/Auckland: UTC+12:00 (Standard), UTC+13:00 (DST); 02:00 am to 03:00 am resp. 03:00 am to 02:00 am
|
|
1319
|
+
sTimezone: "Pacific/Auckland",
|
|
1320
|
+
toDST: {aDate: [2023, 8, 24, 2], sResult: "2023-09-24T03:00"},
|
|
1321
|
+
toStandard: {aDate: [2024, 3, 7, 3], sResult: "2024-04-07T03:00", sAandBTime: "2024-04-07T02:00"}
|
|
1322
|
+
}, { // Pacific/Chatham: UTC+12:45 (Standard), UTC+13:45 (DST); 02:45 am to 03:45 am resp. 03:45 am to 02:45 am
|
|
1323
|
+
sTimezone: "Pacific/Chatham",
|
|
1324
|
+
toDST: {aDate: [2023, 8, 24, 2, 45], sResult: "2023-09-24T03:45"},
|
|
1325
|
+
toStandard: {aDate: [2024, 3, 7, 3, 45], sResult: "2024-04-07T03:45", sAandBTime: "2024-04-07T02:45"}
|
|
1326
|
+
}].forEach((oFixture) => {
|
|
1327
|
+
const sTimezone = oFixture.sTimezone;
|
|
1328
|
+
QUnit.test("Daylight saving time checks: " + sTimezone, function (assert) {
|
|
1329
|
+
let oDate = new UI5Date(oFixture.toDST.aDate, sTimezone);
|
|
1330
|
+
assert.strictEqual(toLocalDateString(oDate), oFixture.toDST.sResult, "to daylight saving time");
|
|
1331
|
+
|
|
1332
|
+
oDate = new UI5Date(oFixture.toStandard.aDate, sTimezone);
|
|
1333
|
+
assert.strictEqual(toLocalDateString(oDate), oFixture.toStandard.sResult, "to standard time");
|
|
1334
|
+
|
|
1335
|
+
const sAandBTime = oFixture.toStandard.sAandBTime;
|
|
1336
|
+
const iTimeshift = oFixture.toStandard.iTimeshift || 3600000;
|
|
1337
|
+
const iBTimestamp = oDate.getTime() - iTimeshift;
|
|
1338
|
+
// b-time in standard time zone
|
|
1339
|
+
assert.strictEqual(toLocalDateString(new UI5Date([iBTimestamp], sTimezone)), sAandBTime, "b-time");
|
|
1340
|
+
const iATimestamp = oDate.getTime() - (2 * iTimeshift);
|
|
1341
|
+
// a-time in Daylight Saving time zone
|
|
1342
|
+
assert.strictEqual(toLocalDateString(new UI5Date([iATimestamp], sTimezone)), sAandBTime, "a-time");
|
|
1343
|
+
});
|
|
1344
|
+
});
|
|
1345
|
+
|
|
1346
|
+
//*********************************************************************************************
|
|
1347
|
+
QUnit.test("Daylight saving time checks: special case for 'Pacific/Apia'", function (assert) {
|
|
1348
|
+
// Independent State of Samoa changed time at the end of December 29, 2011
|
|
1349
|
+
// It changed from UTC-11 (UTC-10 DST) to UTC+13 (UTC+14 DST until 2021 - currently always UTC+13)
|
|
1350
|
+
assert.strictEqual(toLocalDateString(new UI5Date([2011, 11, 30, 0], "Pacific/Apia")), "2011-12-31T00:00");
|
|
1351
|
+
});
|
|
1245
1352
|
});
|
|
@@ -3,9 +3,9 @@ sap.ui.define([
|
|
|
3
3
|
"jquery.sap.ui",
|
|
4
4
|
"sap/ui/core/Control",
|
|
5
5
|
"sap/ui/core/Element",
|
|
6
|
-
"sap/ui/core/
|
|
6
|
+
"sap/ui/core/UIAreaRegistry",
|
|
7
7
|
"sap/ui/qunit/utils/nextUIUpdate"
|
|
8
|
-
], function(jQuery, Control, Element,
|
|
8
|
+
], function(jQuery, Control, Element, UIAreaRegistry, nextUIUpdate) {
|
|
9
9
|
"use strict";
|
|
10
10
|
|
|
11
11
|
var TestControl = Control.extend("sap.jsunittest.Test", {
|
|
@@ -39,7 +39,7 @@ sap.ui.define([
|
|
|
39
39
|
QUnit.test("OneRootOk", function(assert) {
|
|
40
40
|
jQuery("#uiArea1").root();
|
|
41
41
|
|
|
42
|
-
var oUIArea =
|
|
42
|
+
var oUIArea = UIAreaRegistry.get("uiArea1");
|
|
43
43
|
assert.notStrictEqual(oUIArea, null, "UI Area should have been created.");
|
|
44
44
|
assert.notStrictEqual(oUIArea, undefined, "UI Area should have been created.");
|
|
45
45
|
});
|
|
@@ -47,28 +47,28 @@ sap.ui.define([
|
|
|
47
47
|
QUnit.test("MultipleRootOk", function(assert) {
|
|
48
48
|
jQuery(".test").root();
|
|
49
49
|
|
|
50
|
-
var oUIArea =
|
|
50
|
+
var oUIArea = UIAreaRegistry.get("uiArea2");
|
|
51
51
|
assert.notStrictEqual(oUIArea, null, "UI Area 2 should have been created.");
|
|
52
52
|
assert.notStrictEqual(oUIArea, undefined, "UI Area 2 should have been created.");
|
|
53
53
|
|
|
54
|
-
oUIArea =
|
|
54
|
+
oUIArea = UIAreaRegistry.get("uiArea3");
|
|
55
55
|
assert.notStrictEqual(oUIArea, null, "UI Area 3 should have been created.");
|
|
56
56
|
assert.notStrictEqual(oUIArea, undefined, "UI Area 3 should have been created.");
|
|
57
57
|
});
|
|
58
58
|
|
|
59
59
|
QUnit.test("MultipleRootAndSliceOk", function(assert) {
|
|
60
|
-
var iNo1 =
|
|
60
|
+
var iNo1 = UIAreaRegistry.size;
|
|
61
61
|
|
|
62
62
|
jQuery(".test1").root();
|
|
63
63
|
|
|
64
|
-
var iNo2 =
|
|
64
|
+
var iNo2 = UIAreaRegistry.size;
|
|
65
65
|
assert.strictEqual(iNo2, iNo1 + 3, "Exaclty three UIAreas should have been created.");
|
|
66
66
|
|
|
67
|
-
var oUIArea =
|
|
67
|
+
var oUIArea = UIAreaRegistry.get("uiArea4");
|
|
68
68
|
assert.notStrictEqual(oUIArea, null, "UI Area 4 should have been created.");
|
|
69
69
|
assert.notStrictEqual(oUIArea, undefined, "UI Area 4 should have been created.");
|
|
70
70
|
|
|
71
|
-
var iNo3 =
|
|
71
|
+
var iNo3 = UIAreaRegistry.size;
|
|
72
72
|
assert.strictEqual(iNo3, iNo2, "No additional UIArea should have been created.");
|
|
73
73
|
});
|
|
74
74
|
|
|
@@ -81,11 +81,11 @@ sap.ui.define([
|
|
|
81
81
|
});
|
|
82
82
|
|
|
83
83
|
QUnit.test("RootReturnsAllRelevantUIAreasOk", function(assert) {
|
|
84
|
-
var iNo1 =
|
|
84
|
+
var iNo1 = UIAreaRegistry.size;
|
|
85
85
|
|
|
86
86
|
jQuery(".test2").root();
|
|
87
87
|
|
|
88
|
-
var iNo2 =
|
|
88
|
+
var iNo2 = UIAreaRegistry.size;
|
|
89
89
|
assert.strictEqual(iNo2, iNo1 + 3, "Exactly three UIArea should have been created.");
|
|
90
90
|
|
|
91
91
|
assert.strictEqual(jQuery("[id*=uiArea]").root().length + jQuery("[id*=id-]").root().length, iNo2, "jQuery method should return all relevant roots (i.e. UIArea DOMNodes), selector [id*=uiArea]");
|
|
@@ -137,7 +137,7 @@ sap.ui.define([
|
|
|
137
137
|
});
|
|
138
138
|
|
|
139
139
|
QUnit.test("GetUIAreasOk", function(assert) {
|
|
140
|
-
var iNo =
|
|
140
|
+
var iNo = UIAreaRegistry.size;
|
|
141
141
|
|
|
142
142
|
var aUIAreas = jQuery("div").uiarea();
|
|
143
143
|
|
|
@@ -7,7 +7,7 @@ sap.ui.require([
|
|
|
7
7
|
], function(Log, ObjectPath) {
|
|
8
8
|
"use strict";
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
const privateLoaderAPI = sap.ui.loader._;
|
|
11
11
|
|
|
12
12
|
//****************************************************
|
|
13
13
|
// module loading (require/declare/define)
|
|
@@ -55,6 +55,59 @@ sap.ui.require([
|
|
|
55
55
|
|
|
56
56
|
});
|
|
57
57
|
|
|
58
|
+
QUnit.test("jQuery.sap.require, mismatch in jQuery.sap.declare", function (assert) {
|
|
59
|
+
|
|
60
|
+
const SCENARIO = "mismatchOfDeclare";
|
|
61
|
+
const MODULE_A = `${SCENARIO}/moduleA`;
|
|
62
|
+
const MODULE_B = `${SCENARIO}/moduleB`;
|
|
63
|
+
const MODULE_C = `${SCENARIO}/moduleC`;
|
|
64
|
+
const toDot = (mod) => mod.replace(/\//g, "."); // create dot notation
|
|
65
|
+
|
|
66
|
+
// 'moduleA' has a dependency to 'moduleB', but 'moduleB' declares itself as 'moduleC'
|
|
67
|
+
// After loading 'moduleA', 'moduleB' and 'moduleC' both should be READY. This is loader specific behavior.
|
|
68
|
+
//
|
|
69
|
+
// As 'moduleB/C' only writes to the global name 'moduleC', 'moduleB' has an export of `undefined`.
|
|
70
|
+
// This is module specific behavior, not related to the loader.
|
|
71
|
+
this.server.respondWith(/moduleA/, `
|
|
72
|
+
jQuery.sap.declare("${toDot(MODULE_A)}");
|
|
73
|
+
jQuery.sap.require("${toDot(MODULE_B)}");
|
|
74
|
+
${toDot(MODULE_A)} = "A";
|
|
75
|
+
`);
|
|
76
|
+
this.server.respondWith(/moduleB/, `
|
|
77
|
+
jQuery.sap.declare("${toDot(MODULE_C)}");
|
|
78
|
+
${toDot(MODULE_C)} = "C";
|
|
79
|
+
`);
|
|
80
|
+
|
|
81
|
+
assert.equal(ObjectPath.get(`${toDot(MODULE_A)}`), undefined, "global property for 'moduleA' should be undefined");
|
|
82
|
+
assert.ok(!sap.ui.require(MODULE_A), "'moduleA' should not be declared");
|
|
83
|
+
assert.equal(ObjectPath.get(`${toDot(MODULE_B)}`), undefined, "global property for 'moduleB' should be undefined");
|
|
84
|
+
assert.ok(!sap.ui.require(MODULE_B), "'moduleB' should not be declared");
|
|
85
|
+
assert.equal(ObjectPath.get(`${toDot(MODULE_B)}`), undefined, "global property for 'moduleC' should be undefined");
|
|
86
|
+
assert.ok(!sap.ui.require(MODULE_C), "'moduleC' should not be declared");
|
|
87
|
+
|
|
88
|
+
jQuery.sap.require(`${toDot(MODULE_A)}`);
|
|
89
|
+
assert.equal(ObjectPath.get(`${toDot(MODULE_A)}`), "A", "require of 'moduleA' should have loaded 'moduleA'");
|
|
90
|
+
assert.ok(sap.ui.require(MODULE_A), "'moduleA' should be declared");
|
|
91
|
+
assert.equal(privateLoaderAPI.getModuleState(MODULE_B + ".js"), 4, "'moduleB' should be READY");
|
|
92
|
+
assert.equal(ObjectPath.get(`${toDot(MODULE_B)}`), undefined, "require of 'moduleA' should have loaded 'moduleB' (transitively)");
|
|
93
|
+
assert.equal(sap.ui.require(MODULE_B), undefined, "'moduleB' should have the expected export");
|
|
94
|
+
assert.equal(privateLoaderAPI.getModuleState(MODULE_C + ".js"), 4, "'moduleC' should be READY");
|
|
95
|
+
assert.equal(ObjectPath.get(`${toDot(MODULE_C)}`), "C", "require of 'moduleA' should have loaded 'moduleC' (transitively)");
|
|
96
|
+
assert.equal(sap.ui.require(MODULE_C), "C", "'moduleC' should have the expected export ('C')");
|
|
97
|
+
|
|
98
|
+
const done = assert.async();
|
|
99
|
+
sap.ui.require([
|
|
100
|
+
MODULE_B,
|
|
101
|
+
MODULE_C
|
|
102
|
+
], function(moduleB, moduleC) {
|
|
103
|
+
assert.strictEqual(moduleB, undefined, "export of 'moduleB' should be the expected one (undefined)");
|
|
104
|
+
assert.strictEqual(moduleC, "C", "export of 'moduleC' should be the expected one ('C')");
|
|
105
|
+
done();
|
|
106
|
+
}, function() {
|
|
107
|
+
assert.ok(false, "requring 'moduleB' and 'moduleC' should not fail");
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
|
|
58
111
|
QUnit.test("jQuery.sap.require, nested + cyclic", function (assert) {
|
|
59
112
|
|
|
60
113
|
this.server.respondWith(/first/, 'jQuery.sap.declare("my.first.module");' +
|
|
@@ -31,7 +31,9 @@ sap.ui.define([
|
|
|
31
31
|
|
|
32
32
|
var oFakeMsgProcessor = {
|
|
33
33
|
_getFunctionImportMetadata: function(){},
|
|
34
|
-
_getReducedPath : function(){
|
|
34
|
+
_getReducedPath : function (sPath) {
|
|
35
|
+
return sPath;
|
|
36
|
+
},
|
|
35
37
|
resolve: function(){},
|
|
36
38
|
_isCollection: function(){return false;}
|
|
37
39
|
};
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"Id": "HT-1000",
|
|
14
14
|
"ImageUrl": "../localService/mockdata/images/HT-1000.jpg",
|
|
15
15
|
"IsFavoriteOfCurrentUser": false,
|
|
16
|
-
"LastModified": "
|
|
16
|
+
"LastModified": "2015-09-25T14:12:45",
|
|
17
17
|
"MainCategoryId": "Computer Systems",
|
|
18
18
|
"MainCategoryName": "Computer Systems",
|
|
19
19
|
"MeasureUnit": "each",
|
|
@@ -421,14 +421,6 @@ sap.ui.define([
|
|
|
421
421
|
|
|
422
422
|
});
|
|
423
423
|
|
|
424
|
-
//*********************************************************************************************
|
|
425
|
-
QUnit.test("combineFilters: filter c'tor throws error", function (assert) {
|
|
426
|
-
// code under test
|
|
427
|
-
assert.throws(() => {
|
|
428
|
-
FilterProcessor.combineFilters([Filter.NONE], [Filter.NONE]);
|
|
429
|
-
}, new Error("Filter.NONE not allowed in multiple filter"));
|
|
430
|
-
});
|
|
431
|
-
|
|
432
424
|
//*********************************************************************************************
|
|
433
425
|
QUnit.test("combineFilters: groupFilter throws error", function (assert) {
|
|
434
426
|
const aApplicationFilters = "~ApplicationFilters";
|
|
@@ -452,6 +444,28 @@ sap.ui.define([
|
|
|
452
444
|
}, oError);
|
|
453
445
|
});
|
|
454
446
|
|
|
447
|
+
//*********************************************************************************************
|
|
448
|
+
QUnit.test("combineFilters: no Error if control or application filter is Filter.NONE", function (assert) {
|
|
449
|
+
const oFilterProcessorMock = this.mock(FilterProcessor);
|
|
450
|
+
oFilterProcessorMock.expects("groupFilters").withExactArgs("~Filters").returns(Filter.NONE);
|
|
451
|
+
oFilterProcessorMock.expects("groupFilters").withExactArgs("~ApplicationFilters").returns("~someGroupedFilter");
|
|
452
|
+
|
|
453
|
+
// code under test
|
|
454
|
+
assert.strictEqual(FilterProcessor.combineFilters("~Filters", "~ApplicationFilters"), Filter.NONE);
|
|
455
|
+
|
|
456
|
+
oFilterProcessorMock.expects("groupFilters").withExactArgs("~Filters").returns("~someGroupedFilter");
|
|
457
|
+
oFilterProcessorMock.expects("groupFilters").withExactArgs("~ApplicationFilters").returns(Filter.NONE);
|
|
458
|
+
|
|
459
|
+
// code under test
|
|
460
|
+
assert.strictEqual(FilterProcessor.combineFilters("~Filters", "~ApplicationFilters"), Filter.NONE);
|
|
461
|
+
|
|
462
|
+
oFilterProcessorMock.expects("groupFilters").withExactArgs("~Filters").returns(Filter.NONE);
|
|
463
|
+
oFilterProcessorMock.expects("groupFilters").withExactArgs("~ApplicationFilters").returns(Filter.NONE);
|
|
464
|
+
|
|
465
|
+
// code under test
|
|
466
|
+
assert.strictEqual(FilterProcessor.combineFilters("~Filters", "~ApplicationFilters"), Filter.NONE);
|
|
467
|
+
});
|
|
468
|
+
|
|
455
469
|
//*********************************************************************************************
|
|
456
470
|
QUnit.test("apply: propagates error from groupFilters", function (assert) {
|
|
457
471
|
const aFilters = ["~oFilter", Filter.NONE];
|
|
@@ -3,10 +3,11 @@ sap.ui.define([
|
|
|
3
3
|
'sap/ui/core/Component',
|
|
4
4
|
'sap/ui/core/Fragment',
|
|
5
5
|
'sap/ui/core/Element',
|
|
6
|
+
'sap/ui/core/ElementRegistry',
|
|
6
7
|
'sap/ui/core/mvc/XMLView',
|
|
7
8
|
'sap/ui/core/mvc/Controller',
|
|
8
9
|
'sap/base/Log'
|
|
9
|
-
], function(Component, Fragment, Element, XMLView, Controller, Log) {
|
|
10
|
+
], function(Component, Fragment, Element, ElementRegistry, XMLView, Controller, Log) {
|
|
10
11
|
"use strict";
|
|
11
12
|
|
|
12
13
|
QUnit.module("Controller.create API");
|
|
@@ -70,7 +71,7 @@ sap.ui.define([
|
|
|
70
71
|
|
|
71
72
|
// helper function to check if a view fully destroys itself
|
|
72
73
|
function checkForDanglingControls(assert, oView) {
|
|
73
|
-
var aDangling =
|
|
74
|
+
var aDangling = ElementRegistry.filter(function(o) {
|
|
74
75
|
return o.getId().startsWith(oView.getId());
|
|
75
76
|
});
|
|
76
77
|
|
|
@@ -134,12 +134,12 @@ sap.ui.define([
|
|
|
134
134
|
|
|
135
135
|
// immediately call the resolving handler
|
|
136
136
|
EventHandlerResolver.resolveEventHandler("Module.someMethod()", oController, {Module: {}});
|
|
137
|
-
|
|
137
|
+
assert.ok(logSpy.calledWith(sinon.match(/Event handler name 'Module.someMethod\(\)' could not be resolved to an event handler function/)));
|
|
138
138
|
logSpy.resetHistory();
|
|
139
139
|
|
|
140
140
|
// test without associated controller
|
|
141
141
|
EventHandlerResolver.resolveEventHandler("Module.someMethod()", null, {Module: {}});
|
|
142
|
-
|
|
142
|
+
assert.ok(logSpy.calledWith(sinon.match(/Event handler name 'Module.someMethod\(\)' could not be resolved to an event handler function/)));
|
|
143
143
|
|
|
144
144
|
logSpy.restore();
|
|
145
145
|
});
|
|
@@ -862,41 +862,44 @@ sap.ui.define([
|
|
|
862
862
|
}.bind(this));
|
|
863
863
|
});
|
|
864
864
|
|
|
865
|
-
QUnit.test("Async typed Views embedded in XMLView", function(assert) {
|
|
866
|
-
|
|
865
|
+
QUnit.test("Async typed Views embedded in XMLView", async function(assert) {
|
|
866
|
+
const oXMLView = await XMLView.create({
|
|
867
867
|
viewName : "testdata.mvc.XMLViewEmbeddingTypedViews"
|
|
868
|
-
})
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
868
|
+
});
|
|
869
|
+
|
|
870
|
+
const oPanel = oXMLView.getContent()[0];
|
|
871
|
+
const aViews = oPanel.getContent();
|
|
872
|
+
|
|
873
|
+
// wait all nested views to be processed first
|
|
874
|
+
await Promise.all(aViews.map((oView) => oView.loaded()));
|
|
875
|
+
|
|
876
|
+
assert.equal(this.oAfterInitSpy.callCount, 5, "AfterInit event fired before resolving");
|
|
877
|
+
|
|
878
|
+
var oTypedView1 = oPanel.getContent()[0];
|
|
879
|
+
assert.ok(oTypedView1, "embedded view has been created");
|
|
880
|
+
assert.ok(oTypedView1.isA("testdata.mvc.TypedView"), "embedded view is a typed view");
|
|
881
|
+
assert.ok(oTypedView1.byId("myPanel").isA("sap.m.Panel"), "Content created successfully");
|
|
882
|
+
|
|
883
|
+
var oTypedView2 = oPanel.getContent()[1];
|
|
884
|
+
assert.ok(oTypedView2, "another embedded view has been created");
|
|
885
|
+
assert.ok(oTypedView2.isA("example.mvc.TypedView2"), "embedded view is a typed view");
|
|
886
|
+
assert.ok(oTypedView2.byId("Button1").isA("sap.m.Button"), "Content created successfully");
|
|
887
|
+
|
|
888
|
+
var oTypedView3 = oPanel.getContent()[2];
|
|
889
|
+
assert.ok(oTypedView3, "embedded view with its class name defined as tag name has been created");
|
|
890
|
+
assert.ok(oTypedView3.isA("testdata.mvc.TypedView"), "embedded view is a typed view");
|
|
891
|
+
assert.ok(oTypedView3.byId("myPanel").isA("sap.m.Panel"), "Content created successfully");
|
|
892
|
+
|
|
893
|
+
var oTypedView4 = oPanel.getContent()[3];
|
|
894
|
+
assert.ok(oTypedView4, "embedded view with its class name defined as tag name has been created");
|
|
895
|
+
assert.ok(oTypedView4.isA("testdata.mvc.TypedViewWithRenderer"), "embedded view is a typed view");
|
|
896
|
+
assert.ok(oTypedView4.byId("myPanel").isA("sap.m.Panel"), "Content created successfully");
|
|
897
|
+
assert.equal(oTypedView4.getMetadata().getRendererName(), "testdata.mvc.TypedViewWithRendererRenderer", "Own Renderer set correctly");
|
|
898
|
+
assert.strictEqual(
|
|
899
|
+
oTypedView4.getMetadata().getRenderer(),
|
|
900
|
+
sap.ui.require("testdata/mvc/TypedViewWithRendererRenderer"),
|
|
901
|
+
"Own Renderer set correctly");
|
|
902
|
+
|
|
903
|
+
oXMLView.destroy();
|
|
901
904
|
});
|
|
902
905
|
});
|