@openui5/sap.ui.core 1.119.1 → 1.120.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/THIRDPARTY.txt +6 -6
- package/package.json +1 -1
- package/src/jquery.sap.global.js +40 -111
- package/src/jquery.sap.properties.js +7 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +5 -3
- package/src/jquery.sap.storage.js +6 -3
- package/src/sap/base/Event.js +32 -78
- package/src/sap/base/Eventing.js +114 -271
- package/src/sap/base/Log.js +21 -1
- package/src/sap/base/config.js +14 -9
- package/src/sap/base/i18n/Formatting.js +400 -256
- package/src/sap/base/i18n/LanguageTag.js +64 -66
- package/src/sap/base/i18n/Localization.js +125 -87
- package/src/sap/base/i18n/ResourceBundle.js +1 -1
- package/src/sap/base/i18n/date/CalendarType.js +2 -2
- package/src/sap/base/i18n/date/CalendarWeekNumbering.js +2 -2
- package/src/sap/base/i18n/date/TimezoneUtils.js +43 -6
- package/src/sap/base/util/LoaderExtensions.js +8 -2
- package/src/sap/base/util/mixedFetch.js +1 -0
- package/src/sap/base/util/resolveReference.js +31 -13
- 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 +1 -0
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +6 -7
- package/src/sap/ui/base/BindingInfo.js +3 -3
- package/src/sap/ui/base/BindingParser.js +5 -2
- package/src/sap/ui/base/DataType.js +57 -1
- package/src/sap/ui/base/DesignTime.js +69 -0
- package/src/sap/ui/base/Event.js +2 -2
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/ExpressionParser.js +25 -4
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +102 -85
- package/src/sap/ui/base/ManagedObjectMetadata.js +53 -31
- package/src/sap/ui/base/ManagedObjectObserver.js +1 -0
- package/src/sap/ui/base/Metadata.js +3 -3
- package/src/sap/ui/base/Object.js +19 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/core/.library +3 -3
- package/src/sap/ui/core/AnimationMode.js +2 -2
- package/src/sap/ui/core/AppCacheBuster.js +30 -18
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/CalendarType.js +6 -0
- package/src/sap/ui/core/Component.js +175 -86
- package/src/sap/ui/core/ComponentContainer.js +6 -5
- package/src/sap/ui/core/ComponentMetadata.js +3 -4
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +395 -709
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/ControlBehavior.js +37 -28
- package/src/sap/ui/core/Core.js +338 -216
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +3 -1
- package/src/sap/ui/core/Element.js +24 -10
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +3 -2
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +3 -3
- 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/IndicationColorSupport.js +13 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +2 -3
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +17 -1
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +8 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.js +253 -57
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +118 -32
- package/src/sap/ui/core/Manifest.js +4 -2
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Placeholder.js +18 -0
- package/src/sap/ui/core/Popup.js +5 -0
- package/src/sap/ui/core/RenderManager.js +21 -17
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/Rendering.js +51 -47
- package/src/sap/ui/core/ResizeHandler.js +2 -2
- 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 +5 -3
- package/src/sap/ui/core/Supportability.js +146 -0
- package/src/sap/ui/core/Theming.js +130 -88
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +4 -3
- package/src/sap/ui/core/UIArea.js +5 -4
- package/src/sap/ui/core/UIComponent.js +38 -12
- 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 +3 -3
- package/src/sap/ui/core/_IconRegistry.js +13 -6
- package/src/sap/ui/core/cldr/ar.json +143 -137
- package/src/sap/ui/core/cldr/ar_EG.json +143 -137
- package/src/sap/ui/core/cldr/ar_SA.json +143 -137
- package/src/sap/ui/core/cldr/bg.json +423 -423
- package/src/sap/ui/core/cldr/ca.json +541 -494
- package/src/sap/ui/core/cldr/cs.json +475 -364
- package/src/sap/ui/core/cldr/cy.json +656 -477
- package/src/sap/ui/core/cldr/da.json +334 -275
- package/src/sap/ui/core/cldr/de.json +388 -291
- package/src/sap/ui/core/cldr/de_AT.json +388 -291
- package/src/sap/ui/core/cldr/de_CH.json +394 -297
- package/src/sap/ui/core/cldr/el.json +169 -166
- package/src/sap/ui/core/cldr/el_CY.json +169 -166
- package/src/sap/ui/core/cldr/en.json +558 -521
- package/src/sap/ui/core/cldr/en_AU.json +558 -520
- package/src/sap/ui/core/cldr/en_GB.json +476 -439
- package/src/sap/ui/core/cldr/en_HK.json +520 -482
- package/src/sap/ui/core/cldr/en_IE.json +486 -448
- package/src/sap/ui/core/cldr/en_IN.json +466 -428
- package/src/sap/ui/core/cldr/en_NZ.json +506 -468
- package/src/sap/ui/core/cldr/en_PG.json +506 -468
- package/src/sap/ui/core/cldr/en_SG.json +506 -468
- package/src/sap/ui/core/cldr/en_ZA.json +486 -448
- package/src/sap/ui/core/cldr/es.json +473 -468
- package/src/sap/ui/core/cldr/es_AR.json +445 -440
- package/src/sap/ui/core/cldr/es_BO.json +479 -474
- package/src/sap/ui/core/cldr/es_CL.json +469 -464
- package/src/sap/ui/core/cldr/es_CO.json +387 -381
- package/src/sap/ui/core/cldr/es_MX.json +502 -497
- package/src/sap/ui/core/cldr/es_PE.json +455 -450
- package/src/sap/ui/core/cldr/es_UY.json +479 -474
- package/src/sap/ui/core/cldr/es_VE.json +499 -494
- package/src/sap/ui/core/cldr/et.json +378 -320
- package/src/sap/ui/core/cldr/fa.json +104 -104
- package/src/sap/ui/core/cldr/fi.json +401 -315
- package/src/sap/ui/core/cldr/fr.json +391 -385
- package/src/sap/ui/core/cldr/fr_BE.json +391 -385
- package/src/sap/ui/core/cldr/fr_CA.json +499 -493
- package/src/sap/ui/core/cldr/fr_CH.json +334 -328
- package/src/sap/ui/core/cldr/fr_LU.json +391 -385
- package/src/sap/ui/core/cldr/he.json +291 -159
- package/src/sap/ui/core/cldr/hi.json +157 -128
- package/src/sap/ui/core/cldr/hr.json +514 -461
- package/src/sap/ui/core/cldr/hu.json +287 -257
- package/src/sap/ui/core/cldr/id.json +463 -416
- package/src/sap/ui/core/cldr/it.json +468 -413
- package/src/sap/ui/core/cldr/it_CH.json +468 -413
- package/src/sap/ui/core/cldr/ja.json +98 -61
- package/src/sap/ui/core/cldr/kk.json +631 -571
- package/src/sap/ui/core/cldr/ko.json +79 -71
- package/src/sap/ui/core/cldr/lt.json +361 -270
- package/src/sap/ui/core/cldr/lv.json +234 -242
- package/src/sap/ui/core/cldr/ms.json +463 -408
- package/src/sap/ui/core/cldr/nb.json +176 -143
- package/src/sap/ui/core/cldr/nl.json +463 -393
- package/src/sap/ui/core/cldr/nl_BE.json +463 -393
- package/src/sap/ui/core/cldr/pl.json +633 -344
- package/src/sap/ui/core/cldr/pt.json +447 -336
- package/src/sap/ui/core/cldr/pt_PT.json +488 -449
- package/src/sap/ui/core/cldr/ro.json +477 -383
- package/src/sap/ui/core/cldr/ru.json +367 -332
- package/src/sap/ui/core/cldr/ru_UA.json +361 -326
- package/src/sap/ui/core/cldr/sk.json +502 -537
- package/src/sap/ui/core/cldr/sl.json +168 -161
- package/src/sap/ui/core/cldr/sr.json +276 -225
- package/src/sap/ui/core/cldr/sr_Latn.json +972 -907
- package/src/sap/ui/core/cldr/sv.json +420 -346
- package/src/sap/ui/core/cldr/th.json +117 -94
- package/src/sap/ui/core/cldr/tr.json +413 -359
- package/src/sap/ui/core/cldr/uk.json +395 -368
- package/src/sap/ui/core/cldr/vi.json +392 -379
- package/src/sap/ui/core/cldr/zh_CN.json +91 -33
- package/src/sap/ui/core/cldr/zh_HK.json +90 -32
- package/src/sap/ui/core/cldr/zh_SG.json +90 -32
- package/src/sap/ui/core/cldr/zh_TW.json +75 -51
- package/src/sap/ui/core/date/CalendarWeekNumbering.js +6 -0
- package/src/sap/ui/core/date/Islamic.js +4 -4
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- package/src/sap/ui/core/date/_Calendars.js +5 -2
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragAndDrop.js +3 -2
- 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 +33 -21
- package/src/sap/ui/core/format/NumberFormat.js +3 -2
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/getCompatibilityVersion.js +2 -2
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +128 -8
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +2 -2
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/message/MessageType.js +2 -1
- package/src/sap/ui/core/messagebundle.properties +24 -0
- package/src/sap/ui/core/messagebundle_ar.properties +15 -3
- package/src/sap/ui/core/messagebundle_bg.properties +14 -2
- package/src/sap/ui/core/messagebundle_ca.properties +13 -1
- package/src/sap/ui/core/messagebundle_cs.properties +15 -3
- package/src/sap/ui/core/messagebundle_cy.properties +16 -4
- package/src/sap/ui/core/messagebundle_da.properties +15 -3
- package/src/sap/ui/core/messagebundle_de.properties +15 -3
- package/src/sap/ui/core/messagebundle_el.properties +16 -4
- package/src/sap/ui/core/messagebundle_en.properties +12 -0
- package/src/sap/ui/core/messagebundle_en_GB.properties +16 -4
- package/src/sap/ui/core/messagebundle_es.properties +15 -3
- package/src/sap/ui/core/messagebundle_es_MX.properties +15 -3
- package/src/sap/ui/core/messagebundle_et.properties +15 -3
- package/src/sap/ui/core/messagebundle_fi.properties +15 -3
- package/src/sap/ui/core/messagebundle_fr.properties +15 -3
- package/src/sap/ui/core/messagebundle_fr_CA.properties +14 -2
- package/src/sap/ui/core/messagebundle_hi.properties +16 -4
- package/src/sap/ui/core/messagebundle_hr.properties +14 -2
- package/src/sap/ui/core/messagebundle_hu.properties +16 -4
- package/src/sap/ui/core/messagebundle_id.properties +15 -3
- package/src/sap/ui/core/messagebundle_it.properties +17 -5
- package/src/sap/ui/core/messagebundle_iw.properties +15 -3
- package/src/sap/ui/core/messagebundle_ja.properties +25 -13
- package/src/sap/ui/core/messagebundle_kk.properties +15 -3
- package/src/sap/ui/core/messagebundle_ko.properties +14 -2
- package/src/sap/ui/core/messagebundle_lt.properties +15 -3
- package/src/sap/ui/core/messagebundle_lv.properties +15 -3
- package/src/sap/ui/core/messagebundle_mk.properties +352 -0
- package/src/sap/ui/core/messagebundle_ms.properties +15 -3
- package/src/sap/ui/core/messagebundle_nl.properties +15 -3
- package/src/sap/ui/core/messagebundle_no.properties +14 -2
- package/src/sap/ui/core/messagebundle_pl.properties +15 -3
- package/src/sap/ui/core/messagebundle_pt.properties +15 -3
- package/src/sap/ui/core/messagebundle_pt_PT.properties +14 -2
- package/src/sap/ui/core/messagebundle_ro.properties +15 -3
- package/src/sap/ui/core/messagebundle_ru.properties +15 -3
- package/src/sap/ui/core/messagebundle_sh.properties +43 -31
- package/src/sap/ui/core/messagebundle_sk.properties +16 -4
- package/src/sap/ui/core/messagebundle_sl.properties +15 -3
- package/src/sap/ui/core/messagebundle_sv.properties +22 -10
- package/src/sap/ui/core/messagebundle_th.properties +15 -3
- package/src/sap/ui/core/messagebundle_tr.properties +15 -3
- package/src/sap/ui/core/messagebundle_uk.properties +18 -6
- package/src/sap/ui/core/messagebundle_vi.properties +18 -6
- package/src/sap/ui/core/messagebundle_zh_CN.properties +15 -3
- package/src/sap/ui/core/messagebundle_zh_TW.properties +15 -3
- package/src/sap/ui/core/mvc/Controller.js +22 -16
- package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +1 -1
- package/src/sap/ui/core/mvc/EventHandlerResolver.js +5 -15
- package/src/sap/ui/core/mvc/HTMLView.js +2 -2
- package/src/sap/ui/core/mvc/JSONView.js +4 -1
- package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -0
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/OverrideExecution.js +4 -4
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +25 -15
- package/src/sap/ui/core/mvc/ViewType.js +2 -0
- package/src/sap/ui/core/mvc/XMLView.js +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +2 -1
- package/src/sap/ui/core/plugin/LessSupport.js +3 -1
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/routing/Router.js +2 -4
- package/src/sap/ui/core/routing/Target.js +1 -3
- package/src/sap/ui/core/routing/Targets.js +2 -3
- package/src/sap/ui/core/routing/Views.js +2 -3
- package/src/sap/ui/core/routing/async/Target.js +1 -1
- package/src/sap/ui/core/rules/Config.support.js +11 -17
- package/src/sap/ui/core/search/OpenSearchProvider.js +2 -1
- package/src/sap/ui/core/search/SearchProvider.js +2 -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/Hotkeys.js +5 -3
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/RuleEngineOpaExtension.js +1 -3
- package/src/sap/ui/core/support/Support.js +3 -5
- package/src/sap/ui/core/support/ToolsAPI.js +15 -11
- package/src/sap/ui/core/support/plugins/ControlTree.js +2 -2
- package/src/sap/ui/core/support/plugins/Interaction.js +4 -4
- 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 +7 -5
- 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/support/techinfo/TechnicalInfo.js +3 -1
- package/src/sap/ui/core/syncStyleClass.js +2 -2
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/themes/base/global.less +9 -9
- package/src/sap/ui/core/theming/Parameters.js +18 -19
- package/src/sap/ui/core/theming/ThemeManager.js +23 -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 +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/XMLPreprocessor.js +3 -0
- package/src/sap/ui/core/util/_LocalizationHelper.js +122 -0
- 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 +4 -4
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/webc/WebComponent.js +1 -1
- package/src/sap/ui/core/webc/WebComponentMetadata.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 +29 -7
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/ClientListBinding.js +9 -4
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +9 -4
- 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 +2 -2
- package/src/sap/ui/model/Filter.js +39 -1
- package/src/sap/ui/model/FilterProcessor.js +15 -5
- package/src/sap/ui/model/ListBinding.js +5 -0
- package/src/sap/ui/model/ManagedObjectBindingSupport.js +4 -4
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +14 -8
- 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/TreeBinding.js +3 -0
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +3 -1
- package/src/sap/ui/model/json/JSONListBinding.js +3 -1
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- package/src/sap/ui/model/json/JSONTreeBinding.js +3 -2
- package/src/sap/ui/model/message/MessageListBinding.js +3 -0
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/AnnotationHelper.js +9 -3
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +8 -2
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +9 -5
- package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -2
- package/src/sap/ui/model/odata/ODataTreeBinding.js +2 -0
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +9 -14
- 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/ODataListBinding.js +40 -15
- package/src/sap/ui/model/odata/v2/ODataModel.js +26 -62
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +38 -4
- package/src/sap/ui/model/odata/v4/Context.js +81 -7
- package/src/sap/ui/model/odata/v4/ODataBinding.js +3 -0
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +217 -75
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +2 -2
- package/src/sap/ui/model/odata/v4/ODataModel.js +6 -6
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +406 -199
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +12 -7
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +53 -30
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +6 -4
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +6 -6
- package/src/sap/ui/model/resource/ResourceModel.js +5 -6
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLListBinding.js +3 -0
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/model/xml/XMLTreeBinding.js +3 -0
- package/src/sap/ui/performance/BeaconRequest.js +2 -2
- package/src/sap/ui/performance/trace/Interaction.js +20 -16
- package/src/sap/ui/qunit/QUnitUtils.js +64 -45
- package/src/sap/ui/qunit/qunit-coverage.js +6 -0
- package/src/sap/ui/qunit/utils/ControlIterator.js +31 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/security/Security.js +128 -0
- package/src/sap/ui/test/BlanketReporter.js +2 -3
- package/src/sap/ui/test/BlanketReporterUI.view.xml +1 -1
- package/src/sap/ui/test/BranchTracking.js +2 -3
- package/src/sap/ui/test/ModuleTracking.js +48 -20
- package/src/sap/ui/test/OpaExtension.js +3 -3
- package/src/sap/ui/test/OpaPlugin.js +16 -6
- package/src/sap/ui/test/TestUtils.js +7 -4
- package/src/sap/ui/test/_BrowserLogCollector.js +1 -0
- package/src/sap/ui/test/_ControlFinder.js +3 -2
- package/src/sap/ui/test/_LogCollector.js +1 -0
- package/src/sap/ui/test/_UsageReport.js +115 -114
- package/src/sap/ui/test/actions/EnterText.js +24 -2
- package/src/sap/ui/test/autowaiter/WaiterBase.js +1 -0
- package/src/sap/ui/test/autowaiter/_moduleWaiter.js +1 -2
- package/src/sap/ui/test/autowaiter/_timeoutWaiter.js +1 -1
- package/src/sap/ui/test/generic/GenericTestCollection.js +5 -0
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/generic/Utils.js +1 -1
- package/src/sap/ui/test/matchers/LabelFor.js +2 -12
- package/src/sap/ui/test/matchers/Matcher.js +1 -1
- package/src/sap/ui/test/pipelines/PipelineFactory.js +1 -0
- package/src/sap/ui/test/selectors/_Selector.js +1 -1
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader-autoconfig.js +84 -11
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/manifest.json +3 -10
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/package.json +13 -0
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/localService/mockserver.js +3 -4
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/ChartAnnotation.fragment.xml +7 -7
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Component.js +2 -3
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Detail.view.xml +12 -13
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Facets.fragment.xml +4 -4
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Field.fragment.xml +8 -8
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/FormFacet.fragment.xml +3 -5
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/LabeledField.fragment.xml +3 -3
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Table.fragment.xml +10 -10
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/TableFacet.fragment.xml +3 -3
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/extension/HeaderInfo.fragment.xml +1 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Field.fragment.xml +2 -2
- package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Template.view.xml +19 -21
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/TemplateV4.view.xml +2 -2
- package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Component.js +2 -3
- package/test/sap/ui/core/demokit/sample/common/SandboxModelHelper.js +2 -3
- package/test/sap/ui/core/demokit/sample/common/ValueHelp.js +2 -3
- package/test/sap/ui/core/demokit/sample/common/pages/Any.js +7 -8
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/package.json +13 -0
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/Component.js +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/package.json +13 -0
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/package.json +13 -0
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/package.json +13 -0
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +15 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +3 -4
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +39 -16
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +18 -21
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/all.json +509 -395
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/metadata.xml +586 -422
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Facets.fragment.xml +22 -23
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/FormattedText.fragment.xml +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Main.view.xml +7 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +0 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +54 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +34 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +156 -23
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.view.xml +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Facets.fragment.xml +22 -23
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/FormattedText.fragment.xml +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Main.view.xml +5 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.controller.js +2 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/01/Component.js +9 -25
- package/test/sap/ui/core/demokit/tutorial/databinding/01/manifest.json +20 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/02/Component.js +9 -25
- package/test/sap/ui/core/demokit/tutorial/databinding/02/manifest.json +20 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/03/Component.js +9 -25
- package/test/sap/ui/core/demokit/tutorial/databinding/03/manifest.json +20 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/04/Component.js +9 -26
- package/test/sap/ui/core/demokit/tutorial/databinding/04/manifest.json +21 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/05/Component.js +9 -26
- package/test/sap/ui/core/demokit/tutorial/databinding/05/manifest.json +21 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/06/Component.js +9 -27
- package/test/sap/ui/core/demokit/tutorial/databinding/06/manifest.json +22 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/07/Component.js +9 -28
- package/test/sap/ui/core/demokit/tutorial/databinding/07/manifest.json +23 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/08/Component.js +9 -28
- package/test/sap/ui/core/demokit/tutorial/databinding/08/manifest.json +23 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/09/Component.js +9 -29
- package/test/sap/ui/core/demokit/tutorial/databinding/09/manifest.json +24 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/10/Component.js +9 -29
- package/test/sap/ui/core/demokit/tutorial/databinding/10/manifest.json +24 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/11/Component.js +9 -29
- package/test/sap/ui/core/demokit/tutorial/databinding/11/manifest.json +24 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/12/Component.js +9 -30
- package/test/sap/ui/core/demokit/tutorial/databinding/12/manifest.json +25 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/13/Component.js +9 -30
- package/test/sap/ui/core/demokit/tutorial/databinding/13/manifest.json +25 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/14/Component.js +9 -30
- package/test/sap/ui/core/demokit/tutorial/databinding/14/manifest.json +25 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/15/Component.js +9 -32
- package/test/sap/ui/core/demokit/tutorial/databinding/15/manifest.json +27 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/Component.js +9 -30
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/manifest.json +24 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/Component.js +9 -33
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/manifest.json +27 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/Component.js +9 -33
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/manifest.json +27 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/Component.js +9 -33
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/manifest.json +27 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/01/Component.js +9 -33
- package/test/sap/ui/core/demokit/tutorial/navigation/01/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/02/Component.js +9 -35
- package/test/sap/ui/core/demokit/tutorial/navigation/02/manifest.json +30 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/03/Component.js +9 -37
- package/test/sap/ui/core/demokit/tutorial/navigation/03/manifest.json +32 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/04/Component.js +9 -38
- package/test/sap/ui/core/demokit/tutorial/navigation/04/manifest.json +33 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/05/Component.js +9 -38
- package/test/sap/ui/core/demokit/tutorial/navigation/05/manifest.json +33 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/06/Component.js +9 -40
- package/test/sap/ui/core/demokit/tutorial/navigation/06/manifest.json +35 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/07/Component.js +9 -42
- package/test/sap/ui/core/demokit/tutorial/navigation/07/manifest.json +37 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/08/Component.js +9 -45
- package/test/sap/ui/core/demokit/tutorial/navigation/08/manifest.json +40 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/09/Component.js +9 -45
- package/test/sap/ui/core/demokit/tutorial/navigation/09/manifest.json +40 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/10/Component.js +9 -47
- package/test/sap/ui/core/demokit/tutorial/navigation/10/manifest.json +42 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/11/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/11/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/12/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/12/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/13/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/13/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/14/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/14/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/15/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/15/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/16/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/16/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/17/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/17/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/Component.js +9 -29
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/manifest.json +25 -0
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +2 -2
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +2 -3
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/SandboxModel.js +2 -3
- package/test/sap/ui/core/qunit/ClientModel.qunit.js +28 -28
- package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +18 -0
- package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +4 -3
- package/test/sap/ui/core/qunit/Core.qunit.js +5 -14
- package/test/sap/ui/core/qunit/Core_libraryPreloadFiles.qunit.js +4 -4
- package/test/sap/ui/core/qunit/Core_libraryPreloadFiles_unavoidablyUsingEval.qunit.js +6 -6
- package/test/sap/ui/core/qunit/Core_unavoidablyUsingEval.qunit.js +31 -30
- package/test/sap/ui/core/qunit/DataState.qunit.js +7 -4
- package/test/sap/ui/core/qunit/DuplicateIds.qunit.js +3 -0
- package/test/sap/ui/core/qunit/DuplicateIds_noError.qunit.js +4 -0
- package/test/sap/ui/core/qunit/Element_metadata_renderer.qunit.js +6 -0
- package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +144 -85
- package/test/sap/ui/core/qunit/HTML.qunit.js +87 -84
- package/test/sap/ui/core/qunit/InvisibleText.qunit.js +22 -1
- package/test/sap/ui/core/qunit/LRUPersistentCache.qunit.js +4 -4
- package/test/sap/ui/core/qunit/Lib.qunit.js +64 -1
- package/test/sap/ui/core/qunit/ListBinding.qunit.js +14 -1
- package/test/sap/ui/core/qunit/ManagedObject.qunit.js +90 -4
- package/test/sap/ui/core/qunit/ManagedObjectMetadata.qunit.js +41 -40
- package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +2 -1
- package/test/sap/ui/core/qunit/{ManagedObject_noBoot.qunit.js → ManagedObject_BindingParser.qunit.js} +10 -9
- package/test/sap/ui/core/qunit/Object.qunit.js +36 -0
- package/test/sap/ui/core/qunit/RenderManager.qunit.js +86 -94
- package/test/sap/ui/core/qunit/ShortcutHints.qunit.js +11 -97
- package/test/sap/ui/core/qunit/StaticBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/UIArea.qunit.js +34 -35
- package/test/sap/ui/core/qunit/analytics/AnalyticalTreeBindingAdapter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/analytics/ODataModelAdapter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +3 -0
- package/test/sap/ui/core/qunit/app/DesignMode_controllerDeactivated.qunit.js +5 -6
- package/test/sap/ui/core/qunit/app/DesignMode_suppressedDeactivation.qunit.js +5 -6
- package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/app/_createDesignModeTests_legacyAPIs.qunit.js +8 -10
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +2 -2
- package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +49 -30
- package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +123 -10
- package/test/sap/ui/core/qunit/base/util/resolveReference.qunit.js +9 -0
- package/test/sap/ui/core/qunit/base/util/testdata/MyModule.js +5 -0
- package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.beforeBootstrap.qunit.js +4 -2
- package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.html +1 -0
- package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +9 -10
- package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload_legacyAPIs.qunit.js +0 -2
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithinBody.qunit.html +2 -1
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithinHead.qunit.html +2 -1
- package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +122 -266
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibConfigured.qunit.html +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibConfigured.qunit.js +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibLoaded.qunit.html +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibLoaded.qunit.js +16 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibNotLoaded.qunit.html +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibNotLoaded.qunit.js +14 -0
- package/test/sap/ui/core/qunit/bootstrap/ControlBehavior.qunit.js +110 -0
- package/test/sap/ui/core/qunit/bootstrap/PreloadCfg.qunit.js +4 -3
- package/test/sap/ui/core/qunit/bootstrap/ResourceRoot_ResourcesURL_Standard.qunit.html +1 -1
- package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.beforeBootstrap.qunit.js +2 -3
- package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted.qunit.js +39 -34
- package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted_legacyAPIs.qunit.js +5 -1
- package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +51 -15
- package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery-compat.qunit.html +23 -0
- package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery-compat.qunit.js +1 -1
- package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery.sap.stubs.qunit.js +16 -20
- package/test/sap/ui/core/qunit/compat_legacyAPIs/testsuite.compat.qunit.js +1 -4
- package/test/sap/ui/core/qunit/component/Component.qunit.js +100 -7
- package/test/sap/ui/core/qunit/component/Models.qunit.js +3 -1
- package/test/sap/ui/core/qunit/component/Preloading.qunit.js +8 -12
- package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +8 -2
- package/test/sap/ui/core/qunit/component/testdata/routerPreloading/Component.js +23 -0
- package/test/sap/ui/core/qunit/component/testdata/routerPreloading/Main.view.xml +8 -0
- package/test/sap/ui/core/qunit/component/testdata/routerPreloading/manifest.json +34 -0
- package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/Component.js +23 -0
- package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/Main.view.xml +8 -0
- package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/manifest.json +28 -0
- package/test/sap/ui/core/qunit/date/_Calendars.qunit.js +52 -0
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +18 -0
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaksUsingIterator.qunit.js +3 -4
- package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +18 -0
- package/test/sap/ui/core/qunit/generic/legacy/SettersContextReturn.qunit.js +15 -0
- package/test/sap/ui/core/qunit/generic/testsuite.generic.qunit.js +21 -0
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessAmbiguous.js +2 -3
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessDuplicate.js +2 -3
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessFailing.js +2 -3
- package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.html +16 -0
- package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.js +1 -1
- package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.html +16 -0
- package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.js +1 -1
- package/test/sap/ui/core/qunit/gherkin/testsuite.gherkin.qunit.js +3 -2
- package/test/sap/ui/core/qunit/i18n/Buddhist.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/GenericLocaleData.qunit.js +217 -114
- package/test/sap/ui/core/qunit/i18n/Islamic.qunit.js +7 -4
- package/test/sap/ui/core/qunit/i18n/Japanese.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +341 -7
- package/test/sap/ui/core/qunit/i18n/Persian.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/UniversalDateUtils.qunit.js +10 -1
- package/test/sap/ui/core/qunit/i18n/helper/_timezones.js +17 -11
- package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +7 -1
- package/test/sap/ui/core/qunit/internal/1Ring.qunit.html +5 -1
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +2 -2
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
- package/test/sap/ui/core/qunit/internal/AnnotationParser.qunit.html +1 -2
- package/test/sap/ui/core/qunit/internal/ODataV4.qunit.html +6 -1
- package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +2 -1
- package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.html +24 -0
- package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.js +12 -6
- package/test/sap/ui/core/qunit/jquery.sap.global-config_beforeBootstrap.qunit.js +1 -1
- package/test/sap/ui/core/qunit/json/JSONListBinding.qunit.js +30 -0
- package/test/sap/ui/core/qunit/loader/exposeAsAMDLoader.qunit.html +1 -0
- package/test/sap/ui/core/qunit/model/Binding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +5 -2
- package/test/sap/ui/core/qunit/model/ClientPropertyBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +5 -2
- package/test/sap/ui/core/qunit/model/ClientTreeBindingAdapter.qunit.js +6 -0
- package/test/sap/ui/core/qunit/model/CompositeDataState.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/Context.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ContextBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/Filter.qunit.js +49 -0
- package/test/sap/ui/core/qunit/model/FilterProcessor.qunit.js +68 -1
- package/test/sap/ui/core/qunit/model/ListBinding.qunit.js +23 -5
- package/test/sap/ui/core/qunit/model/Model.qunit.js +46 -2
- package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/Sorter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/TreeBinding.qunit.js +43 -3
- package/test/sap/ui/core/qunit/model/TreeBindingAdapter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +107 -93
- package/test/sap/ui/core/qunit/mvc/View.qunit.js +3 -0
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessor.qunit.js +17 -14
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +23 -12
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +29 -82
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML_unavoidablySync.qunit.js +123 -0
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +4 -0
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +4 -0
- package/test/sap/ui/core/qunit/mvc/testsuite.mvc.qunit.js +16 -0
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +408 -419
- package/test/sap/ui/core/qunit/odata/AnnotationHelper.qunit.js +6 -4
- package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +16 -0
- package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +8 -1
- package/test/sap/ui/core/qunit/odata/ODataModel_legacyAPIs.qunit.js +22 -22
- package/test/sap/ui/core/qunit/odata/ODataTreeBindingAdapter.qunit.js +1 -1
- package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +5 -1
- package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/type/DateTimeWithTimezone.qunit.js +6 -6
- package/test/sap/ui/core/qunit/odata/type/Time.qunit.js +3 -4
- package/test/sap/ui/core/qunit/odata/type/TimeOfDay.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +52 -29
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +952 -292
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +8 -15
- package/test/sap/ui/core/qunit/odata/v2/ODataPropertyBindingNoFakeService.qunit.js +6 -7
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +215 -1
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +211 -20
- package/test/sap/ui/core/qunit/odata/v2/ODataV2Model.qunit.js +32 -36
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +3 -2
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +69 -2
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +19 -9
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +601 -99
- package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +5 -5
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1896 -407
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +7 -5
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +909 -422
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +21 -6
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +104 -33
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +8 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_MetadataRequestor.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +9 -9
- package/test/sap/ui/core/qunit/odata/v4/lib/_V2MetadataConverter.qunit.js +3 -3
- package/test/sap/ui/core/qunit/odata/v4/lib/_V4MetadataConverter.qunit.js +3 -3
- package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +16 -0
- package/test/sap/ui/core/qunit/opa/_LogCollector.qunit.js +17 -9
- package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +66 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_cssAnimationWaiter.js +3 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_cssTransitionWaiter.js +3 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +3 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_timeoutWaiter.js +11 -0
- package/test/sap/ui/core/qunit/opa/fixture/miniUI5Site.js +14 -8
- package/test/sap/ui/core/qunit/opa/fixture/uncaughtError.js +18 -12
- package/test/sap/ui/core/qunit/performance/BeaconRequest.qunit.js +18 -2
- package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +11 -2
- package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +4 -7
- package/test/sap/ui/core/qunit/resource/ResourceBinding.qunit.js +1 -0
- package/test/sap/ui/core/qunit/resource/ResourceModel.qunit.js +5 -4
- package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +20 -18
- package/test/sap/ui/core/qunit/routing/async/Targets.qunit.js +1 -4
- package/test/sap/ui/core/qunit/routing/fixture/routingConfig/Component.js +2 -25
- package/test/sap/ui/core/qunit/routing/fixture/routingConfig/manifest.json +28 -0
- package/test/sap/ui/core/qunit/rule/misc/silentEventBus.qunit.js +1 -2
- package/test/sap/ui/core/qunit/testdata/libraries/scenario11/lib1/library.js +11 -0
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library-preload.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library-preload.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/terminologies/integration/lib/library-preload.js +1 -1
- package/test/sap/ui/core/qunit/testdata/shortcutHints/Component.js +9 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/RootView.controller.js +8 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/RootView.view.xml +16 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/lib/MyControl.js +27 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/manifest.json +26 -0
- package/test/sap/ui/core/qunit/testdata/uilib-custom-theme-fallback/library.js +4 -5
- package/test/sap/ui/core/qunit/testdata/uilib-failing-css-import/library.js +5 -6
- package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_expression.controller.js +2 -1
- package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_expression.view.xml +18 -1
- package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +3 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.control.framework.qunit.js +0 -4
- package/test/sap/ui/core/qunit/testsuites/testsuite.foundation.enablement.qunit.js +6 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.managed.object.qunit.js +4 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.modular.core.qunit.js +1 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.security.qunit.js +3 -9
- package/test/sap/ui/core/qunit/types/DataType.qunit.js +14 -3
- package/test/sap/ui/core/qunit/types/Date.qunit.js +3 -0
- package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +391 -147
- package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +32 -29
- package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +7 -4
- package/test/sap/ui/core/qunit/types/FileSizeFormat.qunit.js +5 -1
- package/test/sap/ui/core/qunit/types/ListFormat.qunit.js +3 -0
- package/test/sap/ui/core/qunit/types/NumberFormat.qunit.js +4 -3
- package/test/sap/ui/core/qunit/types/NumberFormatCurrencies.qunit.js +5 -4
- package/test/sap/ui/core/qunit/types/NumberFormatCurrenciesTrailing.qunit.js +4 -3
- package/test/sap/ui/core/qunit/types/SimpleType.qunit.js +3 -0
- package/test/sap/ui/core/qunit/types/TimezoneUtil.qunit.js +23 -0
- package/test/sap/ui/core/qunit/types/Types.qunit.js +44 -10
- package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +3 -0
- package/test/sap/ui/core/qunit/util/InvisibleMessage.qunit.js +4 -4
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +592 -83
- package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-allowlist.js +7 -0
- package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-frameOptions.js +7 -0
- package/test/sap/ui/core/qunit/{bootstrap/CfgFromGlobalObject.qunit.html → util/jQuery.sap.FrameOptions-meta-tag-override-mode.qunit.html} +7 -11
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-mode.qunit.js +3 -4
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-service.qunit.html +26 -0
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-service.qunit.js +3 -4
- package/test/sap/ui/core/qunit/{bootstrap/CfgDefaults.qunit.html → util/jQuery.sap.FrameOptions-meta-tag.qunit.html} +5 -8
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag.qunit.js +3 -4
- package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +10 -10
- package/test/sap/ui/core/qunit/util/jquery.sap.logger.qunit.html +18 -0
- package/test/sap/ui/core/qunit/util/jquery.sap.resources.qunit.js +1 -1
- package/test/sap/ui/core/qunit/util/testsuite.util.qunit.js +1 -3
- package/test/sap/ui/core/qunit/xml/XMLListBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/xml/XMLModel.qunit.js +3 -0
- package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/xml/XMLTreeBinding.qunit.js +3 -0
- package/test/sap/ui/core/relnotes/changes-1.119.json +1 -12
- package/test/sap/ui/core/relnotes/changes-1.120.json +442 -0
- package/test/sap/ui/core/terminologies/App.controller.js +2 -3
- package/test/sap/ui/core/terminologies/main.js +2 -3
- package/test/sap/ui/test/qunit/TestUtils.qunit.js +3 -3
- package/src/sap/ui/core/ConfigTest.js +0 -17
- package/src/sap/ui/core/_ConfigurationProvider.js +0 -187
- package/test/sap/ui/core/ComponentExtensibility_CustomizingDisabled.html +0 -57
- package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +0 -71
- package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.html +0 -29
- package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.js +0 -40
- package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.beforeBootstrap.qunit.js +0 -20
- package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.qunit.js +0 -40
- package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.html +0 -42
- package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +0 -49
- package/test/sap/ui/core/qunit/util/BusyIndicatorNoCore.qunit.js +0 -96
- package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-meta-tag.js +0 -10
- package/test/sap/ui/core/samples/mvc/JSONView.html +0 -65
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*global QUnit, sinon */
|
|
2
1
|
sap.ui.define([
|
|
2
|
+
"sap/base/Log",
|
|
3
3
|
"sap/base/util/extend",
|
|
4
4
|
"sap/ui/core/format/DateFormat",
|
|
5
5
|
"sap/ui/core/Locale",
|
|
@@ -8,21 +8,30 @@ sap.ui.define([
|
|
|
8
8
|
"sap/ui/core/date/UI5Date",
|
|
9
9
|
"sap/ui/core/library",
|
|
10
10
|
"sap/ui/core/Configuration",
|
|
11
|
+
"sap/ui/core/Supportability",
|
|
11
12
|
"sap/ui/core/date/CalendarWeekNumbering",
|
|
12
|
-
"sap/ui/test/TestUtils"
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
"sap/ui/test/TestUtils",
|
|
14
|
+
// load all required calendars in advance
|
|
15
|
+
"sap/ui/core/date/Buddhist",
|
|
16
|
+
"sap/ui/core/date/Gregorian",
|
|
17
|
+
"sap/ui/core/date/Islamic",
|
|
18
|
+
"sap/ui/core/date/Japanese",
|
|
19
|
+
"sap/ui/core/date/Persian"
|
|
20
|
+
], function (Log, extend, DateFormat, Locale, LocaleData, UniversalDate, UI5Date, library, Configuration,
|
|
21
|
+
Supportability, CalendarWeekNumbering, TestUtils) {
|
|
15
22
|
"use strict";
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
/* eslint-disable max-nested-callbacks */
|
|
24
|
+
/*global QUnit, sinon */
|
|
25
|
+
|
|
26
|
+
// shortcut for sap.ui.core.CalendarType
|
|
27
|
+
const CalendarType = library.CalendarType;
|
|
28
|
+
const oDateTime = UI5Date.getInstance("Tue Sep 23 06:46:13 2000 GMT+0000");
|
|
29
|
+
const oTZDateTime = UI5Date.getInstance("Tue Sep 23 03:46:13 2000 GMT+0530");
|
|
30
|
+
const oDefaultDate = DateFormat.getInstance();
|
|
31
|
+
const oDefaultDateTime = DateFormat.getDateTimeInstance();
|
|
32
|
+
const oDefaultTime = DateFormat.getTimeInstance();
|
|
33
|
+
const sDefaultTimezone = Configuration.getTimezone();
|
|
34
|
+
const sDefaultLanguage = Configuration.getLanguage();
|
|
26
35
|
|
|
27
36
|
//*********************************************************************************************
|
|
28
37
|
QUnit.module("DateFormat instantiation and parseCldrDatePattern");
|
|
@@ -184,7 +193,7 @@ sap.ui.define([
|
|
|
184
193
|
|
|
185
194
|
assert.deepEqual(oFormat.intervalPatterns, [
|
|
186
195
|
"M/d/y'...'M/d/y",
|
|
187
|
-
"M/d/y
|
|
196
|
+
"M/d/y\u2009\u2013\u2009M/d/y",
|
|
188
197
|
"M/d/y",
|
|
189
198
|
"M/d/y - M/d/y"
|
|
190
199
|
]);
|
|
@@ -250,31 +259,46 @@ sap.ui.define([
|
|
|
250
259
|
|
|
251
260
|
QUnit.test("format default date", function (assert) {
|
|
252
261
|
assert.strictEqual(oDefaultDate.format(oDateTime), "Sep 23, 2000", "default date");
|
|
253
|
-
assert.strictEqual(oDefaultDateTime.format(oDateTime), "Sep 23, 2000, 8:46:13
|
|
254
|
-
assert.strictEqual(oDefaultTime.format(oDateTime), "8:46:13
|
|
262
|
+
assert.strictEqual(oDefaultDateTime.format(oDateTime), "Sep 23, 2000, 8:46:13\u202fAM", "default datetime");
|
|
263
|
+
assert.strictEqual(oDefaultTime.format(oDateTime), "8:46:13\u202fAM", "default time");
|
|
255
264
|
});
|
|
256
265
|
|
|
257
266
|
QUnit.test("format default date UTC", function (assert) {
|
|
258
267
|
assert.strictEqual(oDefaultDate.format(oTZDateTime, true), "Sep 22, 2000", "default date UTC");
|
|
259
|
-
assert.strictEqual(oDefaultDateTime.format(oTZDateTime, true), "Sep 22, 2000, 10:16:13
|
|
260
|
-
|
|
268
|
+
assert.strictEqual(oDefaultDateTime.format(oTZDateTime, true), "Sep 22, 2000, 10:16:13\u202fPM",
|
|
269
|
+
"default datetime UTC");
|
|
270
|
+
assert.strictEqual(oDefaultTime.format(oTZDateTime, true), "10:16:13\u202fPM", "default time UTC");
|
|
261
271
|
});
|
|
262
272
|
|
|
263
273
|
QUnit.test("format date with given style", function (assert) {
|
|
264
|
-
assert.strictEqual(DateFormat.getDateInstance({ style: "short" }).format(oDateTime),
|
|
265
|
-
|
|
266
|
-
assert.strictEqual(DateFormat.getDateInstance({ style: "
|
|
267
|
-
|
|
268
|
-
assert.strictEqual(DateFormat.
|
|
269
|
-
|
|
270
|
-
assert.strictEqual(DateFormat.
|
|
271
|
-
|
|
272
|
-
assert.strictEqual(DateFormat.getDateTimeInstance({ style: "
|
|
273
|
-
|
|
274
|
-
assert.strictEqual(DateFormat.
|
|
275
|
-
|
|
276
|
-
assert.strictEqual(DateFormat.
|
|
277
|
-
|
|
274
|
+
assert.strictEqual(DateFormat.getDateInstance({ style: "short" }).format(oDateTime),
|
|
275
|
+
"9/23/00", "short date");
|
|
276
|
+
assert.strictEqual(DateFormat.getDateInstance({ style: "medium" }).format(oDateTime),
|
|
277
|
+
"Sep 23, 2000", "medium date");
|
|
278
|
+
assert.strictEqual(DateFormat.getDateInstance({ style: "long" }).format(oDateTime),
|
|
279
|
+
"September 23, 2000", "long date");
|
|
280
|
+
assert.strictEqual(DateFormat.getDateInstance({ style: "full" }).format(oDateTime),
|
|
281
|
+
"Saturday, September 23, 2000", "full date");
|
|
282
|
+
assert.strictEqual(DateFormat.getDateTimeInstance({ style: "short" }).format(oDateTime),
|
|
283
|
+
"9/23/00, 8:46\u202fAM", "short datetime");
|
|
284
|
+
assert.strictEqual(DateFormat.getDateTimeInstance({ style: "medium" }).format(oDateTime),
|
|
285
|
+
"Sep 23, 2000, 8:46:13\u202fAM", "medium datetime");
|
|
286
|
+
assert.strictEqual(DateFormat.getDateTimeInstance({ style: "long" }).format(oDateTime),
|
|
287
|
+
"September 23, 2000, 8:46:13\u202fAM GMT+02:00", "long datetime");
|
|
288
|
+
assert.strictEqual(DateFormat.getDateTimeInstance({ style: "full" }).format(oDateTime),
|
|
289
|
+
"Saturday, September 23, 2000, 8:46:13\u202fAM GMT+02:00", "full datetime");
|
|
290
|
+
assert.strictEqual(DateFormat.getDateTimeInstance({ style: "medium/short" }).format(oDateTime),
|
|
291
|
+
"Sep 23, 2000, 8:46\u202fAM", "medium/short datetime");
|
|
292
|
+
assert.strictEqual(DateFormat.getDateTimeInstance({ style: "long/medium" }).format(oDateTime),
|
|
293
|
+
"September 23, 2000, 8:46:13\u202fAM", "long/medium datetime");
|
|
294
|
+
assert.strictEqual(DateFormat.getTimeInstance({ style: "short" }).format(oDateTime),
|
|
295
|
+
"8:46\u202fAM", "short time");
|
|
296
|
+
assert.strictEqual(DateFormat.getTimeInstance({ style: "medium" }).format(oDateTime),
|
|
297
|
+
"8:46:13\u202fAM", "medium time");
|
|
298
|
+
assert.strictEqual(DateFormat.getTimeInstance({ style: "long" }).format(oDateTime),
|
|
299
|
+
"8:46:13\u202fAM GMT+02:00", "long time");
|
|
300
|
+
assert.strictEqual(DateFormat.getTimeInstance({ style: "full" }).format(oDateTime),
|
|
301
|
+
"8:46:13\u202fAM GMT+02:00", "full time");
|
|
278
302
|
});
|
|
279
303
|
|
|
280
304
|
QUnit.test("format date for a specific locale", function (assert) {
|
|
@@ -1886,7 +1910,7 @@ sap.ui.define([
|
|
|
1886
1910
|
{pattern : "hh:mm aa", formatted : "07:37 priešpiet"},
|
|
1887
1911
|
{pattern : "hh:mm aaa", formatted : "07:37 priešpiet"},
|
|
1888
1912
|
{pattern : "hh:mm aaaa", formatted : "07:37 priešpiet"},
|
|
1889
|
-
{pattern : "hh:mm aaaaa", formatted : "07:37 pr.\
|
|
1913
|
+
{pattern : "hh:mm aaaaa", formatted : "07:37 pr.\u202fp."}
|
|
1890
1914
|
].forEach(function (oFixture, i) {
|
|
1891
1915
|
QUnit.test("format/parse time with day period, narrow pattern differs #" + i,
|
|
1892
1916
|
function (assert) {
|
|
@@ -1925,9 +1949,11 @@ sap.ui.define([
|
|
|
1925
1949
|
|
|
1926
1950
|
var aCompare = [UI5Date.getInstance(2017, 3, 11), UI5Date.getInstance(2017, 3, 17)];
|
|
1927
1951
|
|
|
1928
|
-
// the correct pattern is MMM d
|
|
1929
|
-
assert.deepEqual(oIntervalFormat.parse("Apr 11
|
|
1930
|
-
|
|
1952
|
+
// the correct pattern is MMM d\u2009\u2013\u2009d, y
|
|
1953
|
+
assert.deepEqual(oIntervalFormat.parse("Apr 11\u201317, 2017"), aCompare,
|
|
1954
|
+
"string with missing spaces can also be parsed");
|
|
1955
|
+
assert.deepEqual(oIntervalFormat.parse("Apr11\u201317, 2017"), aCompare,
|
|
1956
|
+
"string with missing spaces and redundant spaces can also be parsed");
|
|
1931
1957
|
});
|
|
1932
1958
|
|
|
1933
1959
|
/** TODO: Move to sap.ui.core.date.Gregorian
|
|
@@ -2510,7 +2536,7 @@ sap.ui.define([
|
|
|
2510
2536
|
|
|
2511
2537
|
//*********************************************************************************************
|
|
2512
2538
|
QUnit.test("origin info", function (assert) {
|
|
2513
|
-
var oOriginInfoStub = this.stub(
|
|
2539
|
+
var oOriginInfoStub = this.stub(Supportability, "collectOriginInfo").returns(true);
|
|
2514
2540
|
var oOriginDate = DateFormat.getInstance(), sValue = oOriginDate.format(oDateTime), oInfo = sValue.originInfo;
|
|
2515
2541
|
assert.strictEqual(oInfo.source, "Common Locale Data Repository", "Origin Info: source");
|
|
2516
2542
|
assert.strictEqual(oInfo.locale, "en-US", "Origin Info: locale");
|
|
@@ -2519,7 +2545,6 @@ sap.ui.define([
|
|
|
2519
2545
|
oOriginInfoStub.restore();
|
|
2520
2546
|
});
|
|
2521
2547
|
|
|
2522
|
-
var sDefaultLanguage = Configuration.getLanguage();
|
|
2523
2548
|
QUnit.module("Calendar Week precedence", {
|
|
2524
2549
|
beforeEach: function () {
|
|
2525
2550
|
Configuration.setLanguage("de_DE"); // ISO 8601
|
|
@@ -2712,19 +2737,33 @@ sap.ui.define([
|
|
|
2712
2737
|
scale: "auto",
|
|
2713
2738
|
data: [
|
|
2714
2739
|
{ unit: "second", diff: 0, results: ["now", "now", "now", "now"], description: "now" },
|
|
2715
|
-
{ unit: "second", diff: 1, results: ["in 1 second", "in 1 second", "in 1 sec.", "in
|
|
2716
|
-
|
|
2717
|
-
{ unit: "second", diff:
|
|
2718
|
-
|
|
2719
|
-
{ unit: "second", diff:
|
|
2720
|
-
|
|
2721
|
-
{ unit: "
|
|
2722
|
-
|
|
2723
|
-
{ unit: "
|
|
2724
|
-
|
|
2725
|
-
{ unit: "
|
|
2726
|
-
|
|
2727
|
-
{ unit: "
|
|
2740
|
+
{ unit: "second", diff: 1, results: ["in 1 second", "in 1 second", "in 1 sec.", "in 1s"],
|
|
2741
|
+
description: "Now + 1 Second --> in 1 second" },
|
|
2742
|
+
{ unit: "second", diff: -1, results: ["1 second ago", "1 second ago", "1 sec. ago", "1s ago"],
|
|
2743
|
+
description: "Now - 1 Second --> 1 second ago" },
|
|
2744
|
+
{ unit: "second", diff: 2, results: ["in 2 seconds", "in 2 seconds", "in 2 sec.", "in 2s"],
|
|
2745
|
+
description: "Now + 2 Seconds --> in 2 seconds" },
|
|
2746
|
+
{ unit: "second", diff: -7, results: ["7 seconds ago", "7 seconds ago", "7 sec. ago", "7s ago"],
|
|
2747
|
+
description: "Now + 2 Seconds --> in 2 seconds" },
|
|
2748
|
+
{ unit: "second", diff: 61, results: ["in 1 minute", "in 1 minute", "in 1 min.", "in 1m"],
|
|
2749
|
+
description: "Now + 61 Seconds --> in 1 minute", parseDiff: 1000 },
|
|
2750
|
+
{ unit: "second", diff: 3601, results: ["in 1 hour", "in 1 hour", "in 1 hr.", "in 1h"],
|
|
2751
|
+
description: "Now + 3601 Seconds --> in 1 hour", parseDiff: 1000 },
|
|
2752
|
+
{ unit: "minute", diff: 1, results: ["in 1 minute", "in 1 minute", "in 1 min.", "in 1m"],
|
|
2753
|
+
description: "Now + 1 Minute --> in 1 minute" },
|
|
2754
|
+
{ unit: "minute", diff: -1, results: ["1 minute ago", "1 minute ago", "1 min. ago", "1m ago"],
|
|
2755
|
+
description: "Now - 1 Minute --> 1 minute ago" },
|
|
2756
|
+
{ unit: "minute", diff: 13, results: ["in 13 minutes", "in 13 minutes", "in 13 min.", "in 13m"],
|
|
2757
|
+
description: "Now + 13 Minutes --> in 13 minutes" },
|
|
2758
|
+
{ unit: "minute", diff: -54,
|
|
2759
|
+
results: ["54 minutes ago", "54 minutes ago", "54 min. ago", "54m ago"],
|
|
2760
|
+
description: "Now - 54 Minutes --> 54 minutes ago" },
|
|
2761
|
+
{ unit: "minute", diff: 95, results: ["in 1 hour", "in 1 hour", "in 1 hr.", "in 1h"],
|
|
2762
|
+
description: "Now + 95 Minutes --> in 1 hour", parseDiff: 35 * 60 * 1000 },
|
|
2763
|
+
{ unit: "hour", diff: 1, results: ["in 1 hour", "in 1 hour", "in 1 hr.", "in 1h"],
|
|
2764
|
+
description: "Now + 1 Hour --> in 1 hour" },
|
|
2765
|
+
{ unit: "day", diff: -5, results: ["120 hours ago", "120 hours ago", "120 hr. ago", "120h ago"],
|
|
2766
|
+
description: "Now - 5 Days --> 120 hours ago" }
|
|
2728
2767
|
]
|
|
2729
2768
|
}, {
|
|
2730
2769
|
scale: "hour",
|
|
@@ -2733,9 +2772,12 @@ sap.ui.define([
|
|
|
2733
2772
|
{ unit: "second", diff: 1, results: ["this hour", "this hour", "this hour", "this hour"], description: "Now + 1 Second --> this hour", parseDiff: 1000 },
|
|
2734
2773
|
{ unit: "second", diff: -1, results: ["this hour", "this hour", "this hour", "this hour"], description: "Now - 1 Second --> this hour", parseDiff: -1000 },
|
|
2735
2774
|
{ unit: "minute", diff: 30, results: ["this hour", "this hour", "this hour", "this hour"], description: "Now + 30 Minutes --> this hour", parseDiff: 30 * 60 * 1000 },
|
|
2736
|
-
{ unit: "minute", diff: -30, results: ["1 hour ago", "1 hour ago", "1 hr. ago", "
|
|
2737
|
-
|
|
2738
|
-
{ unit: "hour", diff:
|
|
2775
|
+
{ unit: "minute", diff: -30, results: ["1 hour ago", "1 hour ago", "1 hr. ago", "1h ago"],
|
|
2776
|
+
description: "Now - 30 Minutes --> 1 hour ago", parseDiff: 30 * 60 * 1000 },
|
|
2777
|
+
{ unit: "hour", diff: 4, results: ["in 4 hours", "in 4 hours", "in 4 hr.", "in 4h"],
|
|
2778
|
+
description: "Now + 4 Hours --> in 4 hours" },
|
|
2779
|
+
{ unit: "hour", diff: -10, results: ["10 hours ago", "10 hours ago", "10 hr. ago", "10h ago"],
|
|
2780
|
+
description: "Now - 10 Hours --> 10 hours ago" }
|
|
2739
2781
|
]
|
|
2740
2782
|
}, {
|
|
2741
2783
|
scale: "minute",
|
|
@@ -2743,18 +2785,27 @@ sap.ui.define([
|
|
|
2743
2785
|
{ unit: "second", diff: 0, results: ["this minute", "this minute", "this minute", "this minute"], description: "Now --> 0 minutes ago" },
|
|
2744
2786
|
{ unit: "second", diff: 1, results: ["this minute", "this minute", "this minute", "this minute"], description: "Now + 1 Second --> in 0 minutes", parseDiff: 1000 },
|
|
2745
2787
|
{ unit: "second", diff: -1, results: ["this minute", "this minute", "this minute", "this minute"], description: "Now - 1 Second --> 0 minutes ago", parseDiff: -1000 },
|
|
2746
|
-
{ unit: "minute", diff: 30, results: ["in 30 minutes", "in 30 minutes", "in 30 min.", "in
|
|
2747
|
-
|
|
2748
|
-
{ unit: "
|
|
2788
|
+
{ unit: "minute", diff: 30, results: ["in 30 minutes", "in 30 minutes", "in 30 min.", "in 30m"],
|
|
2789
|
+
description: "Now + 30 Minutes --> in 30 minutes" },
|
|
2790
|
+
{ unit: "minute", diff: -30,
|
|
2791
|
+
results: ["30 minutes ago", "30 minutes ago", "30 min. ago", "30m ago"],
|
|
2792
|
+
description: "Now - 30 Minutes --> 30 minutes ago" },
|
|
2793
|
+
{ unit: "hour", diff: 1, results: ["in 60 minutes", "in 60 minutes", "in 60 min.", "in 60m"],
|
|
2794
|
+
description: "Now + 4 Hours --> in 60 minutes" }
|
|
2749
2795
|
]
|
|
2750
2796
|
}, {
|
|
2751
2797
|
scale: "second",
|
|
2752
2798
|
data: [
|
|
2753
2799
|
{ unit: "second", diff: 0, results: ["now", "now", "now", "now"], description: "Now --> now" },
|
|
2754
|
-
{ unit: "second", diff: 1, results: ["in 1 second", "in 1 second", "in 1 sec.", "in
|
|
2755
|
-
|
|
2756
|
-
{ unit: "
|
|
2757
|
-
|
|
2800
|
+
{ unit: "second", diff: 1, results: ["in 1 second", "in 1 second", "in 1 sec.", "in 1s"],
|
|
2801
|
+
description: "Now + 1 Second --> in 1 second" },
|
|
2802
|
+
{ unit: "second", diff: -1, results: ["1 second ago", "1 second ago", "1 sec. ago", "1s ago"],
|
|
2803
|
+
description: "Now - 1 Second --> 1 second ago" },
|
|
2804
|
+
{ unit: "minute", diff: 1, results: ["in 60 seconds", "in 60 seconds", "in 60 sec.", "in 60s"],
|
|
2805
|
+
description: "Now + 1 Minute --> in 60 seconds" },
|
|
2806
|
+
{ unit: "minute", diff: -1,
|
|
2807
|
+
results: ["60 seconds ago", "60 seconds ago", "60 sec. ago", "60s ago"],
|
|
2808
|
+
description: "Now - 1 Minute --> 60 seconds ago" }
|
|
2758
2809
|
]
|
|
2759
2810
|
}];
|
|
2760
2811
|
|
|
@@ -2784,27 +2835,47 @@ sap.ui.define([
|
|
|
2784
2835
|
data: [
|
|
2785
2836
|
{ unit: "second", diff: 0, results: ["today", "today", "today", "today"], description: "today" },
|
|
2786
2837
|
{ unit: "second", diff: 1, results: ["today", "today", "today", "today"], description: "Today + 1 Second --> today", parseDiff: 1000 },
|
|
2787
|
-
{ unit: "second", diff: -86400, results: ["1 day ago", "1 day ago", "1 day ago", "
|
|
2788
|
-
|
|
2789
|
-
{ unit: "
|
|
2790
|
-
|
|
2791
|
-
{ unit: "
|
|
2792
|
-
|
|
2793
|
-
{ unit: "day", diff:
|
|
2794
|
-
|
|
2795
|
-
{ unit: "
|
|
2796
|
-
|
|
2797
|
-
{ unit: "
|
|
2798
|
-
|
|
2799
|
-
{ unit: "day", diff:
|
|
2800
|
-
|
|
2801
|
-
{ unit: "
|
|
2802
|
-
|
|
2838
|
+
{ unit: "second", diff: -86400, results: ["1 day ago", "1 day ago", "1 day ago", "1d ago"],
|
|
2839
|
+
description: "Today - 86400 Seconds --> 1 day ago" },
|
|
2840
|
+
{ unit: "minute", diff: 1440, results: ["in 1 day", "in 1 day", "in 1 day", "in 1d"],
|
|
2841
|
+
description: "Today + 1440 Minutes --> in 1 day" },
|
|
2842
|
+
{ unit: "hour", diff: 24, results: ["in 1 day", "in 1 day", "in 1 day", "in 1d"],
|
|
2843
|
+
description: "Today + 24 Hours --> tomorrow" },
|
|
2844
|
+
{ unit: "day", diff: 5, results: ["in 5 days", "in 5 days", "in 5 days", "in 5d"],
|
|
2845
|
+
description: "Today + 5 Days --> in 5 days" },
|
|
2846
|
+
{ unit: "day", diff: -5, results: ["5 days ago", "5 days ago", "5 days ago", "5d ago"],
|
|
2847
|
+
description: "Today - 5 Days --> 5 days ago" },
|
|
2848
|
+
{ unit: "day", diff: 8, results: ["in 1 week", "in 1 week", "in 1 wk.", "in 1w"],
|
|
2849
|
+
description: "Today + 8 Days --> in 1 week", parseDiff: 24 * 60 * 60 * 1000 },
|
|
2850
|
+
{ unit: "day", diff: -8, results: ["1 week ago", "1 week ago", "1 wk. ago", "1w ago"],
|
|
2851
|
+
description: "Today - 8 Days --> 1 week ago", parseDiff: -24 * 60 * 60 * 1000 },
|
|
2852
|
+
{ unit: "day", diff: -32, results: ["1 month ago", "1 month ago", "1 mo. ago", "1mo ago"],
|
|
2853
|
+
description: "Today - 32 Days --> 1 month ago", parseDiff: -2 * 24 * 60 * 60 * 1000 },
|
|
2854
|
+
{ unit: "month", diff: 1, results: ["in 1 month", "in 1 month", "in 1 mo.", "in 1mo"],
|
|
2855
|
+
description: "Today + 1 Month --> in 1 month" },
|
|
2856
|
+
{ unit: "month", diff: -1, results: ["1 month ago", "1 month ago", "1 mo. ago", "1mo ago"],
|
|
2857
|
+
description: "Today - 1 Month --> 1 month ago" },
|
|
2858
|
+
{ unit: "month", diff: 13, results: ["in 1 year", "in 1 year", "in 1 yr.", "in 1y"],
|
|
2859
|
+
description: "Today + 13 Months --> in 1 year",
|
|
2860
|
+
parseDiff: (31 * 24 + that.dst) * 60 * 60 * 1000 },
|
|
2861
|
+
{ unit: "month", diff: 26, results: ["in 2 years", "in 2 years", "in 2 yr.", "in 2y"],
|
|
2862
|
+
description: "Today + 26 Months --> in 2 years",
|
|
2863
|
+
parseDiff: (61 * 24 + that.dst) * 60 * 60 * 1000 },
|
|
2864
|
+
{ unit: "day", diff: 90, results: ["in 1 quarter", "in 1 quarter", "in 1 qtr.", "in 1q"],
|
|
2865
|
+
description: "Today + 90 Days", parseOnly: true, parseDiff: -2 * 24 * 60 * 60 * 1000 },
|
|
2866
|
+
{ unit: "hour", diff: 24, results: ["in 24 hours", "in 24 hours", "in 24 hr.", "in 24h"],
|
|
2867
|
+
description: "Today + 1 Days", parseOnly: true },
|
|
2868
|
+
{ unit: "hour", diff: 72, results: ["in 72 hours", "in 72 hours", "in 72 hr.", "in 72h"],
|
|
2869
|
+
description: "Today + 3 Days", parseOnly: true },
|
|
2870
|
+
{ unit: "minute", diff: -4320,
|
|
2871
|
+
results: ["4320 minutes ago", "4320 minutes ago", "4320 min. ago", "4320m ago"],
|
|
2872
|
+
description: "Today - 3 Days", parseOnly: true }
|
|
2803
2873
|
]
|
|
2804
2874
|
}, {
|
|
2805
2875
|
scale: "week",
|
|
2806
2876
|
data: [
|
|
2807
|
-
{ unit: "day", diff: 13, results: ["in 2 weeks", "in 2 weeks", "in 2 wk.", "in
|
|
2877
|
+
{ unit: "day", diff: 13, results: ["in 2 weeks", "in 2 weeks", "in 2 wk.", "in 2w"],
|
|
2878
|
+
description: "Today + 13 Days --> in 2 weeks", parseDiff: (-1 * 24 * 60 * 60 * 1000) }
|
|
2808
2879
|
]
|
|
2809
2880
|
}
|
|
2810
2881
|
];
|
|
@@ -2834,30 +2905,57 @@ sap.ui.define([
|
|
|
2834
2905
|
scale: "auto",
|
|
2835
2906
|
data: [
|
|
2836
2907
|
{ unit: "second", diff: 0, results: ["now", "now", "now", "now"], description: "now" },
|
|
2837
|
-
{ unit: "second", diff: 1, results: ["in 1 second", "in 1 second", "in 1 sec.", "in
|
|
2838
|
-
|
|
2839
|
-
{ unit: "second", diff:
|
|
2840
|
-
|
|
2841
|
-
{ unit: "second", diff:
|
|
2842
|
-
|
|
2843
|
-
{ unit: "second", diff: -
|
|
2844
|
-
|
|
2845
|
-
{ unit: "
|
|
2846
|
-
|
|
2847
|
-
{ unit: "
|
|
2848
|
-
|
|
2849
|
-
{ unit: "
|
|
2850
|
-
|
|
2851
|
-
{ unit: "
|
|
2852
|
-
|
|
2853
|
-
{ unit: "
|
|
2854
|
-
|
|
2855
|
-
{ unit: "
|
|
2856
|
-
|
|
2857
|
-
{ unit: "
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
{ unit: "
|
|
2908
|
+
{ unit: "second", diff: 1, results: ["in 1 second", "in 1 second", "in 1 sec.", "in 1s"],
|
|
2909
|
+
description: "Now + 1 Second --> in 1 second" },
|
|
2910
|
+
{ unit: "second", diff: -1, results: ["1 second ago", "1 second ago", "1 sec. ago", "1s ago"],
|
|
2911
|
+
description: "Now - 1 Second --> 1 second ago" },
|
|
2912
|
+
{ unit: "second", diff: 2, results: ["in 2 seconds", "in 2 seconds", "in 2 sec.", "in 2s"],
|
|
2913
|
+
description: "Now + 2 Second --> in 2 seconds" },
|
|
2914
|
+
{ unit: "second", diff: -7, results: ["7 seconds ago", "7 seconds ago", "7 sec. ago", "7s ago"],
|
|
2915
|
+
description: "Now - 7 Second --> 7 seconds ago" },
|
|
2916
|
+
{ unit: "second", diff: 61, results: ["in 1 minute", "in 1 minute", "in 1 min.", "in 1m"],
|
|
2917
|
+
description: "Now + 61 Seconds --> in 1 minute", parseDiff: 1000 },
|
|
2918
|
+
{ unit: "second", diff: 3601, results: ["in 1 hour", "in 1 hour", "in 1 hr.", "in 1h"],
|
|
2919
|
+
description: "Now + 3601 Seconds --> in 1 hour", parseDiff: 1000 },
|
|
2920
|
+
{ unit: "second", diff: -86401, results: ["1 day ago", "1 day ago", "1 day ago", "1d ago"],
|
|
2921
|
+
description: "Today - 86401 Seconds --> 1 day ago", parseDiff: -1000 },
|
|
2922
|
+
{ unit: "minute", diff: 1, results: ["in 1 minute", "in 1 minute", "in 1 min.", "in 1m"],
|
|
2923
|
+
description: "Now + 1 Minute --> in 1 minute" },
|
|
2924
|
+
{ unit: "minute", diff: -1, results: ["1 minute ago", "1 minute ago", "1 min. ago", "1m ago"],
|
|
2925
|
+
description: "Now - 1 Minute --> 1 minute ago" },
|
|
2926
|
+
{ unit: "minute", diff: 13, results: ["in 13 minutes", "in 13 minutes", "in 13 min.", "in 13m"],
|
|
2927
|
+
description: "Now + 13 Mintues --> in 13 minutes" },
|
|
2928
|
+
{ unit: "minute", diff: -54,
|
|
2929
|
+
results: ["54 minutes ago", "54 minutes ago", "54 min. ago", "54m ago"],
|
|
2930
|
+
description: "Now - 54 Minutes --> 54 minutes ago" },
|
|
2931
|
+
{ unit: "minute", diff: 95, results: ["in 1 hour", "in 1 hour", "in 1 hr.", "in 1h"],
|
|
2932
|
+
description: "Now + 95 Minutes --> in 1 hour", parseDiff: 35 * 60 * 1000 },
|
|
2933
|
+
{ unit: "minute", diff: 1440, results: ["in 1 day", "in 1 day", "in 1 day", "in 1d"],
|
|
2934
|
+
description: "Today + 1440 Minutes --> in 1 day" },
|
|
2935
|
+
{ unit: "hour", diff: 1, results: ["in 1 hour", "in 1 hour", "in 1 hr.", "in 1h"],
|
|
2936
|
+
description: "Now + 1 Hour --> in 1 hour" },
|
|
2937
|
+
{ unit: "day", diff: 5, results: ["in 5 days", "in 5 days", "in 5 days", "in 5d"],
|
|
2938
|
+
description: "Today + 5 Days --> in 5 days" },
|
|
2939
|
+
{ unit: "day", diff: -5, results: ["5 days ago", "5 days ago", "5 days ago", "5d ago"],
|
|
2940
|
+
description: "Today - 5 Days --> 5 days ago" },
|
|
2941
|
+
{ unit: "day", diff: 8, results: ["in 1 week", "in 1 week", "in 1 wk.", "in 1w"],
|
|
2942
|
+
description: "Today + 8 Days --> in 1 week", parseDiff: 24 * 60 * 60 * 1000 },
|
|
2943
|
+
{ unit: "day", diff: -8, results: ["1 week ago", "1 week ago", "1 wk. ago", "1w ago"],
|
|
2944
|
+
description: "Today - 8 Days --> 1 week ago", parseDiff: -24 * 60 * 60 * 1000 },
|
|
2945
|
+
{ unit: "day", diff: -32, results: ["1 month ago", "1 month ago", "1 mo. ago", "1mo ago"],
|
|
2946
|
+
description: "Today - 32 Days --> 1 month ago", parseDiff: -2 * 24 * 60 * 60 * 1000 },
|
|
2947
|
+
{ unit: "month", diff: 1, results: ["in 1 month", "in 1 month", "in 1 mo.", "in 1mo"],
|
|
2948
|
+
description: "Today + 1 Month --> in 1 month" },
|
|
2949
|
+
{ unit: "month", diff: -1, results: ["1 month ago", "1 month ago", "1 mo. ago", "1mo ago"],
|
|
2950
|
+
description: "Today - 1 Month --> 1 month" },
|
|
2951
|
+
{ unit: "month", diff: 13, results: ["in 1 year", "in 1 year", "in 1 yr.", "in 1y"],
|
|
2952
|
+
description: "Today + 13 Months --> in 1 year",
|
|
2953
|
+
parseDiff: (31 * 24 + that.dst) * 60 * 60 * 1000 },
|
|
2954
|
+
{ unit: "month", diff: 26, results: ["in 2 years", "in 2 years", "in 2 yr.", "in 2y"],
|
|
2955
|
+
description: "Today + 26 Months --> in 2 years",
|
|
2956
|
+
parseDiff: (61 * 24 + that.dst) * 60 * 60 * 1000 },
|
|
2957
|
+
{ unit: "year", diff: 1, results: ["in 1 year", "in 1 year", "in 1 yr.", "in 1y"],
|
|
2958
|
+
description: "Today + 1 year --> in 1 year" }
|
|
2861
2959
|
]
|
|
2862
2960
|
}];
|
|
2863
2961
|
|
|
@@ -2944,7 +3042,7 @@ sap.ui.define([
|
|
|
2944
3042
|
"12 ربيع الآخر 1422 هـ",
|
|
2945
3043
|
"12 ربيع الآخر 1422 هـ",
|
|
2946
3044
|
"12 ربيع الآخر 1422 هـ",
|
|
2947
|
-
"12 ברביע ב׳ 1422
|
|
3045
|
+
"12 ברביע ב׳ 1422 הג׳רה"
|
|
2948
3046
|
];
|
|
2949
3047
|
|
|
2950
3048
|
QUnit.module("Islamic Date in other locales", {
|
|
@@ -3374,11 +3472,11 @@ sap.ui.define([
|
|
|
3374
3472
|
var startDate = UI5Date.getInstance(2019,1,15);
|
|
3375
3473
|
|
|
3376
3474
|
// no strictParsing
|
|
3377
|
-
aParsedInterval = this.oIntervalFormat.parse("Feb 15, 2019
|
|
3475
|
+
aParsedInterval = this.oIntervalFormat.parse("Feb 15, 2019 \u2013 Feb 1, 2018");
|
|
3378
3476
|
assert.deepEqual(aParsedInterval, [startDate, endDate], "Parsed array is returned.");
|
|
3379
3477
|
|
|
3380
3478
|
// strictParsing
|
|
3381
|
-
aParsedInterval = oIntervalFormat.parse("Feb 1, 2019
|
|
3479
|
+
aParsedInterval = oIntervalFormat.parse("Feb 1, 2019 \u2013 Feb 15, 2018");
|
|
3382
3480
|
assert.deepEqual(aParsedInterval, [null, null], "[null, null] returned.");
|
|
3383
3481
|
});
|
|
3384
3482
|
|
|
@@ -3553,7 +3651,7 @@ sap.ui.define([
|
|
|
3553
3651
|
var oDate1 = UI5Date.getInstance(oDate.getTime() + 2 * 24 * 3600 * 1000);
|
|
3554
3652
|
var sResult = oIntervalFormat.format([oDate, oDate1]);
|
|
3555
3653
|
|
|
3556
|
-
assert.strictEqual(sResult, "11
|
|
3654
|
+
assert.strictEqual(sResult, "11.\u201313. Apr. 2017");
|
|
3557
3655
|
assert.deepEqual(oIntervalFormat.parse(sResult), [oDate, oDate1]);
|
|
3558
3656
|
});
|
|
3559
3657
|
|
|
@@ -3572,28 +3670,28 @@ sap.ui.define([
|
|
|
3572
3670
|
oDate1 = UI5Date.getInstance(2019, 2, 1);
|
|
3573
3671
|
oDate2 = UI5Date.getInstance(2019, 3, 1);
|
|
3574
3672
|
sResult = oIntervalFormat.format([oDate1, oDate2]);
|
|
3575
|
-
assert.strictEqual(sResult, "Mar 1
|
|
3673
|
+
assert.strictEqual(sResult, "Mar 1\u2009\u2013\u2009Apr 1, 31 Heisei");
|
|
3576
3674
|
assert.deepEqual(oIntervalFormat.parse(sResult), [oDate1, oDate2]);
|
|
3577
3675
|
|
|
3578
3676
|
// Same era, different year
|
|
3579
3677
|
oDate1 = UI5Date.getInstance(2018, 3, 1);
|
|
3580
3678
|
oDate2 = UI5Date.getInstance(2019, 3, 1);
|
|
3581
3679
|
sResult = oIntervalFormat.format([oDate1, oDate2]);
|
|
3582
|
-
assert.strictEqual(sResult, "Apr 1, 30
|
|
3680
|
+
assert.strictEqual(sResult, "Apr 1, 30\u2009\u2013\u2009Apr 1, 31 Heisei");
|
|
3583
3681
|
assert.deepEqual(oIntervalFormat.parse(sResult), [oDate1, oDate2]);
|
|
3584
3682
|
|
|
3585
3683
|
// Different era
|
|
3586
3684
|
oDate1 = UI5Date.getInstance(2019, 3, 1);
|
|
3587
3685
|
oDate2 = UI5Date.getInstance(2019, 4, 1);
|
|
3588
3686
|
sResult = oIntervalFormat.format([oDate1, oDate2]);
|
|
3589
|
-
assert.strictEqual(sResult, "Apr 1, 31 Heisei
|
|
3687
|
+
assert.strictEqual(sResult, "Apr 1, 31 Heisei\u2009\u2013\u2009May 1, 1 Reiwa");
|
|
3590
3688
|
assert.deepEqual(oIntervalFormat.parse(sResult), [oDate1, oDate2]);
|
|
3591
3689
|
|
|
3592
3690
|
// Different era, same year
|
|
3593
3691
|
oDate1 = UI5Date.getInstance(1989, 4, 1);
|
|
3594
3692
|
oDate2 = UI5Date.getInstance(2019, 4, 1);
|
|
3595
3693
|
sResult = oIntervalFormat.format([oDate1, oDate2]);
|
|
3596
|
-
assert.strictEqual(sResult, "May 1, 1 Heisei
|
|
3694
|
+
assert.strictEqual(sResult, "May 1, 1 Heisei\u2009\u2013\u2009May 1, 1 Reiwa");
|
|
3597
3695
|
assert.deepEqual(oIntervalFormat.parse(sResult), [oDate1, oDate2]);
|
|
3598
3696
|
|
|
3599
3697
|
});
|
|
@@ -3686,14 +3784,15 @@ sap.ui.define([
|
|
|
3686
3784
|
format: "yMMMw"
|
|
3687
3785
|
});
|
|
3688
3786
|
sResult = oIntervalFormat.format([oDate, oDate1]);
|
|
3689
|
-
assert.strictEqual(sResult, "Mar 2017 (week: 13)
|
|
3787
|
+
assert.strictEqual(sResult, "Mar 2017 (week: 13)\u2009\u2013\u2009Apr 2017 (week: 13)",
|
|
3788
|
+
"Two dates correctly formatted");
|
|
3690
3789
|
|
|
3691
3790
|
oIntervalFormat = DateFormat.getDateInstance({
|
|
3692
3791
|
interval: true,
|
|
3693
3792
|
format: "yQ"
|
|
3694
3793
|
});
|
|
3695
3794
|
sResult = oIntervalFormat.format([oDate, oDate1]);
|
|
3696
|
-
assert.strictEqual(sResult, "Q1 2017
|
|
3795
|
+
assert.strictEqual(sResult, "Q1 2017\u2009\u2013\u2009Q2 2017", "Two dates correctly formatted");
|
|
3697
3796
|
|
|
3698
3797
|
oDate = UniversalDate.getInstance(UI5Date.getInstance(2017, 3, 1));
|
|
3699
3798
|
oDate1 = UniversalDate.getInstance(UI5Date.getInstance(2017, 3, 13));
|
|
@@ -3713,7 +3812,7 @@ sap.ui.define([
|
|
|
3713
3812
|
|
|
3714
3813
|
var sResult = oIntervalFormat.format([oDate, oDate1]);
|
|
3715
3814
|
|
|
3716
|
-
assert.strictEqual(sResult, "11.04.17
|
|
3815
|
+
assert.strictEqual(sResult, "11.04.17\u2009\u2013\u200913.04.17");
|
|
3717
3816
|
assert.deepEqual(oIntervalFormat.parse(sResult), [oDate, oDate1]);
|
|
3718
3817
|
|
|
3719
3818
|
oLocale = new Locale("de-DE");
|
|
@@ -3723,7 +3822,7 @@ sap.ui.define([
|
|
|
3723
3822
|
}, oLocale);
|
|
3724
3823
|
|
|
3725
3824
|
sResult = oIntervalFormat.format([oDate, oDate1]);
|
|
3726
|
-
assert.strictEqual(sResult, "n. Chr. 2017 04 11
|
|
3825
|
+
assert.strictEqual(sResult, "n. Chr. 2017 04 11\u2009\u2013\u2009n. Chr. 2017 04 13");
|
|
3727
3826
|
assert.deepEqual(oIntervalFormat.parse(sResult), [oDate, oDate1]);
|
|
3728
3827
|
});
|
|
3729
3828
|
|
|
@@ -3733,7 +3832,8 @@ sap.ui.define([
|
|
|
3733
3832
|
|
|
3734
3833
|
// default interval formatting
|
|
3735
3834
|
var oIntervalFormat = DateFormat.getDateInstance({ interval: true });
|
|
3736
|
-
assert.strictEqual(oIntervalFormat.format([oDate1, oDate2]), "Jan 24, 2019
|
|
3835
|
+
assert.strictEqual(oIntervalFormat.format([oDate1, oDate2]), "Jan 24, 2019\u2009\u2013\u2009Jan 31, 2019",
|
|
3836
|
+
"Date interval returned");
|
|
3737
3837
|
assert.strictEqual(oIntervalFormat.format([oDate1, null]), "", "Empty String returned");
|
|
3738
3838
|
assert.strictEqual(oIntervalFormat.format([oDate1, oDate1]), "Jan 24, 2019", "Single Date returned: Jan 24, 2019");
|
|
3739
3839
|
assert.deepEqual(oIntervalFormat.parse("Jan 24, 2019"), [oDate1, oDate1], "Array with two dates returned.");
|
|
@@ -3746,15 +3846,17 @@ sap.ui.define([
|
|
|
3746
3846
|
});
|
|
3747
3847
|
|
|
3748
3848
|
assert.strictEqual(oIntervalFormat.format([oDate1, null]), "Jan 24, 2019", "Single Date returned: Jan 24, 2019");
|
|
3749
|
-
assert.strictEqual(oIntervalFormat.format([oDate1, oDate2]), "Jan 24, 2019
|
|
3849
|
+
assert.strictEqual(oIntervalFormat.format([oDate1, oDate2]), "Jan 24, 2019\u2009\u2013\u2009Jan 31, 2019", "Date interval returned");
|
|
3750
3850
|
assert.strictEqual(oIntervalFormat.format([oDate1, null]), "Jan 24, 2019", "Single Date returned: Jan 24, 2019");
|
|
3751
3851
|
assert.strictEqual(oIntervalFormat.format([null, oDate1]), "", "Empty String returned.");
|
|
3752
3852
|
assert.strictEqual(oIntervalFormat.format([null, null]), "", "Empty String returned.");
|
|
3753
3853
|
assert.strictEqual(oIntervalFormat.format([oDate1, oDate1]), "Jan 24, 2019", "Single Date returned: Jan 24, 2019");
|
|
3754
3854
|
|
|
3755
3855
|
assert.deepEqual(oIntervalFormat.parse("Jan 24, 2019"), [oDate1, null], "Array with single Date and null returned.");
|
|
3756
|
-
assert.deepEqual(oIntervalFormat.parse("Jan 24, 2019
|
|
3757
|
-
|
|
3856
|
+
assert.deepEqual(oIntervalFormat.parse("Jan 24, 2019 \u2013 Jan 24, 2019"), [oDate1, null],
|
|
3857
|
+
"Array with two date objects is returned.");
|
|
3858
|
+
assert.deepEqual(oIntervalFormat.parse("Jan 24, 2019 \u2013 Jan 31, 2019"), [oDate1, oDate2],
|
|
3859
|
+
"Array with two date objects is returned.");
|
|
3758
3860
|
});
|
|
3759
3861
|
|
|
3760
3862
|
QUnit.test("am/pm", function (assert) {
|
|
@@ -3769,7 +3871,7 @@ sap.ui.define([
|
|
|
3769
3871
|
}, oLocale);
|
|
3770
3872
|
|
|
3771
3873
|
var sResult = oIntervalFormat.format([oDate, oDate1]);
|
|
3772
|
-
assert.strictEqual(sResult, "9
|
|
3874
|
+
assert.strictEqual(sResult, "9\u202fAM\u2009\u2013\u20091\u202fPM");
|
|
3773
3875
|
assert.deepEqual(oIntervalFormat.parse(sResult), [oDate, oDate1]);
|
|
3774
3876
|
|
|
3775
3877
|
oDate = UI5Date.getInstance(1970, 0, 1, 11, 0, 0);
|
|
@@ -3783,7 +3885,7 @@ sap.ui.define([
|
|
|
3783
3885
|
// optimised interval pattern only uses 'h'. 'K' is automatically converted
|
|
3784
3886
|
// to 'h'.
|
|
3785
3887
|
sResult = oIntervalFormat.format([oDate, oDate1]);
|
|
3786
|
-
assert.strictEqual(sResult, "11
|
|
3888
|
+
assert.strictEqual(sResult, "11\u202fAM\u2009\u2013\u200912\u202fPM");
|
|
3787
3889
|
assert.deepEqual(oIntervalFormat.parse(sResult), [oDate, oDate1]);
|
|
3788
3890
|
|
|
3789
3891
|
oDate = UI5Date.getInstance(1970, 0, 1, 10, 0, 0);
|
|
@@ -3797,7 +3899,7 @@ sap.ui.define([
|
|
|
3797
3899
|
// optimised interval pattern only uses 'h'. 'K' is automatically converted
|
|
3798
3900
|
// to 'h'.
|
|
3799
3901
|
sResult = oIntervalFormat.format([oDate, oDate1]);
|
|
3800
|
-
assert.strictEqual(oIntervalFormat.format([oDate, oDate1]), "10
|
|
3902
|
+
assert.strictEqual(oIntervalFormat.format([oDate, oDate1]), "10\u2009\u2013\u200911\u202fAM");
|
|
3801
3903
|
assert.deepEqual(oIntervalFormat.parse(sResult), [oDate, oDate1]);
|
|
3802
3904
|
});
|
|
3803
3905
|
|
|
@@ -3829,7 +3931,7 @@ sap.ui.define([
|
|
|
3829
3931
|
var oDate1 = UI5Date.getInstance(2017, 3, 11);
|
|
3830
3932
|
var oDate2 = UI5Date.getInstance(2017, 3, 12);
|
|
3831
3933
|
var sResult = oIntervalFormat.format([oDate1, oDate2]);
|
|
3832
|
-
assert.strictEqual(sResult, "Apr 11
|
|
3934
|
+
assert.strictEqual(sResult, "Apr 11\u2009\u2013\u200912, 2017", "Different dates are formatted correctly");
|
|
3833
3935
|
|
|
3834
3936
|
var sResult = oIntervalFormat.format([oDate1, oDate1]);
|
|
3835
3937
|
assert.strictEqual(sResult, "Apr 11, 2017", "Single Date if formatted correctly afterwards");
|
|
@@ -3864,7 +3966,7 @@ sap.ui.define([
|
|
|
3864
3966
|
var sResult1 = oIntervalFormat.format([oDate1, oDate2]);
|
|
3865
3967
|
var sResult2 = oIntervalFormat.format([oDate1, oDate3]);
|
|
3866
3968
|
|
|
3867
|
-
assert.strictEqual(sResult1, "Q1 2017
|
|
3969
|
+
assert.strictEqual(sResult1, "Q1 2017\u2009\u2013\u2009Q2 2017");
|
|
3868
3970
|
assert.strictEqual(sResult2, "Q1 2017");
|
|
3869
3971
|
});
|
|
3870
3972
|
|
|
@@ -3882,7 +3984,7 @@ sap.ui.define([
|
|
|
3882
3984
|
var sResult1 = oIntervalFormat.format([oDate1, oDate2]);
|
|
3883
3985
|
var sResult2 = oIntervalFormat.format([oDate2, oDate3]);
|
|
3884
3986
|
|
|
3885
|
-
assert.strictEqual(sResult1, "week 10 of 2017
|
|
3987
|
+
assert.strictEqual(sResult1, "week 10 of 2017\u2009\u2013\u2009week 12 of 2017");
|
|
3886
3988
|
assert.strictEqual(sResult2, "week 12 of 2017");
|
|
3887
3989
|
});
|
|
3888
3990
|
|
|
@@ -3916,17 +4018,22 @@ sap.ui.define([
|
|
|
3916
4018
|
var oDate1 = UI5Date.getInstance(2017, 3, 13);
|
|
3917
4019
|
var aCompare = [oDate, oDate1];
|
|
3918
4020
|
|
|
3919
|
-
assert.deepEqual(oIntervalFormat.parse("4/11/17
|
|
4021
|
+
assert.deepEqual(oIntervalFormat.parse("4/11/17 \u2013 4/13/17"), aCompare, "Parse fallback short style");
|
|
3920
4022
|
assert.deepEqual(oIntervalFormat.parse("4/11/17 - 4/13/17"), aCompare, "Parse fallback short style with common connector");
|
|
3921
|
-
assert.deepEqual(oIntervalFormat.parse("Apr 11, 2017
|
|
4023
|
+
assert.deepEqual(oIntervalFormat.parse("Apr 11, 2017 \u2013 Apr 13, 2017"), aCompare,
|
|
4024
|
+
"Parse fallback medium style");
|
|
3922
4025
|
assert.deepEqual(oIntervalFormat.parse("Apr 11, 2017 - Apr 13, 2017"), aCompare, "Parse fallback medium style with common connector");
|
|
3923
|
-
assert.deepEqual(oIntervalFormat.parse("2017-04-11
|
|
4026
|
+
assert.deepEqual(oIntervalFormat.parse("2017-04-11 \u2013 2017-04-13"), aCompare,
|
|
4027
|
+
"Parse fallback with pattern 'yyyy-MM-dd'");
|
|
3924
4028
|
assert.deepEqual(oIntervalFormat.parse("2017-04-11 - 2017-04-13"), aCompare, "Parse fallback with pattern 'yyyy-MM-dd' and common connector");
|
|
3925
|
-
assert.deepEqual(oIntervalFormat.parse("20170411
|
|
4029
|
+
assert.deepEqual(oIntervalFormat.parse("20170411 \u2013 20170413"), aCompare,
|
|
4030
|
+
"Parse fallback with pattern 'yyyyMMdd'");
|
|
3926
4031
|
assert.deepEqual(oIntervalFormat.parse("20170411 - 20170413"), aCompare, "Parse fallback with pattern 'yyyyMMdd' and common connector");
|
|
3927
|
-
assert.deepEqual(oIntervalFormat.parse("041117
|
|
4032
|
+
assert.deepEqual(oIntervalFormat.parse("041117 \u2013 041317"), aCompare,
|
|
4033
|
+
"Parse fallback with no delimiter");
|
|
3928
4034
|
assert.deepEqual(oIntervalFormat.parse("041117 - 041317"), aCompare, "Parse fallback with no delimiter and common connector");
|
|
3929
|
-
assert.deepEqual(oIntervalFormat.parse("04112017
|
|
4035
|
+
assert.deepEqual(oIntervalFormat.parse("04112017 \u2013 04132017"), aCompare,
|
|
4036
|
+
"Parse fallback with no delimiter");
|
|
3930
4037
|
assert.deepEqual(oIntervalFormat.parse("04112017 - 04132017"), aCompare, "Parse fallback with no delimiter and common connector");
|
|
3931
4038
|
});
|
|
3932
4039
|
|
|
@@ -3940,17 +4047,23 @@ sap.ui.define([
|
|
|
3940
4047
|
var oDate1 = UI5Date.getInstance(2017, 3, 13);
|
|
3941
4048
|
var aCompare = [oDate, oDate1];
|
|
3942
4049
|
|
|
3943
|
-
assert.deepEqual(oIntervalFormat.parse("11.04.17
|
|
4050
|
+
assert.deepEqual(oIntervalFormat.parse("11.04.17 \u2013 13.04.17"), aCompare,
|
|
4051
|
+
"Parse fallback short style");
|
|
3944
4052
|
assert.deepEqual(oIntervalFormat.parse("11.04.17 - 13.04.17"), aCompare, "Parse fallback short style with common connector");
|
|
3945
|
-
assert.deepEqual(oIntervalFormat.parse("11.04.2017
|
|
4053
|
+
assert.deepEqual(oIntervalFormat.parse("11.04.2017 \u2013 13.04.2017"), aCompare,
|
|
4054
|
+
"Parse fallback medium style");
|
|
3946
4055
|
assert.deepEqual(oIntervalFormat.parse("11.04.2017 - 13.04.2017"), aCompare, "Parse fallback medium style with common connector");
|
|
3947
|
-
assert.deepEqual(oIntervalFormat.parse("2017-04-11
|
|
4056
|
+
assert.deepEqual(oIntervalFormat.parse("2017-04-11 \u2013 2017-04-13"), aCompare,
|
|
4057
|
+
"Parse fallback with pattern 'yyyy-MM-dd'");
|
|
3948
4058
|
assert.deepEqual(oIntervalFormat.parse("2017-04-11 - 2017-04-13"), aCompare, "Parse fallback with pattern 'yyyy-MM-dd' and common connector");
|
|
3949
|
-
assert.deepEqual(oIntervalFormat.parse("20170411
|
|
4059
|
+
assert.deepEqual(oIntervalFormat.parse("20170411 \u2013 20170413"), aCompare,
|
|
4060
|
+
"Parse fallback with pattern 'yyyyMMdd'");
|
|
3950
4061
|
assert.deepEqual(oIntervalFormat.parse("20170411 - 20170413"), aCompare, "Parse fallback with pattern 'yyyyMMdd' and common connector");
|
|
3951
|
-
assert.deepEqual(oIntervalFormat.parse("110417
|
|
4062
|
+
assert.deepEqual(oIntervalFormat.parse("110417 \u2013 130417"), aCompare,
|
|
4063
|
+
"Parse fallback with no delimiter");
|
|
3952
4064
|
assert.deepEqual(oIntervalFormat.parse("110417 - 130417"), aCompare, "Parse fallback with no delimiter and common connector");
|
|
3953
|
-
assert.deepEqual(oIntervalFormat.parse("11042017
|
|
4065
|
+
assert.deepEqual(oIntervalFormat.parse("11042017 \u2013 13042017"), aCompare,
|
|
4066
|
+
"Parse fallback with no delimiter");
|
|
3954
4067
|
assert.deepEqual(oIntervalFormat.parse("11042017 - 13042017"), aCompare, "Parse fallback with no delimiter and common connector");
|
|
3955
4068
|
});
|
|
3956
4069
|
|
|
@@ -4488,12 +4601,17 @@ sap.ui.define([
|
|
|
4488
4601
|
});
|
|
4489
4602
|
|
|
4490
4603
|
//*****************************************************************************************************************
|
|
4491
|
-
QUnit.module("DateFormat", {
|
|
4604
|
+
QUnit.module("sap.ui.core.format.DateFormat", {
|
|
4492
4605
|
beforeEach: function () {
|
|
4606
|
+
this.oLogMock = this.mock(Log);
|
|
4607
|
+
this.oLogMock.expects("error").never();
|
|
4608
|
+
this.oLogMock.expects("warning").never();
|
|
4609
|
+
Configuration.setLanguage("en_US");
|
|
4493
4610
|
Configuration.setTimezone("Europe/Berlin");
|
|
4494
4611
|
},
|
|
4495
4612
|
afterEach: function () {
|
|
4496
4613
|
Configuration.setTimezone(sDefaultTimezone);
|
|
4614
|
+
Configuration.setLanguage(sDefaultLanguage);
|
|
4497
4615
|
}
|
|
4498
4616
|
});
|
|
4499
4617
|
|
|
@@ -4712,7 +4830,7 @@ sap.ui.define([
|
|
|
4712
4830
|
// code under test: format option 'format'
|
|
4713
4831
|
oFormat = DateFormat.createInstance({interval: true, intervalDelimiter: "_", format: "yM"}, oLocale, oInfo);
|
|
4714
4832
|
|
|
4715
|
-
assert.strictEqual(oFormat.intervalPatterns[0], "
|
|
4833
|
+
assert.strictEqual(oFormat.intervalPatterns[0], "MM/y'_'MM/y");
|
|
4716
4834
|
|
|
4717
4835
|
// code under test: format option 'pattern'
|
|
4718
4836
|
oFormat = DateFormat.createInstance({interval: true, intervalDelimiter: "_", pattern: "foo"}, oLocale, oInfo);
|
|
@@ -4816,12 +4934,12 @@ sap.ui.define([
|
|
|
4816
4934
|
|
|
4817
4935
|
// code under test: createInstance with format
|
|
4818
4936
|
oFormat = DateFormat.getDateTimeInstance({interval: true, format: "yMMMdhm"}, oLocale);
|
|
4819
|
-
assert.strictEqual(oFormat.format([oDate0, oDate1]), "Jan 10, 2008, 9:15
|
|
4937
|
+
assert.strictEqual(oFormat.format([oDate0, oDate1]), "Jan 10, 2008, 9:15\u2009\u2013\u200911:45\u202fAM");
|
|
4820
4938
|
|
|
4821
4939
|
// code under test: createInstance with format
|
|
4822
4940
|
oFormat = DateFormat.getDateTimeInstance({interval: true, format: "yMMMdhm", intervalDelimiter: "..."},
|
|
4823
4941
|
oLocale);
|
|
4824
|
-
assert.strictEqual(oFormat.format([oDate0, oDate1]), "Jan 10, 2008, 9:15
|
|
4942
|
+
assert.strictEqual(oFormat.format([oDate0, oDate1]), "Jan 10, 2008, 9:15\u202fAM...Jan 10, 2008, 11:45\u202fAM");
|
|
4825
4943
|
});
|
|
4826
4944
|
|
|
4827
4945
|
//*****************************************************************************************************************
|
|
@@ -4875,9 +4993,12 @@ sap.ui.define([
|
|
|
4875
4993
|
//*****************************************************************************************************************
|
|
4876
4994
|
[
|
|
4877
4995
|
{method: "getDateInstance", result: "date.placeholder Dec 31, 2012"},
|
|
4878
|
-
{method: "getDateTimeInstance", result: "date.placeholder Dec 31, 2012, 11:59:58
|
|
4879
|
-
{method: "getTimeInstance", result: "date.placeholder 11:59:58
|
|
4880
|
-
{
|
|
4996
|
+
{method: "getDateTimeInstance", result: "date.placeholder Dec 31, 2012, 11:59:58\u202fPM"},
|
|
4997
|
+
{method: "getTimeInstance", result: "date.placeholder 11:59:58\u202fPM"},
|
|
4998
|
+
{
|
|
4999
|
+
method: "getDateTimeWithTimezoneInstance",
|
|
5000
|
+
result: "date.placeholder Dec 31, 2012, 11:59:58\u202fPM Europe, Berlin"
|
|
5001
|
+
}
|
|
4881
5002
|
].forEach(function (oFixture) {
|
|
4882
5003
|
QUnit.test("getPlaceholderText: " + oFixture.method, function (assert) {
|
|
4883
5004
|
this.stub(UI5Date, "getInstance").onFirstCall().returns({getFullYear: function () {return 2012;}})
|
|
@@ -4892,9 +5013,12 @@ sap.ui.define([
|
|
|
4892
5013
|
|
|
4893
5014
|
//*****************************************************************************************************************
|
|
4894
5015
|
[
|
|
4895
|
-
{method: "getDateInstance", result: "date.placeholder Dec 22, 2012
|
|
4896
|
-
{
|
|
4897
|
-
|
|
5016
|
+
{method: "getDateInstance", result: "date.placeholder Dec 22, 2012\u2009\u2013\u2009Dec 31, 2012"},
|
|
5017
|
+
{
|
|
5018
|
+
method: "getDateTimeInstance",
|
|
5019
|
+
result: "date.placeholder Dec 22, 2012, 9:12:34\u202fAM\u2009\u2013\u2009Dec 31, 2012, 11:59:58\u202fPM"
|
|
5020
|
+
},
|
|
5021
|
+
{method: "getTimeInstance", result: "date.placeholder 9:12:34\u202fAM\u2009\u2013\u200911:59:58\u202fPM"}
|
|
4898
5022
|
].forEach(function (oFixture) {
|
|
4899
5023
|
QUnit.test("getPlaceholderText, with interval: " + oFixture.method, function (assert) {
|
|
4900
5024
|
this.stub(UI5Date, "getInstance").onFirstCall().returns({getFullYear: function () {return 2012;}})
|
|
@@ -4981,4 +5105,124 @@ sap.ui.define([
|
|
|
4981
5105
|
|
|
4982
5106
|
assert.deepEqual(oParsedDate, oDate);
|
|
4983
5107
|
});
|
|
5108
|
+
|
|
5109
|
+
//*****************************************************************************************************************
|
|
5110
|
+
QUnit.test("parse: normalize input and pattern values (integrative test)", function (assert) {
|
|
5111
|
+
const oDate0 = UI5Date.getInstance("1970-01-01T02:22:33Z");
|
|
5112
|
+
const oLocale = new Locale("en_US");
|
|
5113
|
+
let oFormat = DateFormat.getDateTimeInstance({pattern: "h:mm:ss\u202fa", UTC: true}, oLocale);
|
|
5114
|
+
|
|
5115
|
+
// code under test - formatted string can be parsed again
|
|
5116
|
+
assert.deepEqual(oFormat.parse(oFormat.format(oDate0)), oDate0);
|
|
5117
|
+
|
|
5118
|
+
// code under test - input without special characters can be parsed
|
|
5119
|
+
assert.deepEqual(oFormat.parse("02:22:33 AM"), oDate0);
|
|
5120
|
+
|
|
5121
|
+
const oFormatOptions = {interval: true, pattern: "h:mm:ss\u202fa", UTC: true};
|
|
5122
|
+
oFormat = DateFormat.getDateTimeInstance(oFormatOptions, oLocale);
|
|
5123
|
+
|
|
5124
|
+
// code under test - default interval pattern uses " - " as delimiter
|
|
5125
|
+
assert.strictEqual(oFormat.intervalPatterns[oFormat.intervalPatterns.length - 1],
|
|
5126
|
+
"h:mm:ss\u202fa - h:mm:ss\u202fa");
|
|
5127
|
+
|
|
5128
|
+
const oDate1 = UI5Date.getInstance("1970-01-01T15:16:17Z");
|
|
5129
|
+
|
|
5130
|
+
// code under test - formatted string can be parsed again
|
|
5131
|
+
assert.deepEqual(oFormat.parse(oFormat.format([oDate0, oDate1])), [oDate0, oDate1]);
|
|
5132
|
+
|
|
5133
|
+
// code under test - input with special characters can be parsed
|
|
5134
|
+
assert.deepEqual(oFormat.parse("02:22:33\u202fAM\u2009\u2013\u200903:16:17\u202fPM"), [oDate0, oDate1]);
|
|
5135
|
+
|
|
5136
|
+
// code under test - input without special characters can be parsed
|
|
5137
|
+
assert.deepEqual(oFormat.parse("02:22:33 AM - 03:16:17 PM"), [oDate0, oDate1]);
|
|
5138
|
+
// code under test - input without spaces can be parsed
|
|
5139
|
+
assert.deepEqual(oFormat.parse("02:22:33AM-03:16:17PM"), [oDate0, oDate1]);
|
|
5140
|
+
|
|
5141
|
+
oFormat = DateFormat.getDateTimeInstance(oFormatOptions, new Locale("es_AR"));
|
|
5142
|
+
|
|
5143
|
+
// code under test - default interval pattern uses " - " as delimiter
|
|
5144
|
+
assert.strictEqual(oFormat.intervalPatterns[oFormat.intervalPatterns.length - 1],
|
|
5145
|
+
"h:mm:ss\u202fa - h:mm:ss\u202fa");
|
|
5146
|
+
|
|
5147
|
+
// code under test - formatted string can be parsed again
|
|
5148
|
+
assert.deepEqual(oFormat.parse(oFormat.format([oDate0, oDate1])), [oDate0, oDate1]);
|
|
5149
|
+
|
|
5150
|
+
// code under test - input with special characters can be parsed
|
|
5151
|
+
assert.deepEqual(oFormat.parse("02:22:33\u202fa.\u00a0m. a el 03:16:17\u202fp.\u00a0m."), [oDate0, oDate1]);
|
|
5152
|
+
|
|
5153
|
+
// code under test - input without special characters can be parsed
|
|
5154
|
+
assert.deepEqual(oFormat.parse("02:22:33a.m. - 03:16:17p.m."), [oDate0, oDate1]);
|
|
5155
|
+
|
|
5156
|
+
oFormat = DateFormat.getDateTimeInstance(oFormatOptions, new Locale("fa"));
|
|
5157
|
+
|
|
5158
|
+
// code under test - default interval pattern uses " - " as delimiter
|
|
5159
|
+
assert.strictEqual(oFormat.intervalPatterns[oFormat.intervalPatterns.length - 1],
|
|
5160
|
+
"h:mm:ss\u202fa - h:mm:ss\u202fa");
|
|
5161
|
+
|
|
5162
|
+
// code under test - formatted string can be parsed again
|
|
5163
|
+
assert.deepEqual(oFormat.parse(oFormat.format([oDate0, oDate1])), [oDate0, oDate1]);
|
|
5164
|
+
|
|
5165
|
+
// code under test - input with special characters can be parsed
|
|
5166
|
+
assert.deepEqual(oFormat.parse("2:22:33\u202f\u0642.\u0638. \u062a\u0627 3:16:17\u202f\u0628\.\u0638\."),
|
|
5167
|
+
[oDate0, oDate1]);
|
|
5168
|
+
|
|
5169
|
+
// code under test - input without special characters can be parsed
|
|
5170
|
+
assert.deepEqual(oFormat.parse("02:22:33\u202f\u0642.\u0638.-03:16:17\u202f\u0628\.\u0638\."),
|
|
5171
|
+
[oDate0, oDate1]);
|
|
5172
|
+
});
|
|
5173
|
+
|
|
5174
|
+
//*****************************************************************************************************************
|
|
5175
|
+
[
|
|
5176
|
+
{input: "a\u00a0b\u2009c\u202fd e", output: "a b c d e"}, // special spaces are replaced by \u0020
|
|
5177
|
+
{input: "a\u200eb\u200fc\u202ad\u202be\u202cf", output: "abcdef"} // RTL characters are removed
|
|
5178
|
+
].forEach((oFixture, i) => {
|
|
5179
|
+
QUnit.test(`DateFormat._normalize: ${i}`, function (assert) {
|
|
5180
|
+
assert.strictEqual(DateFormat._normalize(oFixture.input), oFixture.output);
|
|
5181
|
+
});
|
|
5182
|
+
});
|
|
5183
|
+
|
|
5184
|
+
//*****************************************************************************************************************
|
|
5185
|
+
QUnit.test("DateFormat#oSymbols[''].parse: normalizes part value", function (assert) {
|
|
5186
|
+
const oPart = {value: "~partValue"};
|
|
5187
|
+
|
|
5188
|
+
this.mock(DateFormat).expects("_normalize").withExactArgs("~partValue").returns("~sNormalized");
|
|
5189
|
+
|
|
5190
|
+
// code under test
|
|
5191
|
+
assert.deepEqual(DateFormat.prototype.oSymbols[""].parse("~sNormalizedValue", oPart),
|
|
5192
|
+
{length: 12});
|
|
5193
|
+
});
|
|
5194
|
+
|
|
5195
|
+
//*****************************************************************************************************************
|
|
5196
|
+
QUnit.test("DateFormat#oSymbols['a'].parse: normalizes variants", function (assert) {
|
|
5197
|
+
const oFormat = {
|
|
5198
|
+
aDayPeriodsWide: ["~wide0"],
|
|
5199
|
+
aDayPeriodsAbbrev: ["~abbrev0", "~abbrev1"],
|
|
5200
|
+
aDayPeriodsNarrow: ["~narrow0", "~narrow1"],
|
|
5201
|
+
oLocaleData: {sCLDRLocaleId: "en-US"}
|
|
5202
|
+
};
|
|
5203
|
+
const oDateFormatMock = this.mock(DateFormat);
|
|
5204
|
+
oDateFormatMock.expects("_normalize").withExactArgs("~wide0").returns("~sNormalizedWide0");
|
|
5205
|
+
oDateFormatMock.expects("_normalize").withExactArgs("~abbrev0").returns("~sNormalizedAbbrev0");
|
|
5206
|
+
oDateFormatMock.expects("_normalize").withExactArgs("~abbrev1").returns("~sDayPeriod");
|
|
5207
|
+
|
|
5208
|
+
// code under test
|
|
5209
|
+
assert.deepEqual(
|
|
5210
|
+
DateFormat.prototype.oSymbols["a"].parse("~sDayPeriodValue", /*unused*/undefined, oFormat),
|
|
5211
|
+
{pm: true, length: 11});
|
|
5212
|
+
});
|
|
5213
|
+
|
|
5214
|
+
//*****************************************************************************************************************
|
|
5215
|
+
QUnit.test("DateFormat#parse: normalizes user input", function (assert) {
|
|
5216
|
+
const oFormat = {
|
|
5217
|
+
oFormatOptions: {},
|
|
5218
|
+
parseRelative() {}
|
|
5219
|
+
};
|
|
5220
|
+
this.mock(DateFormat).expects("_normalize").withExactArgs("~value").returns("~normalizedValue");
|
|
5221
|
+
this.mock(Configuration).expects("getTimezone").withExactArgs().returns("~timezone");
|
|
5222
|
+
this.mock(oFormat).expects("parseRelative").withExactArgs("~normalizedValue", undefined)
|
|
5223
|
+
.returns("~dateObject");
|
|
5224
|
+
|
|
5225
|
+
// code under test
|
|
5226
|
+
assert.strictEqual(DateFormat.prototype.parse.call(oFormat, "~value"), "~dateObject");
|
|
5227
|
+
});
|
|
4984
5228
|
});
|