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