<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <OBJECT width=0 height=0 ID=pchealth classid=CLSID:FC7D9E02-3F9E-11d3-93C0-00C04F72DAF7></OBJECT> <META content="text/html; charset=unicode" http-equiv=Content-Type> <META content="MSHTML 5.00.2919.800" name=GENERATOR></HEAD> <BODY> <P> <TABLE border=0 cellPadding=1 cellSpacing=1 width="75%"> <TR> <TD align=left><STRONG>IDW Test for all SAF objects and methods</STRONG> </TD> <TD align=left><STRONG>Functional</STRONG></TD> <TD align=left><STRONG>Boundary</STRONG></TD> <TD align=left><STRONG>Falsification</STRONG></TD> <TD align=left><STRONG>Localization</STRONG></TD></TR> <TR> <TD align=left> <P>Vendor ID: <INPUT id=txtVendorID name=text1 style="HEIGHT: 22px; WIDTH: 450px"></P></TD> <TD align=left> <P align=center><INPUT id=rdoVendorIDFunctional name=rdoVendorID type=radio CHECKED></P></TD> <TD align=left disabled> <P align=center><INPUT id=rdoVendorIDBoundary name=rdoVendorID type=radio></P></TD> <TD align=left disabled> <P align=center><INPUT id=rdoVendorIDFalsification name=rdoVendorID type=radio></P></TD> <TD align=left disabled> <P align=center><INPUT id=rdoVendorIDLocalization name=rdoVendorID type=radio disabled></P></TD></TR> <TR> <TD align=left>Product ID: <INPUT id=txtProductID name=text2 style="HEIGHT: 22px; WIDTH: 447px"></TD> <TD align=middle><INPUT id=rdoProductIDFunctional name=rdoProductID type=radio CHECKED></TD> <TD align=middle><INPUT id=rdoProductIDBoundary name=rdoProductID type=radio disabled></TD> <TD align=middle><INPUT id=rdoProductIDFalsification name=rdoProductID type=radio disabled></TD> <TD align=middle><INPUT id=rdoProductIDLocalization name=rdoProductID type=radio disabled></TD></TR> <TR> <TD align=left>New Incident URL: <INPUT id=txtNewIncidentURL maxLength=263 name=text3 style="HEIGHT: 22px; WIDTH: 399px"></TD> <TD align=middle><INPUT id=rdoNewIncidentURLFunctional name=rdoNewIncidentURL type=radio CHECKED></TD> <TD align=middle><INPUT id=rdoNewIncidentURLBoundary name=rdoNewIncidentURL type=radio></TD> <TD align=middle><INPUT id=rdoNewIncidentURLFalsification name=rdoNewIncidentURL type=radio></TD> <TD align=middle><INPUT id=rdoNewIncidentURLLocalization name=rdoNewIncidentURL type=radio disabled></TD></TR> <TR> <TD align=left>New Incident Display String: <INPUT id=txtNewIncidentDisplayString name=text4 style="HEIGHT: 22px; WIDTH: 343px"></TD> <TD align=middle><INPUT id=rdoNewIncidentDisplayStringFunctional name=rdoNewIncidentDisplayString type=radio CHECKED ></TD> <TD align=middle><INPUT id=rdoNewIncidentDisplayStringBoundary name=rdoNewIncidentDisplayString type=radio></TD> <TD align=middle><INPUT id=rdoNewIncidentDisplayStringFalsification name=rdoNewIncidentDisplayString type=radio></TD> <TD align=middle><INPUT id=rdoNewIncidentDisplayStringLocalization name=rdoNewIncidentDisplayString type=radio disabled></TD></TR> <TR> <TD align=left>First Display String Change: <INPUT id=txtFirstDisplayStringChange name=text5 style="HEIGHT: 22px; WIDTH: 350px"></TD> <TD align=middle><INPUT id=rdoFirstDisplayStringChangeFunctional name=rdoFirstDisplayStringChange type=radio CHECKED ></TD> <TD align=middle><INPUT id=rdoFirstDisplayStringChangeBoundary name=rdoFirstDisplayStringChange type=radio></TD> <TD align=middle><INPUT id=rdoFirstDisplayStringChangeFalsification name=rdoFirstDisplayStringChange type=radio></TD> <TD align=middle><INPUT id=rdoFirstDisplayStringChangeLocalization name=rdoFirstDisplayStringChange type=radio disabled></TD></TR> <TR> <TD align=left>First URL String Change: <INPUT id=txtFirstURLStringChange name=text6 style="HEIGHT: 22px; WIDTH: 364px"></TD> <TD align=middle><INPUT id=rdoFirstURLStringChangeFunctional name=rdoFirstURLStringChange type=radio CHECKED ></TD> <TD align=middle><INPUT id=rdoFirstURLStringChangeBoundary name=rdoFirstURLStringChange type=radio></TD> <TD align=middle><INPUT id=rdoFirstURLStringChangeFalsification name=rdoFirstURLStringChange type=radio></TD> <TD align=middle><INPUT id=rdoFirstURLStringChangeLocalization name=rdoFirstURLStringChange type=radio disabled></TD></TR> <TR> <TD align=left>Second Display String Change: <INPUT id=txtSecondDisplayStringChange name=text7 style="HEIGHT: 22px; WIDTH: 332px"></TD> <TD align=middle><INPUT id=rdoSecondDisplayStringChangeFunctional name=rdoSecondDisplayStringChange type=radio CHECKED></TD> <TD align=middle><INPUT id=rdoSecondDisplayStringChangeBoundary name=rdoSecondDisplayStringChange type=radio></TD> <TD align=middle><INPUT id=rdoSecondDisplayStringChangeFalsification name=rdoSecondDisplayStringChange type=radio></TD> <TD align=middle><INPUT id=rdoSecondDisplayStringChangeLocalization name=rdoSecondDisplayStringChange type=radio disabled></TD></TR> <TR> <TD align=left> <P>Second URL String Change: <INPUT id=txtSecondURLStringChange name=text8 style="HEIGHT: 22px; WIDTH: 348px"></P></TD> <TD align=middle><INPUT id=rdoSecondURLStringChangeFunctional name=rdoSecondURLStringChange type=radio CHECKED ></TD> <TD align=middle><INPUT id=rdoSecondURLStringChangeBoundary name=rdoSecondURLStringChange type=radio></TD> <TD align=middle><INPUT id=rdoSecondURLStringChangeFalsification name=rdoSecondURLStringChange type=radio></TD> <TD align=middle><INPUT id=rdoSecondURLStringChangeLocalization name=rdoSecondURLStringChange type=radio disabled></TD></TR> <TR> <TD align=left>Incident Object User Name: <INPUT id=txtIncidentObjectUserName name=text9 style="HEIGHT: 22px; WIDTH: 350px"></TD> <TD align=middle><INPUT id=rdoIncidentObjectUserNameFunctional name=rdoIncidentObjectUserName type=radio CHECKED ></TD> <TD align=middle><INPUT id=rdoIncidentObjectUserNameBoundary name=rdoIncidentObjectUserName type=radio></TD> <TD align=middle><INPUT id=rdoIncidentObjectUserNameFalsification name=rdoIncidentObjectUserName type=radio></TD> <TD align=middle><INPUT id=rdoIncidentObjectUserNameLocalization name=rdoIncidentObjectUserName type=radio disabled></TD></TR> <TR> <TD align=left>Incident Object Product ID: <INPUT id=txtIncidentObjectProductID name=text10 style="HEIGHT: 22px; WIDTH: 353px"></TD> <TD align=middle><INPUT id=rdoIncidentObjectProductIDFunctional name=rdoIncidentObjectProductID type=radio CHECKED ></TD> <TD align=middle><INPUT id=rdoIncidentObjectProductIDBoundary name=rdoIncidentObjectProductID type=radio></TD> <TD align=middle><INPUT id=rdoIncidentObjectProductIDFalsification name=rdoIncidentObjectProductID type=radio></TD> <TD align=middle><INPUT id=rdoIncidentObjectProductIDLocalization name=rdoIncidentObjectProductID type=radio disabled></TD></TR> <TR> <TD align=left>Incident Object Product Name: <INPUT id=txtIncidentObjectProductName name=text11 style="HEIGHT: 22px; WIDTH: 332px"></TD> <TD align=middle><INPUT id=rdoIncidentObjectProductNameFunctional name=rdoIncidentObjectProductName type=radio CHECKED></TD> <TD align=middle><INPUT id=rdoIncidentObjectProductNameBoundary name=rdoIncidentObjectProductName type=radio></TD> <TD align=middle><INPUT id=rdoIncidentObjectProductNameFalsification name=rdoIncidentObjectProductName type=radio></TD> <TD align=middle><INPUT id=rdoIncidentObjectProductNameLocalization name=rdoIncidentObjectProductName type=radio disabled></TD></TR> <TR> <TD align=left>Incident Object ProblemDescription: <INPUT id=txtIncidentObjectProblemDescription name=text12 style="HEIGHT: 22px; WIDTH: 300px"></TD> <TD align=middle><INPUT id=rdoIncidentObjectProblemDescriptionFunctional name=rdoIncidentObjectProblemDescription type=radio CHECKED></TD> <TD align=middle><INPUT id=rdoIncidentObjectProblemDescriptionBoundary name=rdoIncidentObjectProblemDescription type=radio></TD> <TD align=middle><INPUT id=rdoIncidentObjectProblemDescriptionFalsification name=rdoIncidentObjectProblemDescription type=radio></TD> <TD align=middle><INPUT id=rdoIncidentObjectProblemDescriptionLocalization name=rdoIncidentObjectProblemDescription type=radio disabled></TD></TR> <TR> <TD align=left>Incident Object File Name: <INPUT id=txtIncidentObjectFileName maxLength=260 name=text13 style="HEIGHT: 22px; WIDTH: 357px"></TD> <TD align=middle><INPUT id=rdoIncidentObjectFileNameFunctional name=rdoIncidentObjectFileName type=radio CHECKED ></TD> <TD align=middle><INPUT id=rdoIncidentObjectFileNameBoundary name=rdoIncidentObjectFileName type=radio></TD> <TD align=middle><INPUT id=rdoIncidentObjectFileNameFalsification name=rdoIncidentObjectFileName type=radio></TD> <TD align=middle><INPUT id=rdoIncidentObjectFileNameLocalization name=rdoIncidentObjectFileName type=radio disabled></TD></TR> <TR> <TD align=left> <P><INPUT id=btnStartTests name=button1 type=button value="Start Test"></P></TD> <TD align=middle></TD> <TD align=middle></TD> <TD align=middle></TD> <TD align=middle></TD></TR></TABLE> </P> <P> </P> </BODY> <Script language=VBScript> Set fsoObject = CreateObject("Scripting.FileSystemObject") Set shellObject = CreateObject("Wscript.Shell") Dim strOpenedTime Dim strClosedTime Dim incidentItemObject Dim channelObject Dim incidentObject Dim strVendorID Dim strProductID Dim strWindowsFolder Dim strSystemFolder Dim strTemporaryFolder Dim intUniqueNumber Dim strNewIncidentURL Dim strNewIncidentDisplay Dim strSetFirstNewDisplayString Dim strSetFirstNewURL Dim strSetSecondNewDisplayString Dim strSetSecondNewURL Dim intIncidentIndexNumber Dim strIncidentObjectUserName Dim strIncidentObjectProductID Dim strIncidentObjectProductName Dim strIncidentObjectProblemDescription Dim strIncidentObjectFileName Dim tempChannelObject Dim tempChannelIncidents Dim intOriginalGetAllIncidentsCount Dim intOriginalGetOpenIncidentsCount Dim intOriginalGetClosedIncidentsCount Dim intErrorNumber Dim strErrorDescription Const pchAllIncidents = 1 Const pchOpenIncidents = 2 Const pchClosedIncidents = 3 Const pchIncidentOpen = 1 Const pchIncidentClosed = 2 Const WindowsFolder = 0 Const SystemFolder = 1 Const TemporaryFolder = 2 strVendorIDFunctional = "CN=Microsoft Corporation,L=Redmond,S=Washington,C=US" strProductIDFunctional = "Microsoft Millennium Beta" strNewIncidentURLFunctional = "http://NewIncident" & intUniqueNumber strNewIncidentURLBoundary = "http://1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456" strNewIncidentURLFalsification = "" strNewIncidentURLLocalization = "" strNewIncidentDisplayStringFunctional = "This is an IDW Test incident !#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" strNewIncidentDisplayStringBoundary = "" strNewIncidentDisplayStringFalsification = "" strNewIncidentDisplayStringLocalization = "" strFirstDisplayStringChangeFunctional = "New First IDW Display String " & intUniqueNumber strFirstDisplayStringChangeBoundary = "" strFirstDisplayStringChangeFalsification = "" strFirstDisplayStringChangeLocalization = "" strFirstURLStringChangeFunctional = "http://IDW_FIRST_URL_CHANGE_TEST/" & intUniqueNumber strFirstURLStringChangeBoundary = "" strFirstURLStringChangeFalsification = "" strFirstURLStringChangeLocalization = "" strSecondDisplayStringChangeFunctional = "A very quick brown fox jumped over the lazy dogs. New Second IDW Display String? " & intUniqueNumber strSecondDisplayStringChangeBoundary = "" strSecondDisplayStringChangeFalsification = "" strSecondDisplayStringChangeLocalization = "" strSecondURLStringChangeFunctional = "http://IDW_SECOND_URL_CHANGE_TEST/" & intUniqueNumber strSecondURLStringChangeBoundary = "" strSecondURLStringChangeFalsification = "" strSecondURLStringChangeLocalization = "" strIncidentObjectUserNameFunctional = "Incident Object User Name" strIncidentObjectUserNameBoundary = "" strIncidentObjectUserNameFalsification = "" strIncidentObjectUserNameLocalization = "" strIncidentObjectProductIDFunctional = "Incident Object Product ID #1234567890" strIncidentObjectProductIDBoundary = "" strIncidentObjectProductIDFalsification = "" strIncidentObjectProductIDLocalization = "" strIncidentObjectProductNameFunctional = "Incident Object Product Name" strIncidentObjectProductNameBoundary = "" strIncidentObjectProductNameFalsification = "" strIncidentObjectProductNameLocalization = "" strIncidentObjectProblemDescriptionFunctional = "Incident Object Problem Description, 1234567890" strIncidentObjectProblemDescriptionBoundary = "" strIncidentObjectProblemDescriptionFalsification = "" strIncidentObjectProblemDescriptionLocalization = "" strIncidentObjectFileNameFunctional = strTemporaryFolder & "\incidentObjectTestFile.txt" strIncidentObjectFileNameBoundary = "" strIncidentObjectFileNameFalsification = "" strIncidentObjectFileNameLocalization = "" intUniqueNumber = getUniqueNumber() strTemporaryFolder = fsoObject.GetSpecialFolder(TemporaryFolder) txtVendorID.innerText = strVendorIDFunctional txtProductID.innerText = strProductIDFunctional txtNewIncidentURL.innerText = strNewIncidentURLFunctional txtNewIncidentDisplayString.innerText = strNewIncidentDisplayStringFunctional txtFirstDisplayStringChange.innerText = strFirstDisplayStringChangeFunctional txtFirstURLStringChange.innerText = strFirstURLStringChangeFunctional txtSecondDisplayStringChange.innerText = strSecondDisplayStringChangeFunctional txtSecondURLStringChange.innerText = strSecondURLStringChangeFunctional txtIncidentObjectUserName.innerText = strIncidentObjectUserNameFunctional txtIncidentObjectProductID.innerText = strIncidentObjectProductIDFunctional txtIncidentObjectProductName.innerText = strIncidentObjectProductNameFunctional txtIncidentObjectProblemDescription.innerText = strIncidentObjectProblemDescriptionFunctional txtIncidentObjectFileName.innerText = strIncidentObjectFileNameFunctional Public Sub rdoIncidentObjectFileNameLocalization_OnClick() txtIncidentObjectFileName.innerText = strIncidentObjectFileNameLocalization End Sub Public Sub rdoIncidentObjectFileNameFalsification_OnClick() txtIncidentObjectFileName.innerText = strIncidentObjectFileNameFalsification End Sub Public Sub rdoIncidentObjectFileNameBoundary_OnClick() txtIncidentObjectFileName.innerText = strIncidentObjectFileNameBoundary End Sub Public Sub rdoIncidentObjectFileNameFunctional_OnClick() txtIncidentObjectFileName.innerText = strIncidentObjectFileNameFunctional End Sub Public Sub rdoIncidentObjectProblemDescriptionLocalization_OnClick() txtIncidentObjectProblemDescription.innerText = strIncidentObjectProblemDescriptionLocalization End Sub Public Sub rdoIncidentObjectProblemDescriptionFalsification_OnClick() txtIncidentObjectProblemDescription.innerText = strIncidentObjectProblemDescriptionFalsification End Sub Public Sub rdoIncidentObjectProblemDescriptionBoundary_OnClick() txtIncidentObjectProblemDescription.innerText = strIncidentObjectProblemDescriptionBoundary End Sub Public Sub rdoIncidentObjectProblemDescriptionFunctional_OnClick() txtIncidentObjectProblemDescription.innerText = strIncidentObjectProblemDescriptionFunctional End Sub Public Sub rdoIncidentObjectProductNameLocalization_OnClick() txtIncidentObjectProductName.innerText = strIncidentObjectProductNameLocalization End Sub Public Sub rdoIncidentObjectProductNameFalsification_OnClick() txtIncidentObjectProductName.innerText = strIncidentObjectProductNameFalsification End Sub Public Sub rdoIncidentObjectProductNameBoundary_OnClick() txtIncidentObjectProductName.innerText = strIncidentObjectProductNameBoundary End Sub Public Sub rdoIncidentObjectProductNameFunctional_OnClick() txtIncidentObjectProductName.innerText = strIncidentObjectProductNameFunctional End Sub Public Sub rdoIncidentObjectProductIDLocalization_OnClick() txtIncidentObjectProductID.innerText = strIncidentObjectProductIDLocalization End Sub Public Sub rdoIncidentObjectProductIDFalsification_OnClick() txtIncidentObjectProductID.innerText = strIncidentObjectProductIDFalsification End Sub Public Sub rdoIncidentObjectProductIDBoundary_OnClick() txtIncidentObjectProductID.innerText = strIncidentObjectProductIDBoundary End Sub Public Sub rdoIncidentObjectProductIDFunctional_OnClick() txtIncidentObjectProductID.innerText = strIncidentObjectProductIDFunctional End Sub Public Sub rdoIncidentObjectUserNameLocalization_OnClick() txtIncidentObjectUserName.innerText = strIncidentObjectUserNameLocalization End Sub Public Sub rdoIncidentObjectUserNameFalsification_OnClick() txtIncidentObjectUserName.innerText = strIncidentObjectUserNameFalsification End Sub Public Sub rdoIncidentObjectUserNameBoundary_OnClick() txtIncidentObjectUserName.innerText = strIncidentObjectUserNameBoundary End Sub Public Sub rdoIncidentObjectUserNameFunctional_OnClick() txtIncidentObjectUserName.innerText = strIncidentObjectUserNameFunctional End Sub Public Sub rdoSecondURLStringChangeLocalization_OnClick() txtSecondURLStringChange.innerText = strSecondURLStringChangeLocalization End Sub Public Sub rdoSecondURLStringChangeFalsification_OnClick() txtSecondURLStringChange.innerText = strSecondURLStringChangeFalsification End Sub Public Sub rdoSecondURLStringChangeBoundary_OnClick() txtSecondURLStringChange.innerText = strSecondURLStringChangeBoundary End Sub Public Sub rdoSecondURLStringChangeFunctional_OnClick() txtSecondURLStringChange.innerText = strSecondURLStringChangeFunctional End Sub Public Sub rdoSecondDisplayStringChangeLocalization_OnClick() txtSecondDisplayStringChange.innerText = strSecondDisplayStringChangeLocalization End Sub Public Sub rdoSecondDisplayStringChangeFalsification_OnClick() txtSecondDisplayStringChange.innerText = strSecondDisplayStringChangeFalsification End Sub Public Sub rdoSecondDisplayStringChangeBoundary_OnClick() txtSecondDisplayStringChange.innerText = strSecondDisplayStringChangeBoundary End Sub Public Sub rdoSecondDisplayStringChangeFunctional_OnClick() txtSecondDisplayStringChange.innerText = strSecondDisplayStringChangeFunctional End Sub Public Sub rdoFirstURLStringChangeLocalization_OnClick() txtFirstURLStringChange.innerText = strFirstURLStringChangeLocalization End Sub Public Sub rdoFirstURLStringChangeFalsification_OnClick() txtFirstURLStringChange.innerText = strFirstURLStringChangeFalsification End Sub Public Sub rdoFirstURLStringChangeBoundary_OnClick() txtFirstURLStringChange.innerText = strFirstURLStringChangeBoundary End Sub Public Sub rdoFirstURLStringChangeFunctional_OnClick() txtFirstURLStringChange.innerText = strFirstURLStringChangeFunctional End Sub Public Sub rdoFirstDisplayStringChangeLocalization_OnClick() txtFirstDisplayStringChange.innerText = strFirstDisplayStringChangeLocalization End Sub Public Sub rdoFirstDisplayStringChangeFalsification_OnClick() txtFirstDisplayStringChange.innerText = strFirstDisplayStringChangeFalsification End Sub Public Sub rdoFirstDisplayStringChangeBoundary_OnClick() txtFirstDisplayStringChange.innerText = strFirstDisplayStringChangeBoundary End Sub Public Sub rdoFirstDisplayStringChangeFunctional_OnClick() txtFirstDisplayStringChange.innerText = strFirstDisplayStringChangeFunctional End Sub Public Sub rdoNewIncidentDisplayStringLocalization_OnClick() txtNewIncidentDisplayString.innerText = strNewIncidentDisplayStringLocalization End Sub Public Sub rdoNewIncidentDisplayStringFalsification_OnClick() txtNewIncidentDisplayString.innerText = strNewIncidentDisplayStringFalsification End Sub Public Sub rdoNewIncidentDisplayStringBoundary_OnClick() txtNewIncidentDisplayString.innerText = strNewIncidentDisplayStringBoundary End Sub Public Sub rdoNewIncidentDisplayStringFunctional_OnClick() txtNewIncidentDisplayString.innerText = strNewIncidentDisplayStringFunctional End Sub Public Sub rdoNewIncidentURLLocalization_OnClick() txtNewIncidentURL.innerText = strNewIncidentURLLocalization End Sub Public Sub rdoNewIncidentURLFalsification_OnClick() txtNewIncidentURL.innerText = strNewIncidentURLFalsification End Sub Public Sub rdoNewIncidentURLBoundary_OnClick() txtNewIncidentURL.innerText = strNewIncidentURLBoundary End Sub Public Sub rdoNewIncidentURLFunctional_OnClick() txtNewIncidentURL.innerText = strNewIncidentURLFunctional End Sub Public Sub rdoProductIDLocalization_OnClick() txtProductID.innerText = strProductIDLocalization End Sub Public Sub rdoProductIDFalsification_OnClick() txtProductID.innerText = strProductIDFalsification End Sub Public Sub rdoProductIDBoundary_OnClick() txtProductID.innerText = strProductIDBoundary End Sub Public Sub rdoProductIDFunctional_OnClick() txtProductID.innerText = strProductIDFunctional End Sub Public Sub rdoVendorIDLocalization_OnClick() txtVendorID.innerText = strVendorIDLocalization End Sub Public Sub rdoVendorIDFalsification_OnClick() txtVendorID.innerText = strVendorIDFalsification End Sub Public Sub rdoVendorIDBoundary_OnClick() txtVendorID.innerText = strVendorIDBoundary End Sub Public Sub rdoVendorIDFunctional_OnClick() txtVendorID.innerText = strVendorIDFunctional End Sub Public Sub btnStartTests_OnClick() strVendorID = txtVendorID.value strProductID = txtProductID.Value strWindowsFolder = fsoObject.GetSpecialFolder(WindowsFolder) strSystemFolder = fsoObject.GetSpecialFolder(SystemFolder) intUniqueNumber = getUniqueNumber() strNewIncidentURL = txtNewIncidentURL.Value strNewIncidentDisplay = txtNewIncidentDisplayString.Value strSetFirstNewDisplayString = txtFirstDisplayStringChange.Value strSetFirstNewURL = txtFirstURLStringChange.Value strSetSecondNewDisplayString = txtSecondDisplayStringChange.Value strSetSecondNewURL = txtSecondURLStringChange.Value intIncidentIndexNumber = 0 strIncidentObjectUserName = txtIncidentObjectUserName.Value strIncidentObjectProductID = txtIncidentObjectProductID.Value strIncidentObjectProductName = txtIncidentObjectProductName.Value strIncidentObjectProblemDescription = txtIncidentObjectProblemDescription.Value strIncidentObjectFileName = txtIncidentObjectFileName.Value Set channelObject = pchealth.CreateObject_Channel(strVendorID, strProductID) Set tempChannelObject = pchealth.CreateObject_channel(strVendorID, strProductID) Set incidentObject = pchealth.CreateObject_Incident() CloseAllIncidents() GetVendorID() GetProductID() GetVendorName() GetProductName() document.write "Inital Incident Count: <BR>" document.write "No Result Is Expected <BR>" intOriginalGetAllIncidentsCount = GetAllIncidentsCount() intOriginalGetOpenIncidentsCount = GetOpenIncidentsCount() intOriginalGetClosedIncidentsCount = GetClosedIncidentsCount() document.write "<HR>" 'Record a new incident here strReturnedNewIncidentURL = RecordNewIncident(strNewIncidentURL, strNewIncidentDisplay) sortAllIncidents() CheckIncidentStatus(pchIncidentOpen) SetNewDisplayString(strSetFirstNewDisplayString) SetNewURL(strSetFirstNewURL) CloseNewIncident(strReturnedNewIncidentURL) CheckIncidentStatus(pchIncidentClosed) SetNewDisplayString(strSetSecondNewDisplayString) SetNewURL(strSetSecondNewURL) CheckCreationTime(strOpenedTime) CheckClosedTime(strClosedTime) incidentObjectBinFileSave() incidentObjectBinFileLoad() End Sub Public Sub ErrorHandler() 'Error Handler Routine 'If Err.number <> 0 Then 'strErrorDescription = Err.description 'intErrorNumber = Err.number 'ErrorHandler() 'End If If strErrorDescription = "Record already exists." Then document.write "<FONT color=red><STRONG>An incident with this URL already exists. Please use another URL to record an incident.<BR>This will cause further errors.</STRONG></FONT><BR>" document.write "Returned Error Number: " & intErrorNumber & "<BR>" document.write "Returned Error Description: " & strErrorDescription & "<BR>" End If If strErrorDescription = "Record not found." Then document.write "<FONT color=red><STRONG>An incident with this URL cannot be found. Please recheck your URL so you may close this incident.<BR>This will cause further errors.</STRONG></FONT><BR>" document.write "Returned Error Number: " & intErrorNumber & "<BR>" document.write "Returned Error Description: " & strErrorDescription & "<BR>" End If If strErrorDescription = "The filename or extension is too long." Then document.write "<FONT color=red><STRONG>The file path or file extention is to long. Please change the filename or extention to fit the file system parameters.<BR>This will cause further errors.</STRONG></FONT><BR>" document.write "Returned Error Number: " & intErrorNumber & "<BR>" document.write "Returned Error Description: " & strErrorDescription & "<BR>" End If End Sub Public Sub incidentObjectBinFileLoad() On Error Resume Next incidentObject.Load strIncidentObjectFileName If Err.number <> 0 Then strErrorDescription = Err.description intErrorNumber = Err.number ErrorHandler() End If strReturnedIncidentObjectUserName = incidentObject.UserName strReturnedIncidentObjectProductID = incidentObject.ProductID strReturnedIncidentObjectProductName = incidentObject.ProductName strReturnedIncidentObjectProblemDescription = incidentObject.ProblemDescription document.write "Load Incident Object Information From Bin File<BR>" document.write "Returned User Name: " & strReturnedIncidentObjectUserName & "<BR>" document.write "Returned Product ID: " & strReturnedIncidentObjectProductID & "<BR>" document.write "Returned Product Name: " & strReturnedIncidentObjectProductName & "<BR>" document.write "Returned Problem Description: " & strReturnedIncidentObjectProblemDescription & "<BR>" If strReturnedIncidentObjectUserName = strIncidentObjectUserName Then strReturnedIncidentObjectUserNameResult = "<li>User Name Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strReturnedIncidentObjectUserNameResult = "<li>User Name Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If If strReturnedIncidentObjectProductID = strIncidentObjectProductID Then strReturnedIncidentObjectProductIDResult = "<li>Product ID Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strReturnedIncidentObjectProductIDResult = "<li>Product ID Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If If strReturnedIncidentObjectProductName = strIncidentObjectProductName Then strReturnedIncidentObjectProductNameResult = "<li>Product Name Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strReturnedIncidentObjectProductNameResult = "<li>Product Name Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If If strReturnedIncidentObjectProblemDescription = strIncidentObjectProblemDescription Then strReturnedIncidentObjectProblemDescriptionResult = "<li>Problem Description Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strReturnedIncidentObjectProblemDescriptionResult = "<li>Problem Description Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If document.write strReturnedIncidentObjectUserNameResult document.write strReturnedIncidentObjectProductIDResult document.write strReturnedIncidentObjectProductNameResult document.write strReturnedIncidentObjectProblemDescriptionResult document.write "<HR>" End Sub Public Sub incidentObjectBinFileSave() On Error Resume Next document.write "Save Incident Object Information to Bin File<BR>" document.write "User Name: " & strIncidentObjectUserName & "<BR>" document.write "Product ID: " & strIncidentObjectProductID & "<BR>" document.write "Product Name: " & strIncidentObjectProductName & "<BR>" document.write "Problem Description: " & strIncidentObjectProblemDescription & "<BR>" If fsoObject.FileExists(strIncidentObjectFileName) Then fsoObject.DeleteFile(strIncidentObjectFileName) End If incidentObject.UserName = strIncidentObjectUserName incidentObject.ProductID = strIncidentObjectProductID incidentObject.ProductName = strIncidentObjectProductName incidentObject.ProblemDescription = strIncidentObjectProblemDescription incidentObject.Save strIncidentObjectFileName If Err.number <> 0 Then strErrorDescription = Err.description intErrorNumber = Err.number ErrorHandler() End If document.write "File Name: " & strIncidentObjectFileName & "<BR>" End Sub Public Sub CheckIncidentStatus(intStatusShouldBe) Err.Clear On Error Resume Next intReturnedStatus = incidentItemObject.Status document.write "Current Status Test<BR>" document.write "Status Should Be: " & intStatusShouldBe & "<BR>" document.write "Returned status: " & intReturnedStatus & "<BR>" If intReturnedStatus = intStatusShouldBe Then strStatusTestResult = "<li>Status Returned Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strStatusTestResult = "<li>Status Returned Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If document.write strStatusTestResult If Err.number <> 0 Then document.write Err.number & " : " & Err.description & "<BR>" End If document.write "<HR>" Err.Clear End Sub Public Sub CheckClosedTime(strClosedTime) Err.Clear On Error Resume Next strReturnedClosedTime = incidentItemObject.ClosedTime document.write "Creation Time Test<BR>" document.write "Opened Time: " & strOpenedTime & "<BR>" document.write "Returned Creation Time: " & strReturnedClosedTime & "<BR>" If strReturnedClosedTime = strOpenedTime Then strClosedTimeTestResult = "<li>ClosedTime Returned Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strClosedTimeTestResult = "<li>ClosedTime Returned Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If document.write strClosedTimeTestResult document.write Err.number & " : " & Err.description & "<BR>" document.write "<HR>" Err.Clear End Sub Public Sub CheckCreationTime(strOpenedTime) strReturnedCreationTime = incidentItemObject.CreationTime document.write "Creation Time Test<BR>" document.write "Opened Time: " & strOpenedTime & "<BR>" document.write "Returned Creation Time: " & strReturnedCreationTime & "<BR>" If strReturnedCreationTime = strOpenedTime Then strCreationTimeTestResult = "<li>Creation Time Returned Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strCreationTimeTestResult = "<li>Creation Time Returned Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If document.write strCreationTimeTestResult document.write "<HR>" End Sub Public Function getUniqueNumber() strUniqueNumber = Second(Now) & Minute(Now) & Hour(Now) & Int((Second(Now) & Minute(Now) & Hour(Now)) * Rnd) getUniqueNumber = strUniqueNumber End Function Public Sub SetNewURL(strSetNewURL) document.write "Set New URL Test<BR>" strOriginalURL = incidentItemObject.URL incidentItemObject.URL = strSetNewURL strNewReturnedURL = incidentItemObject.URL document.write "Original Returned String: " & strOriginalURL & "<BR>" document.write "New String: " & strNewReturnedURL & "<BR>" checkURLChangeResults strOriginalURL, strNewReturnedURL, strSetNewURL document.write "<HR>" End Sub Public Sub CheckURLChangeResults(strOriginalURL, strNewReturnedURL, strSetNewURL) strMethodToVerify = "URL" If strOriginalURL = strNewReturnedURL Then strURLDifferentResult = "<li>URL Returned Different Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" Else strURLDifferentResult = "<li>URL Returned Different Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" End If If strNewReturnedURL = strSetNewURL Then strURLMatchResult = "<li>URL Returned Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strURLMatchResult = "<li>URL Returned Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If If strNewReturnedURL = VerifyChangeWithOtherObject(strMethodToVerify) Then strOtherObjectURLMatchResult = "<li>URL Other Object Check Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strOtherObjectURLMatchResult = "<li>URL Other Object Check Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If document.write strURLDifferentResult document.write strURLMatchResult document.write strOtherObjectURLMatchResult End Sub Public Sub CloseAllIncidents() Err.Clear set channelIncidents = channelObject.Incidents(pchOpenIncidents) If Err.Number = 0 Then If channelIncidents.Count > 0 Then i = 0 For Each oItem in channelIncidents Set incidentItemObject = channelIncidents.Item(i) strURL = incidentItemObject.URL document.write "<BR>" document.write strURL & "<BR>" channelObject.CloseIncident strURL strClosedURL = incidentItemObject.URL document.write strClosedURL i = i + 1 Next End If End If Err.Clear End Sub Public Function VerifyChangeWithOtherObject(strMethodToVerify) 'Set tempChannelObject = pchealth.CreateObject_channel(strVendorID, strProductID) Set tempChannelIncidents = tempChannelObject.Incidents(pchAllIncidents) Err.Clear If Err.Number = 0 Then If tempChannelIncidents.Count > 0 Then ' This is where we start to sort Dim arrayCount Dim sortTemp ReDim sortTemp(tempChannelIncidents.Count) arrayCount = 0 For Each oItem in tempChannelIncidents set sortTemp(arrayCount) = oItem arrayCount = arrayCount + 1 Next 'Sort Here For arrayCount = o to tempChannelIncidents.Count - 2 For arraySortCount = arrayCount + 1 to tempChannelIncidents.Count - 1 If sortTemp(arrayCount).CreationTime < sortTemp(arraySortCount).CreationTime Then Dim additionalSortTemp Set additionalSortTemp = sortTemp(arrayCount) Set sortTemp(arrayCount) = sortTemp(arraySortCount) Set sortTemp(arraySortCount) = additionalSortTemp End If Next Next End If End If Err.Clear Set tempIncidentItemObject = tempChannelIncidents.Item(intIncidentIndexNumber) If strMethodToVerify = "DisplayString" Then strResult = tempIncidentItemObject.DisplayString document.write "Other Object Return Check: " & strResult & "<BR>" VerifyChangeWithOtherObject = strResult ElseIf strMethodToVerify = "URL" Then strResult = tempIncidentItemObject.URL document.write "Other Object Return Check: " & strResult & "<BR>" VerifyChangeWithOtherObject = strResult ElseIf strMethodToVerify = "Status" Then strResult = tempIncidentItemObject.Status document.write "Other Object Return Check: " & strResult & "<BR>" VerifyChangeWithOtherObject = strResult Else document.write "<FONT color=red><STRONG>Error checking other object</STRONG></FONT> <BR>" End If 'Set tempChannelObject = nothing set tempChannelIncidents = nothing End Function Public Sub SetNewDisplayString(strSetNewDisplayString) document.write "Set New Display String Test<BR>" strOriginalDisplayString = incidentItemObject.DisplayString incidentItemObject.DisplayString = strSetNewDisplayString strNewReturnedDisplayString = incidentItemObject.DisplayString document.write "Original Returned String: " & strOriginalDisplayString & "<BR>" document.write "New String: " & strNewReturnedDisplayString & "<BR>" CheckDisplayStringResults strOriginalDisplayString, strNewReturnedDisplayString, strSetNewDisplayString document.write "<HR>" End Sub Public Sub CheckDisplayStringResults(strOriginalDisplayString, strNewReturnedDisplayString, strSetNewDisplayString) strMethodToVerify = "DisplayString" If strOriginalDisplayString = strNewReturnedDisplayString Then strDisplayStringDifferentResult = "<li>Display Returned String Different Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" Else strDisplayStringDifferentResult = "<li>Display Returned String Different Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" End If If strNewReturnedDisplayString = strSetNewDisplayString Then strDisplayStringMatchResult = "<li>Display Returned String Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strDisplayStringMatchResult = "<li>Display Returned String Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If If strNewReturnedDisplayString = VerifyChangeWithOtherObject(strMethodToVerify) Then strOtherObjectDisplayStringMatchResult = "<li>Display Other Object Check String Match Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strOtherObjectDisplayStringMatchResult = "<li>Display Other Object Check String Match Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If document.write strDisplayStringDifferentResult document.write strDisplayStringMatchResult document.write strOtherObjectDisplayStringMatchResult End Sub Public Sub sortAllIncidents() Err.Clear set channelIncidents = channelObject.Incidents(pchAllIncidents) If Err.Number = 0 Then If channelIncidents.Count > 0 Then ' This is where we start to sort Dim arrayCount Dim sortTemp ReDim sortTemp(channelIncidents.Count) arrayCount = 0 For Each oItem in channelIncidents set sortTemp(arrayCount) = oItem arrayCount = arrayCount + 1 Next 'Sort Here For arrayCount = o to channelIncidents.Count - 2 For arraySortCount = arrayCount + 1 to channelIncidents.Count - 1 If sortTemp(arrayCount).CreationTime < sortTemp(arraySortCount).CreationTime Then Dim additionalSortTemp Set additionalSortTemp = sortTemp(arrayCount) Set sortTemp(arrayCount) = sortTemp(arraySortCount) Set sortTemp(arraySortCount) = additionalSortTemp End If Next Next End If End If Err.Clear Set incidentItemObject = channelIncidents.Item(intIncidentIndexNumber) End Sub Public Sub CloseNewIncident(strReturnedNewIncidentURL) On Error Resume Next document.write "Close New Incident Test<BR>" channelObject.CloseIncident strReturnedNewIncidentURL If Err.number <> 0 Then strErrorDescription = Err.description intErrorNumber = Err.number ErrorHandler() End If strClosedTime = Now intNewOpenIncidentCount = GetOpenIncidentsCount() intNewClosedIncidentCount = GetClosedIncidentsCount() intNewAllIncidentCount = GetAllIncidentsCount() If intNewOpenIncidentCount = (intOriginalGetOpenIncidentsCount) Then strOpenIncidentCountResult = "<li>New Open Incident Count Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strOpenIncidentCountResult = "<li>New Open Incident Count Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If document.write strOpenIncidentCountResult If intNewClosedIncidentCount = (intOriginalGetClosedIncidentsCount + 1) Then strClosedIncidentCountResult = "<li>New Closed Incident Count Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strClosedIncidentCountResult = "<li>New Closed Incident Count Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If document.write strClosedIncidentCountResult If intNewAllIncidentCount = (intNewClosedIncidentCount + intNewOpenIncidentCount) Then strAllIncidentCountResult = "<li>New All Incident Count Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strAllIncidentCountResult = "<li>New All Incident Count Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If document.write strAllIncidentCountResult document.write "<HR>" End Sub Public Function RecordNewIncident(strNewIncidentURL, strNewIncidentDisplay) On Error Resume Next Err.Clear document.write "Record New Incident Test<BR>" channelObject.RecordIncident strNewIncidentDisplay, strNewIncidentURL If Err.number <> 0 Then strErrorDescription = Err.description intErrorNumber = Err.number ErrorHandler() End If strOpenedTime = Now intNewOpenIncidentCount = GetOpenIncidentsCount() intNewClosedIncidentCount = GetClosedIncidentsCount() intNewAllIncidentCount = GetAllIncidentsCount() If intNewOpenIncidentCount = (intOriginalGetOpenIncidentsCount + 1) Then strOpenIncidentCountResult = "<li>New Open Incident Count Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strOpenIncidentCountResult = "<li>New Open Incident Count Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If document.write strOpenIncidentCountResult If intNewClosedIncidentCount = (intOriginalGetClosedIncidentsCount + 1) Then strClosedIncidentCountResult = "<li>New Closed Incident Count Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" Else strClosedIncidentCountResult = "<li>New Closed Incident Count Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" End If document.write strClosedIncidentCountResult If intNewAllIncidentCount = (intOriginalGetAllIncidentsCount + 1) Then strAllIncidentCountResult = "<li>New All Incident Count Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strAllIncidentCountResult = "<li>New All Incident Count Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If document.write strAllIncidentCountResult RecordNewIncident = strNewIncidentURL document.write "<HR>" End Function Public Function GetClosedIncidentsCount() set channelIncidents = channelObject.Incidents(pchClosedIncidents) intClosedIncidentsCount = channelIncidents.Count document.write "Closed Incidents Count: " & intClosedIncidentsCount & "<BR>" GetClosedIncidentsCount = intClosedIncidentsCount End Function Public Function GetOpenIncidentsCount() set channelIncidents = channelObject.Incidents(pchOpenIncidents) intOpenIncidentsCount = channelIncidents.Count document.write "Open Incidents Count: " & intOpenIncidentsCount & "<BR>" GetOpenIncidentsCount = intOpenIncidentsCount End Function Public Function GetAllIncidentsCount() set channelIncidents = channelObject.Incidents(pchAllIncidents) intAllIncidentsCount = channelIncidents.Count document.write "All Incidents Count: " & intAllIncidentsCount & "<BR>" GetAllIncidentsCount = intAllIncidentsCount End Function Public Sub GetProductName() document.write "Get Product Name Test <BR>" strProductNameOut = channelObject.ProductName strRegProductName = shellObject.RegRead("HKLM\Software\Microsoft\PCHealth\HelpCenter\SAF\Channel\" & strVendorID & "\" & strProductID & "\Description") document.write "From Channel.ProductName: " & strProductNameOut & "<BR>" document.write "From Registry: " & strRegProductName & "<BR>" If strProductNameOut = strRegProductName Then strGetProductNameResult = "<li>GetProductName Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strGetProductNameResult = "<li>GetProductName Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If document.write strGetProductNameResult document.write "<HR>" End Sub Public Sub GetVendorName() document.write "Get Vendor Name Test <BR>" strVendorNameOut = channelObject.VendorName strRegVendorName = shellObject.RegRead("HKLM\Software\Microsoft\PCHealth\HelpCenter\SAF\Channel\" & strVendorID & "\CompanyName") document.write "From Channel.VendorName: " & strVendorNameOut & "<BR>" document.write "From Registry: " & strRegVendorName & "<BR>" If strVendorNameOut = strRegVendorName Then strGetVendorNameResult = "<li>GetVendorName Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strGetVendorNameResult = "<li>GetVendorName Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If document.write strGetVendorNameResult document.write "<HR>" End Sub Public Sub GetProductID() document.write "Get Product ID Test <BR>" strProductIDOut = channelObject.ProductID Document.Write "From Channel.ProductID: " & strProductIDOut & "<BR>" Document.Write "From Registry: " & strProductID & "<BR>" If strProductIDOut = strProductID Then strGetProductIDResult = "<li>GetProductID Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strGetProductIDResult = "<li>GetProductID Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If document.write strGetProductIDResult document.write "<HR>" End Sub Public Sub GetVendorID() document.write "Get Vendor ID Test <BR>" strVendorIdOut = channelObject.VendorID Document.Write "From Channel.VendorID: " & strVendorIdOut & "<BR>" Document.Write "Vendor ID: " & strVendorID & "<BR>" If strVendorIdOut = strVendorID Then strGetVendorIDResult = "<li>VendorID Test Result: <FONT color=green><STRONG>Pass</STRONG></FONT> <BR>" Else strGetVendorIDResult = "<li>VendorID Test Result: <FONT color=red><STRONG>Fail</STRONG></FONT> <BR>" End If Document.write strGetVendorIDResult document.write "<HR>" End Sub </Script> </HTML>