Commit Graph
26 Commits
Author SHA1 Message Date
Zdeněk Crhonek 834c7c2698 add test for bug tdf#121337
Change-Id: I26d1d426e6a856b09a48efe8e411b8c54e0f35cf
Reviewed-on: https://gerrit.libreoffice.org/64275
Tested-by: Jenkins
Reviewed-by: Zdenek Crhonek <zcrhonek@gmail.com>
2018-12-03 17:58:38 +01:00
Stephan Bergmann d3368c174f Add reference to test code
...that had inadvertently been missing from the file's inital commit,
a6a48eeef1 "tdf#121325: Replace all of given
length, even if replacement is shorter"

Change-Id: I2a09e1d1ee94480d5615106a4e28958218d9b4c7
Reviewed-on: https://gerrit.libreoffice.org/63334
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-11-13 21:45:37 +01:00
Stephan Bergmann a6a48eeef1 tdf#121325: Replace all of given length, even if replacement is shorter
Both LO and MS Basic restrict the amount of replacement text ("If the Length
parameter in the <emph>Mid statement</emph> is less than the length of the text
that you want to replace, the text is reduced to the specified length." in
helpcontent2/source/text/sbasic/shared/03120306.xhp, resp. "The number of
characters replaced is always less than or equal to the number of characters in
Target." at <https://docs.microsoft.com/en-us/dotnet/visual-basic/
language-reference/statements/mid-statement>).

