summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorAndreas Heinisch <andreas.heinisch@yahoo.de>2025-09-15 18:07:55 +0200
committerAndreas Heinisch <andreas.heinisch@yahoo.de>2025-09-16 21:11:53 +0200
commitdedaf2a87bca8b903fc42f441c7185921cf03312 (patch)
tree40121d3bcfdab907d306e07b2a34a896c7b215f1 /sc
parent6210ab8ae301052f667df9e36ce99d0a9ed78892 (diff)
tdf#165846 - Ensure degrees of freedom (nu value) is greater than 0
Change-Id: I900d0b5436bc9417e4f91eac1434c8ae79bd70a1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190988 Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de> Tested-by: Jenkins
Diffstat (limited to 'sc')
-rw-r--r--sc/qa/uitest/calc_tests2/tdf165846.py32
-rw-r--r--sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx3
2 files changed, 35 insertions, 0 deletions
diff --git a/sc/qa/uitest/calc_tests2/tdf165846.py b/sc/qa/uitest/calc_tests2/tdf165846.py
new file mode 100644
index 000000000000..d17e5aad5832
--- /dev/null
+++ b/sc/qa/uitest/calc_tests2/tdf165846.py
@@ -0,0 +1,32 @@
+# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+from uitest.framework import UITestCase
+from uitest.uihelper.common import select_by_text
+from uitest.uihelper.common import get_state_as_dict
+from libreoffice.uno.propertyvalue import mkPropertyValues
+
+# Bug 165846 - Ensure degrees of freedom (nu value) is greater than 0
+class tdf165846(UITestCase):
+ def test_tdf165846_nu_min_value(self):
+ with self.ui_test.create_doc_in_start_center("calc"):
+ with self.ui_test.execute_modeless_dialog_through_command(".uno:RandomNumberGeneratorDialog") as xDialog:
+ # Select chi squared distribution
+ xDistributionCombo = xDialog.getChild("distribution-combo")
+ select_by_text(xDistributionCombo, "Chi Squared")
+
+ # Select an incorrect degrees of freedom (nu) value
+ xParameter1Spin = xDialog.getChild("parameter1-spin")
+ xParameter1Spin.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+A"}))
+ xParameter1Spin.executeAction("DOWN", tuple())
+
+ # Without the fix in place, this test would have failed with
+ # AssertionError: '0.0001' != '-1.0000'
+ self.assertEqual("0.0001", get_state_as_dict(xParameter1Spin)["Text"])
+
+# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx b/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx
index 60d88fb06d03..6d953affb021 100644
--- a/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx
@@ -469,6 +469,9 @@ IMPL_LINK_NOARG(ScRandomNumberGeneratorDialog, DistributionChanged, weld::ComboB
case DIST_CHI_SQUARED:
{
mxParameter1Text->set_label(ScResId(STR_RNG_PARAMETER_STANDARD_NU_VALUE));
+ // tdf#165846 - ensure degrees of freedom (nu value) is greater than 0
+ mxParameter1Value->set_min(1);
+ mxParameter1Value->set_value(PRECISION);
mxParameter2Text->hide();
mxParameter2Value->hide();