Commit Graph

211 Commits

Author SHA1 Message Date
Francois Gouget 7d2eecd341 oleaut32/tests: The EUR abbreviation is not recognized as a currency.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-27 17:23:53 +02:00
Francois Gouget cf33a13d35 oleau32/tests: Show that spaces are not allowed before exponents.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-27 17:23:48 +02:00
Eric Pouech 4782bc3c1a oleaut32/tests: Simplify printf for 64 bit integers.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 21:39:42 +02:00
Eric Pouech f438e285d3 oleaut32/tests: Simplify test by using long long constants.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-12 21:39:42 +02:00
Alexandre Julliard 62cd33e6b0 kernelbase: Reimplement LOCALE_*CURRNAME/CURRENCY in GetLocaleInfoW/Ex using the locale.nls data.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-29 08:36:41 +02:00
Eric Pouech 497cb25e5b oleaut32/tests: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-15 12:48:11 +01:00
David Kahurani a4ba88c0ff oleaut32: Do not skip the first decimal digit in VarParseNumFromStr().
Add more tests to probe what happens if the integral part is omitted.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52476
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-07 20:53:12 +01:00
Nikolay Sivov b560dbaebc oleaut32: Fully initialize VARIANT structure in VariantInit().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 17:41:49 +02:00
Francois Gouget d07d4ef799 oleaut32: Allow longer regional settings values.
Only the first character matters but the extra ones should not prevent
it from being used.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Francois Gouget 2e302e8d8c oleaut32: Fix handling of hexadecimal/octal numbers in VarParseNumFromStr().
They are incompatible with decimal numbers and currencies.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Francois Gouget caf5ab5d65 oleaut32: Fix VarParseNumFromStr()'s handling of currency decimals.
They have no default, flag the value as a monetary amount, are
unaffected by the presence / absence of a currency symbol, and are
incompatible with hexadecimal / octal numbers.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-09 23:08:05 +02:00
Francois Gouget fc5e603cd3 oleaut32: Add support for longer currency symbols.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-09 23:08:02 +02:00
Francois Gouget 9e4524ffb0 oleaut32: Fix VarParseNumFromStr()'s handling of currency thousands separators.
They are have no default, are not allowed before the first digit, are
unaffected by the presence / absence of a currency symbol, can be mixed
with regular digit separators, are incompatible with hexadecimal and
octal numbers (as are regular digit separators), and mask trailing
spaces.
Also they don't match regular spaces when set to a non-breaking space.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-06 19:56:32 +02:00
Francois Gouget bf2e66cc3f oleaut32: The decimal point takes priority over the thousands separator.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-06 19:56:27 +02:00
Francois Gouget d8656b4767 oleaut32: Remove caching from VARIANT_GetLocalisedNumberChars().
GetLocaleInfoW() already caches the registry information and is fast
enough. This also avoids using out-of-date information after a
SetLocaleInfoW() call.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-05 20:43:28 +02:00
Francois Gouget a74e2871ab oleaut32/tests: Add more VarParseNumFromStr() hexadecimal/octal tests.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-27 10:58:24 +02:00
Francois Gouget fd0a55ce46 oleaut32/tests: Test VarParseNumFromStr()'s handling of LOCALE_SMON*.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-27 10:58:22 +02:00
Francois Gouget 6e8586ca1b oleaut32/tests: Use NUMPRS_HEX_OCT instead of hardcoding its value.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-26 19:42:25 +02:00
Francois Gouget c2aeb915f4 oleaut32: Fix VarParseNumFromStr()'s support for trailing thousands separator spaces.
If a trailing character is a thousands separator, VarParseNumFromStr()
only processes it if NUMPRS_THOUSANDS was specified; even if that
character is also a space and NUMPRS_TRAILING_WHITE was specified.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 13:15:12 +02:00
Francois Gouget de70f7289e oleaut32: VarParseNumFromStr() does not allow leading thousands separators.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 13:15:01 +02:00
Francois Gouget c50dff867d oleaut32: Setting sThousand to a non-breaking space also matches regular spaces.
As the test_VarParseNumFromStrMisc() tests show the converse is not
true.
Note also that the " 1 000" test was failing as expected because in
the French locale Wine was not recognizing regular spaces as thousands
separators. Now it does and Wine incorrectly allows them before the
first digit, just like it does for the English tests.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51450
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 13:14:59 +02:00
Francois Gouget 5c86b4d201 oleaut32/tests: Fix the Swiss franc and Moroccan dirham tests.
Windows <= 8.1 uses an obsolete currency symbol for the Swiss Franc and
Windows 8.1 incorrectly doubled the right-to-left mark in the Moroccan
dirham.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-21 17:44:34 +02:00
Francois Gouget bf9077cf97 oleaut32/tests: Remove unneeded casts in vartest.
The error codes are already defined with an HRESULT cast so there is
no need to cast them again.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-21 17:44:34 +02:00
Francois Gouget e02a7e579c oleaut32: VarParseNumFromStr() accepts trailing currency symbols.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51450
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 18:47:27 +02:00
Francois Gouget 4e34e7513d oleaut32: Fix VarParseNumFromStr()'s support for two-character currencies.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51452
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 18:47:22 +02:00
Francois Gouget 75cbc88ebc oleaut32/tests: Report the error when VarParseNumFromStr() fails.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 18:47:15 +02:00
Francois Gouget 7dc02dcd07 oleaut32: Update the SystemTimeToVariantTime() Y2K cutoff.
Old Windows versions used 29 as the Y2K cutoff, that is is they mapped
two digit years 00-29 to 2000-2029 and years 30-99 to 1930-1999.
But starting with Windows 10 1903 the cutoff is now 49 by default.
So update Wine to match the current Windows versions and adjust the
tests to work for both.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51453
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 13:19:49 +02:00
Francois Gouget 54ee0e9bfd oleaut32/tests: Add more VarParseNumFromStr() tests.
Check how it handles currency signs and spaces before and after the
digits.
Check the combination of thousands separators, spaces and commas. Check
handling of regular vs. non-breaking spaces since the latter are often
used in some locales.
And check what happens in the French locale where spaces and thousands
separators are identical and the currency sign comes after the digits
and, quite often, a space.
Check handling of multi-character currency symbols.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:26:53 +02:00
Francois Gouget 627988565b oleaut32/tests: Allow testing VarParseNumFromStr() using Unicode strings.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:26:47 +02:00
Jacek Caban 08894ffb11 oleaut32/tests: Define NONAMELESSUNION.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 21:52:12 +02:00
Michael Stefaniuc 45da77a4e4 oleaut32/tests: Get rid of strcmp_wa().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-06 21:47:33 +01:00
Jacek Caban db77f53507 oleaut32: Fix checks for digit characters.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 23:04:35 +01:00
Alistair Leslie-Hughes 0c738d900a oleaut32: Support VT_DECIMAL in VarRound.
Based on a patch by Carlos Chiriboga Calderon.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26653
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 22:04:50 +01:00
Michael Stefaniuc 3af4ebf27a oleaut32/tests: Floating point numeric constants are by default doubles.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 09:13:18 +01:00
Michael Stefaniuc d506882266 oleaut32/tests: Fix printing of an expected value.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 09:12:38 +01:00
Michael Stefaniuc 050edeb420 oleaut32/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-19 20:49:04 +02:00
Piotr Caban 409bafcc73 oleaut32: Ignore underflows in VarR8FromStr.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-07 21:24:45 +01:00
Alistair Leslie-Hughes 538e46adea oleaut32: Improve support for IDispatch in VarCat.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-14 21:22:50 +02:00
Alistair Leslie-Hughes e0b5496ccb oleaut32/tests: Add more VarCat tests.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-25 13:18:00 +02:00
Michael Stefaniuc 9e5f920997 oleaut32/tests: Avoid casts from COM object to interface.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 00:02:02 +09:00
Huw Davies fcb9ff957b oleaut32/tests: Test against floats not integers to silence a clang warning.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-12 17:02:52 +09:00
Nikolay Sivov feb607ecf6 oleaut32/tests: Don't use HRESULT codes for BOOL retval (PVS-Studio).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 19:18:21 +09:00
Gerald Pfeifer a9363698d4 oleaut32: Use proper unsigned type in EXPECT_I8(high,low). 2015-08-17 16:58:00 +09:00
Michael Stefaniuc 724ee1d4fc oleaut32/tests: Remove an always true conditional subexpression (PVS-Studio). 2015-02-23 15:25:59 +09:00
Michael Stefaniuc 512a814efc oleaut32: Just stop instead of erroring out on 8 or 9 in octal numbers. 2015-01-20 11:11:13 +01:00
Michael Stefaniuc 9bfd58a5c9 oleaut32/tests: Uncomment and fix a test (PVS-Studio). 2015-01-20 11:11:09 +01:00
Michael Stefaniuc e85db0891b oleaut32/tests: Remove duplicated subexpressions (PVS-Studio). 2014-12-15 16:23:22 +01:00
André Hentschel d68b81cacb oleaut32/tests: Remove unused code (Clang). 2014-12-02 10:48:37 +01:00
Michael Stefaniuc 6f959a91f2 oleaut32/tests: Simplify the check for an empty string (PVS-Studio). 2014-11-13 18:46:39 +09:00
Michael Stefaniuc 53c54d9222 oleaut32/tests: Remove always true ok conditions (PVS-Studio). 2014-10-29 20:31:08 +09:00