TestEmbed is a C++ test app based upon MfcEmbed to test Embedding APIs.
It contains tests developed by Embedding QA including the set of methods
and attributes for such interfaces as nsIWebNavigation, nsISHistory,
nsIGlobalHistory, nsIWebProgressListener, nsIClipboardCommands, and
nsIRequest (in progress). Individual tests for nsIFile and nsIProfile
are also included. Other tests will be added as well.
The menu structure is set up this way: "Tests", which include individual
API tests (e.g. turning on a listener, changing a URL), "Interfaces"
which handle the set of methods for each interface, "Tools" which can be
useful for certain tests (e.g. removing all global history entries),
"Verified Bugs" which will be helpful to regress fixed bugs to spot any
breakage, and "Clipboard Commands", a set of tests for that interface
but also useful for other tasks like copy/paste text from the page.
In addition to the individual API tests, contained in Tests.cpp, there
are also some task methods useful to qa: logging to an output file,
formatting text, returning a request name. These are contained in
QAUtils.cpp.
There is a readme.txt briefly describing the app design, how it works,
and including build instructions. The app should be built from the dos
command line:
> cd ../mozilla/embedding/qa/testembed/
> nmake -f makefile.win // compile the app
> cd ../../../dist/WIN32_D.OBJ/bin
> testembed.exe
// run the app
Output from test execution is posted to a logfile located in C:/Temp.
It's called "TestOutput.txt".
Thanks to Chak for his help with getting this developed. This tool has
been useful for qa test development, isolating bugs, and tracking
listener callbacks.
- David Epstein
Embedding QA