(file) Return to test_design.txt CVS log (file) (dir) Up to [RizwankCVS] / geekymedia_web / twiki / pub / WineDev / Group6

 1 rizwank 1.1 Wine Group 6 
 2             Conformance Test Design
 3             
 4                 We are writing our conformance test for the itss dll. This dll is used by HTML Help (HH) and 
 5             is one of four main files within the overall system. The others are hhctrl.ocx (an activex
 6             control that provides access to all the main HTML Help functions and services), itircl.dll,
 7             and hh.exe (used to open CHM files). Key features of HH include inserting help navigation and
 8             secondary windo functionality into an HTML file. HH also has an image editor/viewer as well
 9             as other features. HH files can be compiled into CHM format, which can then be opened within
10             the viewer program by clicking on the respective topic. Hh.exe is the program that is actually
11             run when a user clicks a help topic. 
12                 itss.dll itself is responsible for handling three protocols: its:, ms-its:, and mk:@MSITStore.
13             It also is used for compression and decompression of files, which is done through one of the 3
14             protocols mentioned, or using the IStorage interface. There is remarkably little information to be
15             found on exactly how the dll is used and its functions. But it appears there are 5 or 6 main entry 
16             points (functions) to the dll:
17              DllMain    -- BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv
18              DllGetClassObject -- HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
19              DllCanUnloadNow   -- HRESULT WINAPI DllCanUnloadNow(void
20              DllRegisterServer -- HRESULT WINAPI DllRegisterServer(void)
21              DllUnregisterServer
22 rizwank 1.1  ITSS_create     -- static HRESULT ITSS_create(IUnknown *pUnkOuter, LPVOID *ppObj)
23              
24             Looking at the wine source for itss, itss.c and itss.h, four of these functions are implemented,
25             while the DllRegisterServer function just a "fixme" and DllUnregisterServer does not exist at all.
26             I think the best way to go about testing the functionality of the dll will be to write a program that
27             utilizes the higher level components of the HTML Help system, which will in turn rely on itss.dll.
28             Specifically we might try creating HTML Help files and performing operations on them to test itss
29             functionality. 

Rizwan Kassim
Powered by
ViewCVS 0.9.2