tdf#153006 ordering of date/time formats in report builder
regression from
commit 17d2247a66b6a9e3105b0a8b8e6d6b5bea5e3ed4
Author: Noel Grandin <noelgrandin@gmail.com>
Date: Fri Aug 13 19:03:23 2021 +0200
formatter maps can use unordered_map
Change-Id: Ibc4bc71776a48c61fb9b651672404f9507c1f082
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145566
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
(cherry picked from commit db28a0cc2e11e1319509e13172fadf4b54d50ecf)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145715
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
diff --git a/include/svl/zforlist.hxx b/include/svl/zforlist.hxx
index 0020d8f..4159ce0 100644
--- a/include/svl/zforlist.hxx
+++ b/include/svl/zforlist.hxx
@@ -28,6 +28,7 @@
#include <com/sun/star/util/NumberFormat.hpp>
#include <unotools/localedatawrapper.hxx>
#include <map>
#include <unordered_map>
namespace com::sun::star::i18n { struct Currency; }
@@ -279,7 +280,10 @@ enum NfEvalDateFormat
};
typedef std::unordered_map<sal_uInt32, SvNumberformat*> SvNumberFormatTable;
/// This table is std::map because it needs to preserve insertion order,
/// because the formats are roughly ordered from most to least common, and some
/// parts of the UI want to show them in that order.
typedef std::map<sal_uInt32, SvNumberformat*> SvNumberFormatTable;
typedef std::unordered_map<sal_uInt16, sal_uInt32> SvNumberFormatterIndexTable;
typedef std::unordered_map< sal_uInt32, sal_uInt32> SvNumberFormatterMergeMap;
diff --git a/sc/qa/uitest/calc_tests/formatCells.py b/sc/qa/uitest/calc_tests/formatCells.py
index 2d9f369..16fb19c 100644
--- a/sc/qa/uitest/calc_tests/formatCells.py
+++ b/sc/qa/uitest/calc_tests/formatCells.py
@@ -420,22 +420,22 @@ class formatCell(UITestCase):
# NatNum12 number formats
entry = formatlb.getChild("6")
entry = formatlb.getChild("11")
self.assertEqual(get_state_as_dict(entry)["Text"], "ONE HUNDRED")
entry.executeAction("SELECT", tuple())
self.assertEqual(get_state_as_dict(xformatted)["Text"], "[NatNum12 upper cardinal]0")
entry = formatlb.getChild("7")
entry = formatlb.getChild("10")
self.assertEqual(get_state_as_dict(entry)["Text"], "One Hundred")
entry.executeAction("SELECT", tuple())
self.assertEqual(get_state_as_dict(xformatted)["Text"], "[NatNum12 title cardinal]0")
entry = formatlb.getChild("8")
entry = formatlb.getChild("9")
self.assertEqual(get_state_as_dict(entry)["Text"], "One hundred")
entry.executeAction("SELECT", tuple())
self.assertEqual(get_state_as_dict(xformatted)["Text"], "[NatNum12 capitalize cardinal]0")
entry = formatlb.getChild("9")
entry = formatlb.getChild("8")
self.assertEqual(get_state_as_dict(entry)["Text"], "one hundred")
entry.executeAction("SELECT", tuple())
self.assertEqual(get_state_as_dict(xformatted)["Text"], "[NatNum12 cardinal]0")