But cc20344010 "tdf#111313: Honor bWriteNoLenParam
in !bCompatibility, too" had introduced a regression (in the non--compatibility-
mode case), restricting the amount of replaced text to be no more than the
amount of replacement text, even if the given length argument was larger.
(Which had already regressed in the past, see
<https://bugs.documentfoundation.org/show_bug.cgi?id=62090> "Mid statement
doesn't work as expected".)

Added test cases now.

Change-Id: I21d4409f49a2437eb0e1a1e200561d803c42a24c
Reviewed-on: https://gerrit.libreoffice.org/63328
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-11-13 15:26:09 +01:00
Mike Kaganski b24b0b9856 tdf#118442: Fix incorrect index calculation
If a number string has leading spaces and/or minus, then calculating
index into the aBuf as the difference between p and pStart gives
wrong (too big) number. This asserts in debug builds, when e.g. an
assignment is made in a BASIC macro:

  Dim f As Double
  f = " -12.20"

"include/rtl/ustrbuf.hxx:490:
sal_Unicode &rtl::OUStringBuffer::operator[](sal_Int32):
Assertion `index >= 0 && index < pData->length' failed."

This affects, e.g., https://gerrit.libreoffice.org/56610 (see
https://ci.libreoffice.org/job/gerrit_linux_clang_dbgutil/9527/consoleFull#1820989527d893063f-7f3d-4b7e-b56f-4e0f225817cd)

Change-Id: I14654166be721907e2a26ea6f4091f203a9437d7
Reviewed-on: https://gerrit.libreoffice.org/56611
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2018-06-29 07:43:52 +02:00
Andrea Gelmini 09425ab9f1 Removed executable permission on data files
chmod -x for .patch, .pptm, and .vb

Change-Id: I98e1221e48df22e8b58aaf305898cbe301f187ce
Reviewed-on: https://gerrit.libreoffice.org/52568
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-05-04 03:19:33 +02:00
Mike Kaganski ef117cad3a tdf#108039: check for nullptr in rtl_uString and OUString
rtl_[u]String_newConcat now checks allocation result to return
early and avoid SIGSEGV. Other functions are not modified, to
keep old behavior relying on allocation success and crashing
early on OOM to avoid added overhead in performance-critical
places.

OUString operator+= now checks rtl_uString_newConcat result and
throws std::bad_alloc on failure, to specifically address BASIC
problem. It keeps strong exception guarantee of leaving this'
state unaltered.

Concatenation in BASIC now checks for bad string allocation
(previously SIGSEGV was generated).

Unit test included.

Change-Id: I1513311d3d58eac43b2d2ec9a230e22dff0b4245
Reviewed-on: https://gerrit.libreoffice.org/37965
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins <ci@libreoffice.org>
2017-06-07 11:48:57 +02:00
Grzegorz Araminowicz f45463d8e2 tdf#93727 Support date literals in basic
* detect #...# in SbiScanner
* add vb test
* made date locale-independent

Change-Id: Ic269df2df8d3a7c5af7858c3655bb40a0b6033f0
Reviewed-on: https://gerrit.libreoffice.org/36002
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
2017-05-24 18:55:45 +02:00
Eike Rathke c52f2780b5 Add two digit year test for CDateToIso()
Change-Id: I69f067327504023a2f2439a73cdb1fc6a703aa39
2017-05-03 16:37:50 +02:00
Eike Rathke 1b13548f33 BASIC: handle the full tools::Date range from -32768-01-01 to 32767-12-31
* Input of two-digit years only possible through CDateFromIso() though to
  maintain compatibility with previous behavior and also VBA mode.
* VBA mode restricted to years 1..9999

Change-Id: Ia9574c3bf136619b4831b349d263c96b162d1ed4
2017-05-02 15:56:20 +02:00
Eike Rathke af754ef9d6 Add unit test for CDateFromIso with YYYY-MM-DD, tdf#106956
Change-Id: Id7867228c091bb60764225a6436087dd390f13de
2017-04-28 15:46:33 +02:00
Tor Lillqvist 90aac3a3fd Our GetSystemTicks can now again return negative 32-bit values on Windows
See 93bde31562 .

Change-Id: Ib41c2d525faab2bedab10f91c3a4f62f94870e10
2017-02-07 11:55:55 +02:00
Stephan Bergmann b6988293c1 Revert "Remove test_getsystemticks_method.vb for now"
This reverts commit 93a8ebac2d, now that
fce604c8ae "[API CHANGE] return unsigned 64-bit
value from GetSystemTicks in basic code" is in.
2017-01-09 14:25:54 +01:00
Stephan Bergmann 93a8ebac2d Remove test_getsystemticks_method.vb for now
Introduced with 060c2b9b1b "QA Basic: split tests
of methods in different files", but GetSystemTicks appears to routinely return
negative values.

Change-Id: Ibccdf753aea581e05e9d4e1bf551ae72dc70c959
2017-01-09 10:53:30 +01:00
Laurent Balland-Poirier 060c2b9b1b QA Basic: split tests of methods in different files
Following resolution of "Missing TAN method" [1]
as discussed on dev list [2]
a large majority of methods are now tested
with (almost) one method per file

Missing methods:
- colors failed: RED, GREEN, BLUE
- file methods: DIR, CHDRIVE, EOF,...
- financial methods calling Calc functions: IPmt, IRR,...
- not totaly implemented methods (?): ROUND, WAITUNTIL...

[1] https://bugs.documentfoundation.org/show_bug.cgi?id=102872
[2] http://nabble.documentfoundation.org/QA-test-for-BASIC-functions-tt4202257.html

Change-Id: I2b2824b5b18a2cfbbee2bbc5369e9e2b9e5c930b
Reviewed-on: https://gerrit.libreoffice.org/32519
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-01-06 09:35:44 +00:00
Laurent Balland-Poirier 40578897d3 basic: cleanup test_*_methods
cleanup
remove duplicate test with other tests

Change-Id: I4c82ad9f226f25080199ac0dc3815492fc4c265a
Reviewed-on: https://gerrit.libreoffice.org/31860
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
2016-12-24 16:28:28 +00:00
Arnaud Versini 8d43bc6ce8 basic: cleanup test_math_methods
Change-Id: I11b3ca4c55151de7403ff9980ada9958d8ef12dc
Reviewed-on: https://gerrit.libreoffice.org/31592
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Laurent BP <laurent.balland-poirier@laposte.net>
2016-12-04 12:21:05 +00:00
Laurent Balland-Poirier 8a50ea5454 tdf#102872 Add qa unit test for BASIC methods
Add test if several methods still works

Change-Id: I8d26e5e3555dbbc0f07152138e1bc0cd65d90998
Reviewed-on: https://gerrit.libreoffice.org/30166
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>
Reviewed-by: Laurent BP <laurent.balland-poirier@laposte.net>
2016-11-22 09:30:41 +00:00
Julien Nabet 4e00df4f0b Related fdo#87834: add 2 unit tests
Change-Id: I4735b15c9535dc17665629510fdafe3dd4086e0b
Reviewed-on: https://gerrit.libreoffice.org/13708
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-01-23 20:33:19 +00:00
Julien Nabet 0bc1246745 Rename "Mid" unit tests to distinguish cases with 2 and 3 args
Change-Id: Ie9241d0a28dc3871c9242123c9f000100e1a2fa1
2014-12-30 22:04:18 +01:00
Julien Nabet 4eda1a0293 Add some unit-tests for Mid vb function (includes fdo#73771)
Change-Id: Ib5ee18207897cbe16a818096769cdb055dc9dad7
Reviewed-on: https://gerrit.libreoffice.org/7583
Reviewed-by: Noel Power <noel.power@suse.com>
Tested-by: Noel Power <noel.power@suse.com>
2014-01-22 13:56:51 +00:00
Noel Power fbf8ae8241 fix for fdo#62323 fix duplicated and wrong tests
Change-Id: I73dc238f7de59367a0a9d00e5421ea6675b4f556
2013-08-20 09:12:59 +01:00
Noel Power 4c9a08e78b fix for fdo#62323 bad conversion of Hex strings for certain values
Basic hex literals are basic Integer ( e.g. 4 byte ) types with
-2,147,483,648 through 2,147,483,647 range. Interally the scanner
was using a long to form/scan the literal, this led to bad behaviour
on 64bit linux ( where normally long -> 8 bytes )

Change-Id: I1d0fcc55ed0eda636da1445329737d1684e69f33
2013-08-20 08:59:54 +01:00
Noel Power f69acf929b another variation of the localised Cdbl test
Change-Id: Icf6dd7428cb88f1891c6d816a24a4126ea2cc135
2013-03-21 11:33:53 +00:00
Noel Power bc3a099974 tweak basic_coverage test to support locale specific testing
in basic some function results are influenced by locale, now
in the basic_coverage directory you can have sub dirs ( named
by the proper locale e.g. de-DE etc. ) and any macros found
there will be run in the desired locale

Change-Id: I625ee58d37493f83a15a62214bde6708e8fa75f7
2013-03-20 18:46:21 +00:00
Noel Power 6d0f1f6639 fix for fdo#60065
squash errors trying to gain object for rhs ( where no object yet exists (

Change-Id: I81548d1c6a32f0445dc18e31c84c3df85163ed45
2013-02-05 10:36:05 +00:00
Norbert Thiebaud b68a0f6595 basic add a generic unit test fixture
basic_coverage is a generic unit test that scan
qa/basic_coverage/*

each file there is supposed to be a well formed Basic script
that define as least a Function doUnitTest as Integer
that return 1 if OK, 0 if not OK

Change-Id: I6c3cfac1e7ce4748f46c04344102a0eff69b6a49
2012-11-03 20:24:28 -05:00