summaryrefslogtreecommitdiffstats
path: root/basic/qa/basic_coverage/test_CallByName.bas
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /basic/qa/basic_coverage/test_CallByName.bas
parentInitial commit. (diff)
downloadlibreoffice-upstream/4%7.4.7.tar.xz
libreoffice-upstream/4%7.4.7.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'basic/qa/basic_coverage/test_CallByName.bas')
-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 000000000..35578ee47
--- /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