summaryrefslogtreecommitdiff
path: root/basic
diff options
context:
space:
mode:
authorAlain Romedenne <LibreOfficiant@gerrit.libreoffice.org>2022-02-07 18:12:57 +0100
committerMike Kaganski <mike.kaganski@collabora.com>2022-03-30 09:04:38 +0200
commitb9b9b3afde384d2e24dcbf9a60fa9ee227576114 (patch)
tree6105158466962b7c26db638a3071f876e2d114cc /basic
parent7c647704cf0b272304f9e22940e27cee53fa034a (diff)
tdf#114263 tdf#147262 CallByName() function LibO Basic test unit
Change-Id: Ia9bd38c0da4d3f94b824ebb1f98ac912758e8d38 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129610 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'basic')
-rw-r--r--basic/qa/basic_coverage/test_CallByName.bas36
1 files changed, 36 insertions, 0 deletions
diff --git a/basic/qa/basic_coverage/test_CallByName.bas b/basic/qa/basic_coverage/test_CallByName.bas
new file mode 100644
index 000000000000..35578ee475c0
--- /dev/null
+++ b/basic/qa/basic_coverage/test_CallByName.bas
@@ -0,0 +1,36 @@
+Option Explicit
+
+Function doUnitTest() As String
+ TestUtil.TestInit
+ verify_CallByName
+ doUnitTest = TestUtil.GetResult()
+End Function
+
+Sub verify_CallByName()
+ Const _Get = 2, _Let = 4, _Method = 1, _Set = 8
+
+ On Error GoTo errorHandler
+
+ ' Basic modules are Objects
+ TestUtil.AssertEqual(CallByName(TestUtil, "failCount", _Get), 0, "CallByName(TestUtil, ""failCount"", _Get")
+ TestUtil.AssertEqual(CallByName(TestUtil, "passCount", _Get), 1, "CallByName(TestUtil, ""passCount"", _Get")
+ TestUtil.AssertEqual(CallByName(TestUtil, "GetResult", _Method), "OK", "CallByName(TestUtil, ""GetResult"", _Method")
+
+ ' Collection instances
+ Dim c As New Collection
+ c.Add(100, "1st") : c.Add(101)
+ TestUtil.AssertEqual(CallByName(c,"Count", _Get), 2, "CallByName(c,""Count"", _Get)")
+ c.Remove(2)
+ TestUtil.AssertEqual(CallByName(callType:=_Get, object:=c, procName:="Count"), 1, _
+ "CallByName(callType:=_Get, object:=c, procName:=""Count"")")
+
+ ' ClassModule instances or UNO services are 'CallByNamable' objects too!
+ ' see https://help.libreoffice.org/7.4/en-US/text/sbasic/shared/CallByName.html?DbPAR=BASIC#bm_id3150669
+ ' for more _Let and _Set examples
+
+ Exit Sub
+errorHandler:
+ TestUtil.ReportErrorHandler("verify_CallByName", Err, Error$, Erl)
+ Resume Next
+
+End Sub \ No newline at end of file