282 lines
6.7 KiB
Plaintext
282 lines
6.7 KiB
Plaintext
|
'////////////////////////////////////////////////////////////////////////////
|
||
|
'
|
||
|
' Copyright (c) 1999-2000 Microsoft Corp. All Rights Reserved.
|
||
|
'
|
||
|
' File name:
|
||
|
'
|
||
|
' test.vbs
|
||
|
'
|
||
|
' Abstract:
|
||
|
'
|
||
|
' Windows Embedded Prototype Script for Printers
|
||
|
'
|
||
|
' Remarks:
|
||
|
'
|
||
|
' This file tests dependency mapping functionality
|
||
|
'
|
||
|
' Author:
|
||
|
'
|
||
|
' Larry Zhu (lzhu) 11-29-2000
|
||
|
'
|
||
|
'////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
'Option Explicit
|
||
|
|
||
|
' fake cmi global variables so test.vbs can execute standalone
|
||
|
Public cmiInclude: cmiInclude = 0
|
||
|
Public cmiExactlyOne: cmiExactlyOne = 1
|
||
|
|
||
|
' this function tests one test case
|
||
|
Function DependencyMappingTestOne(files(), componentIDs)
|
||
|
|
||
|
initializeTables ' safe to call it more than once
|
||
|
|
||
|
Dim componentFlagArray()
|
||
|
ReDim componentFlagArray(g_nComponents - 1)
|
||
|
|
||
|
' initialize componentFlagArray
|
||
|
initComponentFlagArray componentFlagArray
|
||
|
|
||
|
If Not isValid(componentFlagArray) Then
|
||
|
DependencyMappingTestOne = False
|
||
|
Exit Function
|
||
|
End If
|
||
|
|
||
|
' now map all the files
|
||
|
Dim bIgnore: bIgnore = False
|
||
|
|
||
|
Dim i
|
||
|
|
||
|
For i = 0 To UBound(files)
|
||
|
bIgnore = MapIt(files(i), componentFlagArray)
|
||
|
WScript.Echo "Mapping " & files(i) & " ... mapped? " & bIgnore
|
||
|
Next
|
||
|
|
||
|
' check if the mapping is correct
|
||
|
For i = 0 To UBound(componentIDs)
|
||
|
If Not componentFlagArray(componentIDs(i)) Then
|
||
|
WScript.Echo "Wrong Component Mapped"
|
||
|
DependencyMappingTestOne = False
|
||
|
Exit Function
|
||
|
End If
|
||
|
componentFlagArray(componentIDs(i)) = False
|
||
|
Next
|
||
|
|
||
|
For i = 0 To UBound(componentFlagArray)
|
||
|
If componentFlagArray(i) Then
|
||
|
WScript.Echo "Extra Component Mapped"
|
||
|
DependencyMappingTestOne = False
|
||
|
Exit Function
|
||
|
End If
|
||
|
Next
|
||
|
|
||
|
DependencyMappingTestOne = True
|
||
|
|
||
|
End Function
|
||
|
|
||
|
' this sub tests all the test cases and prints a "Success" when it succeedes
|
||
|
Sub DependencyMappingTest()
|
||
|
|
||
|
Dim bSuccess: bSuccess = False
|
||
|
|
||
|
Dim files()
|
||
|
Dim componentIDs()
|
||
|
|
||
|
' test case one
|
||
|
WScript.Echo "'''''''''''''''''''' Test case one '''''''''''''''''''''''"
|
||
|
ReDim files(0)
|
||
|
|
||
|
files(0) = "pscript5.dll"
|
||
|
|
||
|
ReDim componentIDs(0)
|
||
|
|
||
|
componentIDs(0) = 0
|
||
|
|
||
|
bSuccess = DependencyMappingTestOne(files, componentIDs)
|
||
|
|
||
|
If Not bSuccess Then
|
||
|
WScript.Echo " Failed "
|
||
|
Exit Sub
|
||
|
End If
|
||
|
|
||
|
' test case two
|
||
|
WScript.Echo "'''''''''''''''''''' Test case two '''''''''''''''''''''''"
|
||
|
ReDim files(3)
|
||
|
|
||
|
files(0) = "pscript5.dll"
|
||
|
files(1) = "ps5ui.dll"
|
||
|
files(2) = "localspl.dll"
|
||
|
files(3) = "pscript5.ntf"
|
||
|
|
||
|
ReDim componentIDs(0)
|
||
|
|
||
|
componentIDs(0) = 0
|
||
|
|
||
|
bSuccess = DependencyMappingTestOne(files, componentIDs)
|
||
|
|
||
|
If Not bSuccess Then
|
||
|
WScript.Echo " Failed "
|
||
|
Exit Sub
|
||
|
End If
|
||
|
|
||
|
' test case three
|
||
|
WScript.Echo "'''''''''''''''''''' Test case three '''''''''''''''''''''''"
|
||
|
ReDim files(3)
|
||
|
|
||
|
files(0) = "pscript5.dll"
|
||
|
files(1) = "ps5ui.dll"
|
||
|
files(2) = "unidrv.dll"
|
||
|
files(3) = "pscript5.ntf"
|
||
|
|
||
|
ReDim componentIDs(1)
|
||
|
|
||
|
componentIDs(0) = 0
|
||
|
componentIDs(1) = 1
|
||
|
|
||
|
bSuccess = DependencyMappingTestOne(files, componentIDs)
|
||
|
|
||
|
If Not bSuccess Then
|
||
|
WScript.Echo " Failed "
|
||
|
Exit Sub
|
||
|
End If
|
||
|
|
||
|
' test case four
|
||
|
WScript.Echo "'''''''''''''''''''' Test case four '''''''''''''''''''''''"
|
||
|
ReDim files(3)
|
||
|
|
||
|
files(0) = "pscript5.dll"
|
||
|
files(1) = "ps5ui.dll"
|
||
|
files(2) = "unidrv.dll"
|
||
|
files(3) = "pscript5.ntf"
|
||
|
|
||
|
ReDim componentIDs(1)
|
||
|
|
||
|
componentIDs(0) = 0
|
||
|
componentIDs(1) = 1
|
||
|
|
||
|
bSuccess = DependencyMappingTestOne(files, componentIDs)
|
||
|
|
||
|
If Not bSuccess Then
|
||
|
WScript.Echo " Failed "
|
||
|
Exit Sub
|
||
|
End If
|
||
|
|
||
|
' test case five
|
||
|
WScript.Echo "'''''''''''''''''''' Test case five '''''''''''''''''''''''"
|
||
|
ReDim files(3)
|
||
|
|
||
|
files(0) = "pscript5.dll"
|
||
|
files(1) = "ps5ui.dll"
|
||
|
files(2) = "plotter.dll"
|
||
|
files(3) = "pscript5.ntf"
|
||
|
|
||
|
ReDim componentIDs(1)
|
||
|
|
||
|
componentIDs(0) = 0
|
||
|
componentIDs(1) = 2
|
||
|
|
||
|
bSuccess = DependencyMappingTestOne(files, componentIDs)
|
||
|
|
||
|
If Not bSuccess Then
|
||
|
WScript.Echo " Failed "
|
||
|
Exit Sub
|
||
|
End If
|
||
|
|
||
|
' test case six
|
||
|
WScript.Echo "'''''''''''''''''''' Test case six '''''''''''''''''''''''"
|
||
|
ReDim files(6)
|
||
|
|
||
|
files(0) = "pscript5.dll"
|
||
|
files(1) = "ps5ui.dll"
|
||
|
files(2) = "uniDrv.dll"
|
||
|
files(3) = "unidRVUi.dll"
|
||
|
files(4) = "plotui.dll"
|
||
|
files(5) = "csrspl.dll"
|
||
|
files(6) = "plotter.dll"
|
||
|
|
||
|
ReDim componentIDs(2)
|
||
|
|
||
|
componentIDs(0) = 0
|
||
|
componentIDs(1) = 1
|
||
|
componentIDs(2) = 2
|
||
|
|
||
|
bSuccess = DependencyMappingTestOne(files, componentIDs)
|
||
|
|
||
|
If Not bSuccess Then
|
||
|
WScript.Echo " Failed "
|
||
|
Exit Sub
|
||
|
End If
|
||
|
|
||
|
'''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||
|
' fail cases
|
||
|
'''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||
|
' test case 1
|
||
|
WScript.Echo "'''''''''''''''''''' failed case 1 '''''''''''''''''''''''"
|
||
|
ReDim files(3)
|
||
|
|
||
|
files(0) = "pscript5.dll"
|
||
|
files(1) = "ps5ui.dll"
|
||
|
files(2) = "ploTTER.dll"
|
||
|
files(3) = "pscript5.ntf"
|
||
|
|
||
|
ReDim componentIDs(1)
|
||
|
|
||
|
componentIDs(0) = 0
|
||
|
componentIDs(1) = 1 ' wrong component
|
||
|
|
||
|
bSuccess = DependencyMappingTestOne(files, componentIDs)
|
||
|
|
||
|
If bSuccess Then ' shall fail
|
||
|
Debug.Print " Failed "
|
||
|
Exit Sub
|
||
|
End If
|
||
|
|
||
|
' test case 2
|
||
|
WScript.Echo "'''''''''''''''''''' failed case 2 '''''''''''''''''''''''"
|
||
|
ReDim files(3)
|
||
|
|
||
|
files(0) = "pscript5.dll"
|
||
|
files(1) = "ps5ui.dll"
|
||
|
files(2) = "plotter.dll"
|
||
|
files(3) = "pscript5.ntf"
|
||
|
|
||
|
ReDim componentIDs(0)
|
||
|
|
||
|
componentIDs(0) = 0
|
||
|
|
||
|
bSuccess = DependencyMappingTestOne(files, componentIDs)
|
||
|
|
||
|
If bSuccess Then ' shall fail
|
||
|
WScript.Echo " Failed "
|
||
|
Exit Sub
|
||
|
End If
|
||
|
|
||
|
' test case 3
|
||
|
WScript.Echo "'''''''''''''''''''' failed case 3 '''''''''''''''''''''''"
|
||
|
ReDim files(3)
|
||
|
|
||
|
files(0) = "pscript5.dll"
|
||
|
files(1) = "ps5ui.dll"
|
||
|
files(2) = "plotter.dll"
|
||
|
files(3) = "pscript5.ntf"
|
||
|
|
||
|
ReDim componentIDs(0)
|
||
|
|
||
|
componentIDs(0) = 2
|
||
|
|
||
|
bSuccess = DependencyMappingTestOne(files, componentIDs)
|
||
|
|
||
|
If bSuccess Then ' shall fail
|
||
|
WScript.Echo " Failed "
|
||
|
Exit Sub
|
||
|
End If
|
||
|
|
||
|
' declare success
|
||
|
WScript.Echo "'''''''''''''''''''' The End '''''''''''''''''''''''"
|
||
|
WScript.Echo " Success "
|
||
|
|
||
|
End Sub
|
||
|
|
||
|
' run the test
|
||
|
DependencyMappingTest
|