У меня есть эта подпрограмма:
Sub AssertTrue(condition, success, error)
If condition Then
%><div style='color:black'><%=success%></div><%
Else
%><div style='color:red'><%=error%></div><%
End If
End Sub
И когда я называю это так:
AssertTrue IsNullOrWhiteSpace(Empty), "Empty is blank.", "Empty is not blank."
используя эту функцию:
' Determines if a string is null, blank, or filled with whitespace.
' If an array of strings is passed in, the first string is checked.
Function IsNullOrWhiteSpace(str)
If IsArray(str) Then
If str.Length > 0 Then str = str(0) Else str = Empty
End If
IsNullOrWhiteSpace = IsEmpty(str) Or (Trim(str) = "")
End Function
Тогда я получаю ошибка несоответствия типов при вызове AssertTrue
. Но VBscript - это слабо типизированный язык, и я не вижу, где смешиваются типы - IsNullOrWhiteSpace
действительно возвращает логическое значение! Почему я получаю эту ошибку и как ее исправить?
И да, я пытаюсь создать модульные тесты в VBscript. Если есть лучший способ сделать это, пожалуйста, дайте мне знать ...:)