This commit is contained in:
rpallath%eng.sun.com 2000-03-16 22:06:17 +00:00
Родитель 3d76294465
Коммит c6bfef23d2
17 изменённых файлов: 2029 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,18 @@
# The timeouts of test execution
DELAY=60
DELAY_OF_CYCLE=5
DELAY_INTERNAL=40
# The names of files for writing log and result by test
LOG_FILE=PlugletTest.log
RESULT_FILE=PlugletTest.res
#File separator (Used to specify PLUGLET property)
FSEP=/
# The root directory of the this pluglet API test suite
TEST_TOP_DIR=C:\sync
# The URL of directory where the htmls of tests are placed
# The path to this directory should be pointed in set_env.bat to be used
# during building
HTML_ROOT=file:/c:/sync/build/htroot

Просмотреть файл

@ -0,0 +1,348 @@
#
# SecurityTests.keys
#
# Configuration key values
#
#
# DeleteFileTest.java test properties
#
DeleteFileTest.mustPass=true
DeleteFileTest.FileName=foo
#
# GetClipboardTest.java test properties
#
GetClipboardTest.mustPass=true
#
# GetSysPropsTest.java test properties
#
GetSysPropsTest.mustPass=true
GetSysPropsTest.propertyName=path
#
# OpenWinTest.java test properties
#
OpenWinTest.mustPass=true
#
# PrintTest.java test properties
#
PrintTest.mustPass=true
#
# ReadFileTest.java test properties
#
ReadFileTest.mustPass=true
ReadFileTest.FileName=foo
#
# RemoteConnectTest.java test properties
#
RemoteConnectTest.mustPass=true
RemoteConnectTest.URL=http://sirius
#
# RunProgramTest.java test properties
#
RunProgramTest.mustPass=true
RunProgramTest.command=ls -l
#
# SecTestCanRead.java test properties
#
SecTestCanRead.mustPass=true
SecTestCanRead.fName=TestProperties
#
# SecTestCanWrite.java test properties
#
SecTestCanWrite.mustPass=true
#
# SecTestClipboard.java test properties
#
SecTestClipboard.mustPass=true
#
# SecTestDelete.java test properties
#
SecTestDelete.mustPass=true
#
# SecTestEnv.java test properties
#
SecTestEnv.mustPass=true
#
# SecTestExists.java test properties
#
SecTestExists.mustPass=true
#
# SecTestFileDescriptorIn.java test properties
#
SecTestFileDescriptorIn.mustPass=true
#
# SecTestFileDescriptorOut.java test properties
#
SecTestFileDescriptorOut.mustPass=true
#
# SecTestFileInputStream.java test properties
#
SecTestFileInputStream.mustPass=true
SecTestFileInputStream.fName=TestProperties
#
# SecTestFileOutputStream.java test properties
#
SecTestFileOutputStream.mustPass=true
#
# SecTestGetAbsolutePath.java test properties
#
SecTestGetAbsolutePath.mustPass=true
#
# SecTestGetCanonicalPath.java test properties
#
SecTestGetCanonicalPath.mustPass=true
#
# SecTestGetContent.java test properties
#
SecTestGetContent.mustPass=true
SecTestGetContent.fName=TestProperties
#
# SecTestGetParent.java test properties
#
SecTestGetParent.mustPass=true
#
# SecTestGetPath.java test properties
#
SecTestGetPath.mustPass=true
SecTestGetPath.fName=foo
#
# SecTestGetProps.java test properties
#
SecTestGetProps.mustPass=true
#
# SecTestGetSecMgr.java test properties
#
SecTestGetSecMgr.mustPass=true
#
# SecTestIsDirectory.java test properties
#
SecTestIsDirectory.mustPass=true
#
# SecTestIsFile.java test properties
#
SecTestIsFile.mustPass=true
#
# SecTestLastModified.java test properties
#
SecTestLastModified.mustPass=true
#
# SecTestLength.java test properties
#
SecTestLength.mustPass=true
#
# SecTestList.java test properties
#
SecTestList.mustPass=true
#
# SecTestListJSFilter.java test properties
#
SecTestListJSFilter.mustPass=true
#
# SecTestMkdir.java test properties
#
SecTestMkdir.mustPass=true
#
# SecTestMkdirs.java test properties
#
SecTestMkdirs.mustPass=true
#
# SecTestOpenConx.java test properties
#
SecTestOpenConx.mustPass=true
SecTestOpenConx.URL=http://sirius
#
# SecTestPrintStream.java test properties
#
SecTestPrintStream.mustPass=true
#
# SecTestRandomAccess.java test properties
#
SecTestRandomAccess.mustPass=true
#
# SecTestRandomAccessRW.java test properties
#
SecTestRandomAccessRW.mustPass=true
#
# SecTestRenameTo.java test properties
#
SecTestRenameTo.mustPass=true
#
# SecTestRunExec.java test properties
#
SecTestRunExec.mustPass=true
SecTestRunExec.fExec=ls -l
#
# SecTestRunExit.java test properties
#
SecTestRunExit.mustPass=true
#
# SecTestRunLoad.java test properties
#
SecTestRunLoad.mustPass=true
SecTestRunLoad.libName=java
# SecTestRunLoadLib.java test properties
#
SecTestRunLoadLib.mustPass=true
SecTestRunLoadLib.libName=plugletjni
#
# SecTestSetSecMgr.java test properties
#
SecTestSetSecMgr.mustPass=true
#
# SecTestSocket.java test properties
#
SecTestSocket.mustPass=true
SecTestSocket.fHost=sirius
SecTestSocket.fPort=80
#
# SecTestSysExit.java test properties
#
SecTestSysExit.mustPass=true
#
# SecTestURLFac.java test properties
#
SecTestURLFac.mustPass=true
#
# SecTestXAccept.java test properties
#
SecTestXAccept.mustPass=true
SecTestXAccept.fHost=sirius
SecTestXAccept.fPort=80
#
# SecTestXAccess.java test properties
#
SecTestXAccess.mustPass=true
#
# SecTestXAccessTG.java test properties
#
SecTestXAccessTG.mustPass=true
#
# SecTestXAccessTop.java test properties
#
SecTestXAccessTop.mustPass=true
#
# SecTestXCCL.java test properties
#
SecTestXCCL.mustPass=true
#
# SecTestXConn.java test properties
#
SecTestXConn.mustPass=true
SecTestXConn.fHost=sirius
SecTestXConn.fPort=80
#
# SecTestXDelete.java test properties
#
SecTestXDelete.mustPass=true
SecTestXDelete.fName=foo
#
# SecTestXExec.java test properties
#
SecTestXExec.mustPass=true
SecTestXExec.fExec=ls -l
#
# SecTestXExit.java test properties
#
SecTestXExit.mustPass=true
#
# SecTestXLink.java test properties
#
SecTestXLink.mustPass=true
SecTestXLink.fLink=sirius
#
# SecTestXListen.java test properties
#
SecTestXListen.mustPass=true
SecTestXListen.fPort=80
#
# SecTestXPakAcc.java test properties
#
SecTestXPakAcc.mustPass=true
SecTestXPakAcc.packageName=java.awt
#
# SecTestXPakDef.java test properties
#
SecTestXPakDef.mustPass=true
SecTestXPakDef.packageName=java.awt
#
# SecTestXPropAcc.java test properties
#
SecTestXPropAcc.mustPass=true
#
# SecTestXRead.java test properties
#
SecTestXRead.mustPass=true
SecTestXRead.fName=foo
#
# SecTestXSetFac.java test properties
#
SecTestXSetFac.mustPass=true
#
# SecTestXWrite.java test properties
#
SecTestXWrite.mustPass=true
SecTestXWrite.fName=foo
#
# WriteFileTest.java test properties
#
WriteFileTest.mustPass=true
WriteFileTest.FileName=foo

Просмотреть файл

@ -0,0 +1,351 @@
#
# SecurityTests.template
#
# This is a template file for the security tests properties.
#
#
# DeleteFileTest.java test properties
#
DeleteFileTest.mustPass=true
DeleteFileTest.FileName=foo
#
# GetClipboardTest.java test properties
#
GetClipboardTest.mustPass=true
#
# GetSysPropsTest.java test properties
#
GetSysPropsTest.mustPass=true
GetSysPropsTest.propertyName=path
#
# OpenWinTest.java test properties
#
OpenWinTest.mustPass=true
#
# PrintTest.java test properties
#
PrintTest.mustPass=true
#
# ReadFileTest.java test properties
#
ReadFileTest.mustPass=true
ReadFileTest.FileName=foo
#
# RemoteConnectTest.java test properties
#
RemoteConnectTest.mustPass=true
RemoteConnectTest.URL=http://sirius
#
# RunProgramTest.java test properties
#
RunProgramTest.mustPass=true
RunProgramTest.command=ls -l
#
# SecTestCanRead.java test properties
#
SecTestCanRead.mustPass=true
SecTestCanRead.fName=TestProperties
#
# SecTestCanWrite.java test properties
#
SecTestCanWrite.mustPass=true
#
# SecTestClipboard.java test properties
#
SecTestClipboard.mustPass=true
#
# SecTestDelete.java test properties
#
SecTestDelete.mustPass=true
#
# SecTestEnv.java test properties
#
SecTestEnv.mustPass=true
#
# SecTestExists.java test properties
#
SecTestExists.mustPass=true
#
# SecTestFileDescriptorIn.java test properties
#
SecTestFileDescriptorIn.mustPass=true
#
# SecTestFileDescriptorOut.java test properties
#
SecTestFileDescriptorOut.mustPass=true
#
# SecTestFileInputStream.java test properties
#
SecTestFileInputStream.mustPass=true
SecTestFileInputStream.fName=TestProperties
#
# SecTestFileOutputStream.java test properties
#
SecTestFileOutputStream.mustPass=true
#
# SecTestGetAbsolutePath.java test properties
#
SecTestGetAbsolutePath.mustPass=true
#
# SecTestGetCanonicalPath.java test properties
#
SecTestGetCanonicalPath.mustPass=true
#
# SecTestGetContent.java test properties
#
SecTestGetContent.mustPass=true
SecTestGetContent.fName=TestProperties
#
# SecTestGetParent.java test properties
#
SecTestGetParent.mustPass=true
#
# SecTestGetPath.java test properties
#
SecTestGetPath.mustPass=true
SecTestGetPath.fName=foo
#
# SecTestGetProps.java test properties
#
SecTestGetProps.mustPass=true
#
# SecTestGetSecMgr.java test properties
#
SecTestGetSecMgr.mustPass=true
#
# SecTestIsDirectory.java test properties
#
SecTestIsDirectory.mustPass=true
#
# SecTestIsFile.java test properties
#
SecTestIsFile.mustPass=true
#
# SecTestLastModified.java test properties
#
SecTestLastModified.mustPass=true
#
# SecTestLength.java test properties
#
SecTestLength.mustPass=true
#
# SecTestList.java test properties
#
SecTestList.mustPass=true
#
# SecTestListJSFilter.java test properties
#
SecTestListJSFilter.mustPass=true
#
# SecTestMkdir.java test properties
#
SecTestMkdir.mustPass=true
#
# SecTestMkdirs.java test properties
#
SecTestMkdirs.mustPass=true
#
# SecTestOpenConx.java test properties
#
SecTestOpenConx.mustPass=true
SecTestOpenConx.URL=http://sirius
#
# SecTestPrintStream.java test properties
#
SecTestPrintStream.mustPass=true
#
# SecTestRandomAccess.java test properties
#
SecTestRandomAccess.mustPass=true
#
# SecTestRandomAccessRW.java test properties
#
SecTestRandomAccessRW.mustPass=true
#
# SecTestRenameTo.java test properties
#
SecTestRenameTo.mustPass=true
#
# SecTestRunExec.java test properties
#
SecTestRunExec.mustPass=true
SecTestRunExec.fExec=ls -l
#
# SecTestRunExit.java test properties
#
SecTestRunExit.mustPass=true
#
# SecTestRunLoad.java test properties
#
SecTestRunLoad.mustPass=true
SecTestRunLoad.libName=java
#
# SecTestRunLoadLib.java test properties
#
SecTestRunLoadLib.mustPass=true
SecTestRunLoadLib.libName=plugletjni
#
# SecTestSetSecMgr.java test properties
#
SecTestSetSecMgr.mustPass=true
#
# SecTestSocket.java test properties
#
SecTestSocket.mustPass=true
SecTestSocket.fHost=sirius
SecTestSocket.fPort=80
#
# SecTestSysExit.java test properties
#
SecTestSysExit.mustPass=true
#
# SecTestURLFac.java test properties
#
SecTestURLFac.mustPass=true
#
# SecTestXAccept.java test properties
#
SecTestXAccept.mustPass=true
SecTestXAccept.fHost=sirius
SecTestXAccept.fPort=80
#
# SecTestXAccess.java test properties
#
SecTestXAccess.mustPass=true
#
# SecTestXAccessTG.java test properties
#
SecTestXAccessTG.mustPass=true
#
# SecTestXAccessTop.java test properties
#
SecTestXAccessTop.mustPass=true
#
# SecTestXCCL.java test properties
#
SecTestXCCL.mustPass=true
#
# SecTestXConn.java test properties
#
SecTestXConn.mustPass=true
SecTestXConn.fHost=sirius
SecTestXConn.fPort=80
#
# SecTestXDelete.java test properties
#
SecTestXDelete.mustPass=true
SecTestXDelete.fName=foo
#
# SecTestXExec.java test properties
#
SecTestXExec.mustPass=true
SecTestXExec.fExec=ls -l
#
# SecTestXExit.java test properties
#
SecTestXExit.mustPass=true
#
# SecTestXLink.java test properties
#
SecTestXLink.mustPass=true
SecTestXLink.fLink=sirius
#
# SecTestXListen.java test properties
#
SecTestXListen.mustPass=true
SecTestXListen.fPort=80
#
# SecTestXPakAcc.java test properties
#
SecTestXPakAcc.mustPass=true
SecTestXPakAcc.packageName=java.awt
#
# SecTestXPakDef.java test properties
#
SecTestXPakDef.mustPass=true
SecTestXPakDef.packageName=java.awt
#
# SecTestXPropAcc.java test properties
#
SecTestXPropAcc.mustPass=true
#
# SecTestXRead.java test properties
#
SecTestXRead.mustPass=true
SecTestXRead.fName=foo
#
# SecTestXSetFac.java test properties
#
SecTestXSetFac.mustPass=true
#
# SecTestXWrite.java test properties
#
SecTestXWrite.mustPass=true
SecTestXWrite.fName=foo
#
# WriteFileTest.java test properties
#
WriteFileTest.mustPass=true
WriteFileTest.FileName=foo

Просмотреть файл

@ -0,0 +1,351 @@
#
# SecurityTests.template
#
# This is a template file for the security tests properties.
#
#
# DeleteFileTest.java test properties
#
DeleteFileTest.mustPass=<DeleteFileTest.mustPass>
DeleteFileTest.FileName=<DeleteFileTest.FileName>
#
# GetClipboardTest.java test properties
#
GetClipboardTest.mustPass=<GetClipboardTest.mustPass>
#
# GetSysPropsTest.java test properties
#
GetSysPropsTest.mustPass=<GetSysPropsTest.mustPass>
GetSysPropsTest.propertyName=<GetSysPropsTest.propertyName>
#
# OpenWinTest.java test properties
#
OpenWinTest.mustPass=<OpenWinTest.mustPass>
#
# PrintTest.java test properties
#
PrintTest.mustPass=<PrintTest.mustPass>
#
# ReadFileTest.java test properties
#
ReadFileTest.mustPass=<ReadFileTest.mustPass>
ReadFileTest.FileName=<ReadFileTest.FileName>
#
# RemoteConnectTest.java test properties
#
RemoteConnectTest.mustPass=<RemoteConnectTest.mustPass>
RemoteConnectTest.URL=<RemoteConnectTest.URL>
#
# RunProgramTest.java test properties
#
RunProgramTest.mustPass=<RunProgramTest.mustPass>
RunProgramTest.command=<RunProgramTest.command>
#
# SecTestCanRead.java test properties
#
SecTestCanRead.mustPass=<SecTestCanRead.mustPass>
SecTestCanRead.fName=<SecTestCanRead.fName>
#
# SecTestCanWrite.java test properties
#
SecTestCanWrite.mustPass=<SecTestCanWrite.mustPass>
#
# SecTestClipboard.java test properties
#
SecTestClipboard.mustPass=<SecTestClipboard.mustPass>
#
# SecTestDelete.java test properties
#
SecTestDelete.mustPass=<SecTestDelete.mustPass>
#
# SecTestEnv.java test properties
#
SecTestEnv.mustPass=<SecTestEnv.mustPass>
#
# SecTestExists.java test properties
#
SecTestExists.mustPass=<SecTestExists.mustPass>
#
# SecTestFileDescriptorIn.java test properties
#
SecTestFileDescriptorIn.mustPass=<SecTestFileDescriptorIn.mustPass>
#
# SecTestFileDescriptorOut.java test properties
#
SecTestFileDescriptorOut.mustPass=<SecTestFileDescriptorOut.mustPass>
#
# SecTestFileInputStream.java test properties
#
SecTestFileInputStream.mustPass=<SecTestFileInputStream.mustPass>
SecTestFileInputStream.fName=<SecTestFileInputStream.fName>
#
# SecTestFileOutputStream.java test properties
#
SecTestFileOutputStream.mustPass=<SecTestFileOutputStream.mustPass>
#
# SecTestGetAbsolutePath.java test properties
#
SecTestGetAbsolutePath.mustPass=<SecTestGetAbsolutePath.mustPass>
#
# SecTestGetCanonicalPath.java test properties
#
SecTestGetCanonicalPath.mustPass=<SecTestGetCanonicalPath.mustPass>
#
# SecTestGetContent.java test properties
#
SecTestGetContent.mustPass=<SecTestGetContent.mustPass>
SecTestGetContent.fName=<SecTestGetContent.fName>
#
# SecTestGetParent.java test properties
#
SecTestGetParent.mustPass=<SecTestGetParent.mustPass>
#
# SecTestGetPath.java test properties
#
SecTestGetPath.mustPass=<SecTestGetPath.mustPass>
SecTestGetPath.fName=<SecTestGetPath.fName>
#
# SecTestGetProps.java test properties
#
SecTestGetProps.mustPass=<SecTestGetProps.mustPass>
#
# SecTestGetSecMgr.java test properties
#
SecTestGetSecMgr.mustPass=<SecTestGetSecMgr.mustPass>
#
# SecTestIsDirectory.java test properties
#
SecTestIsDirectory.mustPass=<SecTestIsDirectory.mustPass>
#
# SecTestIsFile.java test properties
#
SecTestIsFile.mustPass=<SecTestIsFile.mustPass>
#
# SecTestLastModified.java test properties
#
SecTestLastModified.mustPass=<SecTestLastModified.mustPass>
#
# SecTestLength.java test properties
#
SecTestLength.mustPass=<SecTestLength.mustPass>
#
# SecTestList.java test properties
#
SecTestList.mustPass=<SecTestList.mustPass>
#
# SecTestListJSFilter.java test properties
#
SecTestListJSFilter.mustPass=<SecTestListJSFilter.mustPass>
#
# SecTestMkdir.java test properties
#
SecTestMkdir.mustPass=<SecTestMkdir.mustPass>
#
# SecTestMkdirs.java test properties
#
SecTestMkdirs.mustPass=<SecTestMkdir.mustPass>
#
# SecTestOpenConx.java test properties
#
SecTestOpenConx.mustPass=<SecTestOpenConx.mustPass>
SecTestOpenConx.URL=<SecTestOpenConx.URL>
#
# SecTestPrintStream.java test properties
#
SecTestPrintStream.mustPass=<SecTestPrintStream.mustPass>
#
# SecTestRandomAccess.java test properties
#
SecTestRandomAccess.mustPass=<SecTestRandomAccess.mustPass>
#
# SecTestRandomAccessRW.java test properties
#
SecTestRandomAccessRW.mustPass=<SecTestRandomAccess.mustPass>
#
# SecTestRenameTo.java test properties
#
SecTestRenameTo.mustPass=<SecTestRenameTo.mustPass>
#
# SecTestRunExec.java test properties
#
SecTestRunExec.mustPass=<SecTestRunExec.mustPass>
SecTestRunExec.fExec=<SecTestRunExec.fExec>
#
# SecTestRunExit.java test properties
#
SecTestRunExit.mustPass=<SecTestRunExit.mustPass>
#
# SecTestRunLoad.java test properties
#
SecTestRunLoad.mustPass=<SecTestRunLoad.mustPass>
SecTestRunLoad.libName=<SecTestRunLoad.libName>
#
# SecTestRunLoadLib.java test properties
#
SecTestRunLoadLib.mustPass=<SecTestRunLoadLib.mustPass>
SecTestRunLoadLib.libName=<SecTestRunLoadLib.libName>
#
# SecTestSetSecMgr.java test properties
#
SecTestSetSecMgr.mustPass=<SecTestSetSecMgr.mustPass>
#
# SecTestSocket.java test properties
#
SecTestSocket.mustPass=<SecTestSocket.mustPass>
SecTestSocket.fHost=<SecTestSocket.fHost>
SecTestSocket.fPort=<SecTestSocket.fPort>
#
# SecTestSysExit.java test properties
#
SecTestSysExit.mustPass=<SecTestSysExit.mustPass>
#
# SecTestURLFac.java test properties
#
SecTestURLFac.mustPass=<SecTestURLFac.mustPass>
#
# SecTestXAccept.java test properties
#
SecTestXAccept.mustPass=<SecTestXAccept.mustPass>
SecTestXAccept.fHost=<SecTestXAccept.fHost>
SecTestXAccept.fPort=<SecTestXAccept.fPort>
#
# SecTestXAccess.java test properties
#
SecTestXAccess.mustPass=<SecTestXAccess.mustPass>
#
# SecTestXAccessTG.java test properties
#
SecTestXAccessTG.mustPass=<SecTestXAccess.mustPass>
#
# SecTestXAccessTop.java test properties
#
SecTestXAccessTop.mustPass=<SecTestXAccess.mustPass>
#
# SecTestXCCL.java test properties
#
SecTestXCCL.mustPass=<SecTestXCCL.mustPass>
#
# SecTestXConn.java test properties
#
SecTestXConn.mustPass=<SecTestXConn.mustPass>
SecTestXConn.fHost=<SecTestXConn.fHost>
SecTestXConn.fPort=<SecTestXConn.fPort>
#
# SecTestXDelete.java test properties
#
SecTestXDelete.mustPass=<SecTestXDelete.mustPass>
SecTestXDelete.fName=<SecTestXDelete.fName>
#
# SecTestXExec.java test properties
#
SecTestXExec.mustPass=<SecTestXExec.mustPass>
SecTestXExec.fExec=<SecTestXExec.fExec>
#
# SecTestXExit.java test properties
#
SecTestXExit.mustPass=<SecTestXExit.mustPass>
#
# SecTestXLink.java test properties
#
SecTestXLink.mustPass=<SecTestXLink.mustPass>
SecTestXLink.fLink=<SecTestXLink.fLink>
#
# SecTestXListen.java test properties
#
SecTestXListen.mustPass=<SecTestXListen.mustPass>
SecTestXListen.fPort=<SecTestXListen.fPort>
#
# SecTestXPakAcc.java test properties
#
SecTestXPakAcc.mustPass=<SecTestXPakAcc.mustPass>
SecTestXPakAcc.packageName=<SecTestXPakAcc.packageName>
#
# SecTestXPakDef.java test properties
#
SecTestXPakDef.mustPass=<SecTestXPakDef.mustPass>
SecTestXPakDef.packageName=<SecTestXPakDef.packageName>
#
# SecTestXPropAcc.java test properties
#
SecTestXPropAcc.mustPass=<SecTestXPropAcc.mustPass>
#
# SecTestXRead.java test properties
#
SecTestXRead.mustPass=<SecTestXRead.mustPass>
SecTestXRead.fName=<SecTestXRead.fName>
#
# SecTestXSetFac.java test properties
#
SecTestXSetFac.mustPass=<SecTestXSetFac.mustPass>
#
# SecTestXWrite.java test properties
#
SecTestXWrite.mustPass=<SecTestXWrite.mustPass>
SecTestXWrite.fName=<SecTestXWrite.fName>
#
# WriteFileTest.java test properties
#
WriteFileTest.mustPass=<WriteFileTest.mustPass>
WriteFileTest.FileName=<WriteFileTest.FileName>

Просмотреть файл

@ -0,0 +1,4 @@
# The directory where html files of tests should be placed
# The URL of this directory should be pointed in HTML_ROOT
set HTML_ROOT_DIR=h:\apache\share\htdocs\pl_tests

Просмотреть файл

@ -0,0 +1,54 @@
<html>
<head>
<title>Pluglet API automated tests</title>
</head>
<body bgcolor=white>
<center><H1>Pluglet API automated tests</H1></center>
<H2>Table of contents.</H2>
<pre>
- <a href=test_draft.html>Preliminary specification</a>
- <a href=#build>How to build</A>
- <a href=#run>How to run</A>
Documentation on test cases:
- <a href=api/index.html>Browser side api tests </a>
- <a href=scenario/scenario.html>Scenario tests </a>
- <a href=security/index.html>Security tests </a>
- <a href=params/params.html>Tests on passed in client side api parameters </a>
- <a href=returns/returns.html>Tests on return values from client side api </a>
<!-- - <a href= >Tests on calling browser side api from different threads </a>
- <a href= > </a> -->
<A name=build>How to build.
- setup environment for mozilla building and running
- goto config directory and fill
CommonProperties and set_env.bat files.
(or set_env.sh in case of Unix build)
- run the config/set_env.bat file
(or source set_env.sh in case of Unix build)
- goto src/org/mozilla/pluglet/test/basic/ directory
and make with makefile in this directory
<A name=run>How to run.
There is autorun.pl script to run test cases and BWTest.lst.ORIG
with list of all test cases in src/org/mozilla/pluglet/test/basic/
directory.
To run all test cases in BWTest.lst.ORIG:
<B>perl autorun.pl</B>
It is possible to list required test cases in another file:
<B>perl autorun.pl -f <i>file_with_sub_list</i></B>
To run single test case:
<B>perl autorun.pl -t <i>test_case</i></B>
</pre>
</html>

Просмотреть файл

@ -0,0 +1,438 @@
<html>
<head>
<title>
Browser side pluglet API arguments partitioning.
</title>
</head>
<body bgcolor=white>
<B>Table of contents</B>
<OL>
<LI><A href=#intro>Introduction</A>
<LI><A href=#PM>PlugletManager interface</A>
<LI><A href=#PP>PlugletPeer interface</A>
<LI><A href=#PSI>PlugletStreamInfo interface</A>
<LI><A href=#PTI>PlugletTagInfo</A>
<LI><A href=#PTI2>PlugletTagInfo2</A>
</OL>
<A name=intro>
Below the description of equivalence class partitioning of the browser side pluglet API.<br>
This partitioning is based on:
<UL>
<LI> common partitioning for parameter of given type <BR>
(for example &lt;for_string&gt;: null, 0 length, some arbitrary string)
<LI>partitioning from point of view of functional sense of this parameter <BR>
(for example &lt;for_target&gt;: &lt;for_string&gt;, "_self", "_parent", "_top", "_blank",
non-existing and existing named target)
</UL>
Some commom set of parameters:
<table border=1 bgcolor=#99E2EF>
<tr><td>&lt;for_int&gt;</td><td> 0, (+-)MAX, some arbitrary value</td></tr>
<tr><td>&lt;for_boolean&gt;</td><td> true, false</td></tr>
<tr><td>&lt;for_string&gt;</td><td>null, non-null with 0 length, some arbitrary string</td></tr>
<tr><td>&lt;for_target&gt;</td><td> &lt;for_string&gt;, "_self", "_parent", "_top", "_blank", non-existing and
existing named target</td></tr>
</table>
<pre>
Comment: <I>
- for PlugletManager.getURL and especially for PlugletManager.postURL the number of
possible combinations of parameters is very big, so the combinations with more than
2 for getURL and 1 for postURL "incorrect" parameters will not be tested.
- for methods with non-void return values should be modelled situations such that expected
return values cover all significant classes from specified set of return values (
for example for PlugletInstancePeer.getMode specified set of return values consist of
only two values indicated embedded pluglet or full-page ( not of whole set of int values))
- values of arguments for each test you can find in the ParamCombinations file in test dir
</I>
</pre>
<a name=PM>
<table BORDER=1 COLS=3 WIDTH=100% bgcolor=#99E2EF><!--#66FFFF-->
<tr><td COLSPAN=3 align=center bgcolor=#58B5EF>Interface PlugletManager</td></tr>
<tr>
<td width=10% align=center>
Method
</td>
<td width=20% align=center>
Arguments
</td>
<td align=center>
Values
</td>
</tr>
<tr>
<td ROWSPAN=7 width=10% align=center>public void getURL<!--(<BR>PlugletInstance plugletInst,<BR>
URL url,<BR> String target,<BR>
PlugletStreamListener streamListener,<BR>
String altHost,<BR> URL referrer,<BR>
boolean forceJSEnabled);</td>-->
<td width=20%>PlugletInstance plugletInst</td>
<td>null, this and other instance (when method is called inside the pluglet instance)</td>
</tr>
<tr>
<td>URL url</td>
<td>null, http, javascript, ftp, file(win32 & unix), gopher, news
</td>
</tr>
<tr>
<td>String target
</td>
<td>&lt;for_target&gt;
</td>
</tr>
<tr>
<td>PlugletStreamListener streamListener
</td>
<td>null, new listener and used
</td>
</tr>
<tr>
<td>String altHost
</td>
<td>null, the same as in url, other than in url, bad string(not ip address)
</td>
</tr>
<tr>
<td>URL refferer
</td>
<td>null, the url of this page - cases of http, javascript, ftp, file(although in
last 3 cases there is not refferer)
</td>
</tr>
<tr>
<td>boolean forceJSEnabled
</td>
<td>&lt;for_boolean&gt;
</td>
</tr>
<tr>
<td ROWSPAN=12 width=10% align=center>public void postURL<!--(<BR>
PlugletInstance plugletInst,<BR>
URL url,<BR>
int postDataLen, <BR>
byte[] postData,<BR>
boolean isFile,<BR>
String target,<BR>
PlugletStreamListener streamListener,<BR>
String altHost, <BR>
URL referrer,<BR>
boolean forceJSEnabled,<BR>
int postHeadersLength, <BR>
byte[] postHeaders);</td><BR>-->
<td>PlugletInstance plugletInst</td>
<td>null, this and other instance (when method is called inside the pluglet instance)</td>
</tr>
<tr>
<td>URL url
</td>
<td>null, http, javascript, ftp, file(win32 & unix), news, mailto
</td>
</tr>
<tr>
<td>int postDataLen
</td>
<td>&lt;for_int&gt;, equal to actual length, less and great
</td>
</tr>
<tr>
<td>byte[] postData
</td>
<td>null, 0 byte array, random array fulfiled and not, syntactically
correct path + name of existing file and non-existent, also syntactically incorrect path
</td>
</tr>
<tr>
<td>boolean isFile
</td>
<td>&lt;for_boolean&gt;
</td>
</tr>
<tr>
<td>String target
</td>
<td>&lt;for_target&gt;
</td>
</tr>
<tr>
<td>PlugletStreamListener streamListener
</td>
<td>null, new listener and used
</td>
</tr>
<tr>
<td>String altHost
</td>
<td>null, the same as in url, other than in url, bad string(not ip address)
</td>
</tr>
<tr>
<td>URL referrer
</td>
<td>null, the url of this page - cases of http, javascript, ftp, file(although in
last 3 cases there is not refferer)
</td>
</tr>
<tr>
<td>boolean forceJSEnabled
</td>
<td>&lt;for_boolean&gt;
</td>
</tr>
<tr>
<td>int postHeadersLength
</td>
<td>&lt;for_int&gt;, equal to actual length, less and great
</td>
</tr>
<tr>
<td>byte[] postHeaders
</td>
<td>postHeaders
null, 0 byte array, correctly formed headers (fulfiled array and not) and not
</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public void reloadPluglets
</td>
<td>boolean reloadPages</td>
<td>&lt;for_boolean&gt;</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public String userAgent</td>
<td>none</td>
<td>none</td>
</tr>
</table>
<A name=PP>
<table BORDER=1 COLS=3 WIDTH=100% bgcolor=#99E2EF>
<tr><td COLSPAN=3 align=center bgcolor=#58B5EF>Interface PlugletPeer</td></tr>
<tr>
<td width=10% align=center>
Method
</td>
<td width=20% align=center>
Arguments
</td>
<td align=center>
Values
</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public String getMIMEType</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public int getMode</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public PlugletTagInfo getTagInfo</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public String getValue</td>
<td>int variable</td>
<td>&lt;for_int&gt;, PlugletInstancePeer.NETSCAPE_WINDOW, PlugletManager.APPCONTEXT,
PlugletManager.DISPLAY</td>
</tr>
<tr>
<td ROWSPAN=2 width=10% align=center>public OutputStream newStream</td>
<td>String type</td>
<td>&lt;for_string&gt;, text/html, text/plain, image/gif, application/x-java-vm, incorrectly formed</td>
</tr>
<tr>
<td>String target
</td>
<td>&lt;for_target&gt;
</td>
</tr>
<tr>
<td ROWSPAN=2 width=10% align=center>public void setWindowSize</td>
<td>int width</td>
<td>&lt;for_int&gt;</td>
</tr>
<tr>
<td>int height
</td>
<td>&lt;for_int&gt;
</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public void showStatus</td>
<td>String message</td>
<td>&lt;for_string&gt;</td>
</tr>
</table>
<A name=PSI>
<table BORDER=1 COLS=3 WIDTH=100% bgcolor=#99E2EF>
<tr><td COLSPAN=3 align=center bgcolor=#58B5EF>Interface PlugletStreamInfo</td></tr>
<tr>
<td width=10% align=center>
Method
</td>
<td width=20% align=center>
Arguments
</td>
<td align=center>
Values
</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public String getContentType</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public int getLastModified</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public int getLength</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public String getURL</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public boolean isSeekable</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public void requestRead</td>
<td>ByteRanges ranges</td>
<td>null, non-null object with 0 ranges, with 1 range for each combination: &lt;for_int&gt; x &lt;for_int&gt;, with more than 1 range</td>
</tr>
</table>
<A name=PTI>
<table BORDER=1 COLS=3 WIDTH=100% bgcolor=#99E2EF>
<tr><td COLSPAN=3 align=center bgcolor=#58B5EF>Interface PlugletTagInfo</td></tr>
<tr>
<td width=10% align=center>
Method
</td>
<td width=20% align=center>
Arguments
</td>
<td align=center>
Values
</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public String getAttribute</td>
<td>String name</td>
<td>&lt;for_string&gt;, existing attribute name</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public Properties getAttributes</td>
<td>none</td>
<td>none</td>
</tr>
</table>
<A name=PTI2>
<table BORDER=1 COLS=3 WIDTH=100% bgcolor=#99E2EF>
<tr><td COLSPAN=3 align=center bgcolor=#58B5EF>Interface PlugletTagInfo2</td></tr>
<tr>
<td width=10% align=center>
Method
</td>
<td width=20% align=center>
Arguments
</td>
<td align=center>
Values
</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public String getAlignment</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public String getAttribute</td>
<td>String name</td>
<td>&lt;for_string&gt;, existing attribute name</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public Properties getAttributes</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public int getBorderHorizSpace</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public int getBorderVertSpace</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public String getDocumentBase</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public String getDocumentEncoding</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public int getHeight</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public String getParameter</td>
<td>String name</td>
<td>&lt;for_string&gt;, existing parameter name</td></td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public Properties getParameters</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public String getTagText</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public String getTagType</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public int getUniqueID</td>
<td>none</td>
<td>none</td>
</tr>
<tr>
<td ROWSPAN=1 width=10% align=center>public int getWidth</td>
<td>none</td>
<td>none</td>
</tr>
</table>
</body>
</html>

Просмотреть файл

@ -0,0 +1,14 @@
<html>
<head>
<title>
Pluglets Test Plan
</title>
</head>
<body bgcolor=white>
<H1>Pluglet Tests:</H1>
<UL>
<LI><A href=manual.html>Manual Pluglet's tests</A>
<LI><A href=automated.html>Automated Pluglet's tests</A>
</UL>
</body>
</html>

Просмотреть файл

@ -0,0 +1,96 @@
<html>
<body bgcolor=white>
<center><H1>Manual Pluglets tests</H1></center>
At start of your Pluglet test cycle you should verify that Pluglets are permitted to run,
correctly loaded and rendered.<BR>
<OL>
<LI>Follow to <A href="http://www.mozilla.org/projects/blackwood/java-plugins/">instructions</A>
and install Java Plugins.
<LI>Build the <A href=http://lxr.mozilla.org/mozilla/source/java/plugins/test>TestPluglet</A>
<LI>Build the <A href="http://www.mozilla.org/projects/blackwood/java-plugins/#Demos">Pluglet demos</A>.
<LI>Put JAR archieves with test pluglet and demos to the directory on your filesystem and point
<B>PLUGLET</B> variable to this dir.
<LI>Performs steps from following table for verify Pluglets behaviour.
<table border=1 BGCOLOR=white CELLPADDING=10>
<tr>
<td>
Test Pluglet
<OL>
<LI>Load HTML document with <A href=http://lxr.mozilla.org/mozilla/source/java/plugins/test/test.html>TestPluglet</A>
</OL>
</td>
<td width=10%>
<UL>
<LI>Verify that pluglet loaded and window with List rendered.
<LI>Load any other <A href=http://www.mozilla.org>page</A>, make <B>Back</B> and verify that
pluglet rendered against.
</UL>
</td>
</tr>
<tr>
<td>
MediaPlayer
<OL>
<LI>Follow to instruction from MediaPlayer <A href=http://lxr.mozilla.org/mozilla/source/java/plugins/examples/MediaPlayer/README>README</A>
to correct media player installation.
<LI>Load <B>play.html</B> from place, where your MediaPlayer example installed.
</OL>
</td>
<td>
<UL>
<LI>Verify that player correctly loaded and works.
</UL>
</td>
</tr>
<tr>
<td>
PDF Viewer
<OL>
<LI>Follow to instruction from PDF Viewer <A href=http://lxr.mozilla.org/mozilla/source/java/plugins/examples/pdf/README>README</A>
to correct viewer installation.
<LI>Load <B>pdf.html</B> from place, where your PDF Viewer example installed.
</OL>
</td>
<td>
<UL>
<LI>Verify that viewer correctly loaded and works.
</UL>
</td>
</tr>
<tr>
<td>
RTF Viewer
<OL>
<LI>Load HTML document with <A href=http://lxr.mozilla.org/mozilla/source/java/plugins/examples/rtf/view.html>RTF Viewer</A>
</OL>
</td>
<td>
<UL>
<LI>Verify that example correctly displayed RTF Viewer <A href=http://lxr.mozilla.org/mozilla/source/java/plugins/examples/rtf/README>README</A>.
</UL>
</td>
</tr>
<tr>
<td>
ZIP Viewer
<OL>
<LI>Follow to instruction from ZIP Viewer <A href=http://lxr.mozilla.org/mozilla/source/java/plugins/examples/zip/README>README</A>
to correct viewer installation.
<LI>Load <B>zip.html</B> from place, where your ZIP Viewer example installed.
</OL>
</td>
<td>
<UL>
<LI>Verify that viewer correctly loaded and works.(Contents of ZipView.jar should be shown)
</UL>
</td>
</tr>
</table>
</OL>
</body>
</html>

Просмотреть файл

@ -0,0 +1,44 @@
<html>
<head>
<title>
Runtime scenario of calling of
pluglet side API methods:
</title>
</head>
<body bgcolor=white>
<pre>
Basic template of runtime scenario of calling of
pluglet side API methods:
context:Pluglet
Pluglet.initialize()
Pluglet.createPlugletInstance()
new context: PlugletInstance
PlugletInstance.initialize()
PlugletInstance.start()
PlugletInstance.newStream()
new context:PlugletStreamListener
PlugletStreamListener.onStartBinding()
PlugletStreamListener.onDataAvailable()
PlugletStreamListener.onFileAvailable()
PlugletStreamListener.onStopBinding()
PlugletInstance.stop()
PlugletInstance.destroy()
Pluglet.shutdown()
</pre>
</body>

Просмотреть файл

@ -0,0 +1,108 @@
<HTML>
<TITLE>Draft Pluglet API test design</TITLE>
<BODY bgcolor=white>
<H1>Pluglet API tests specification.</H1>
<PRE>
<B>Subject:</B>
The subject of testing is <a href=http://www.mozilla.org/projects/blackwood/java-plugins/api/> Pluglet API </a>
<B>Goals:</B>
Goals of testing - to detect errors in pluglet api
implementation and in functioning of this api in mozilla.
This API is divided on two part:
- called by browser (latter called <B>Pluglet side API</B>)
- called by pluglet (latter called <B>Browser side API</B>).
Basic <A href=sequence.html>template</A> of runtime scenario of calling of
<B>Pluglet side API</B> methods.
Scenario variations:
- basic straight scenario - without and with calls caused
by data to be loaded for pluglet
- behaviour of the same pluglet instance in case of back-forward
- re-creating pluglet instance after reload
The different pluglets display types:
- embedded
- embedded hidden
- full page pluglets
Additional situations:
- incorrect environment (for example PLUGLET)
- absence of pluglet
- incomplete pluglet (for example without instance class)
<I>Comment: in these cases (1-3) we need to ensure that mozilla doesn't fall</I>
- different pluglets having pluglet instances (or other classes)
with equal names
- finding and loading pluglets based on mime type of data and
handled mime types of pluglet
Security issues:
- based on fact that the pluglets are run in java environment
the tests should check the correspondence of actual runtime
constrains to specified constrains.
So, the sets of tests to develop:
1. scenario tests for each combinations of scenario variations and pluglet display type
The sequence of calls of pluglet side API methods should be corresponding to
situation (in correct order, without lacks and additional non-specified calls)
2. the tests of correctnesses of passed in values and objects in situations of
different scenario and pluglet display type
3. returning (for cases when non-void return value is specified) by pluglet side api different values
from set of expected values, boundary and non-correct values (from point of
view of functional sense of return value)
4. the tests of <B>Browser side API</B>
(passed in objects (for example PlugletManager) as well as
objects by request (for example PlugletTagInfo))
- the passing in different <a href=equiv_classes.html>sets of parameters</a>, including
boundary and non-correct values(from point of view of functional sense of parameters)
- checking that correct values are returned (if applicable)
- checking that correct action are performed (if applicable)
5. the tests for non-falled (and/or correct) behaviour for "additional" situations
6. the more typical subset of 1,2,3 tests in cases of more than one pluglet
instance (in parallel ( on the same page) as well as in sequence (pluglet on the next page))
7. the more typical subset of api tests in multithreading mode - calling the browser side
api methods simultaneously from different threads
8. security tests
Test space organization:
- The src, build, config, util, log and doc directories.
- All necessary files should be compiled or copied into the build directory.
- All common perl scripts should be placed in the util directory
- Recursive organization of makefiles.
- The top-level makefile is placed to src/org/mozilla/pluglet/test/basic
- Top package for all test classes is org.mozilla.pluglet.tests.basic
- The suffixes are like to
.scenario
.security
.security.automated
.returns
.params
.api
- Every test is like to consist of necessary java files, html file to cause
pluglet instantiation, test properties file - needed settings
for test if they are different from common settings (as example $DELAY for stress
tests or <B>$PLUGLET</B> for testing incorrect value of this one
may differ from common settings) and test parameters file - the parameters that identify
concrete test case in set of tests with the same structure.
- Perl script <B>autorun.pl</B> is used to invoke automated test cases
and to record their results
</PRE>
</HTML>

Просмотреть файл

Просмотреть файл

@ -0,0 +1,85 @@
#!/bin/perl
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Sun Microsystems,
# Inc. Portions created by Sun are
# Copyright (C) 1999 Sun Microsystems, Inc. All
# Rights Reserved.
#
# Contributor(s):
###################################################################
#
# configurator.pl - properties configuration utility
#
# see configurator.readme for details
#
# Global variables
$infile = @ARGV[0];
$outfile = @ARGV[1];
$template = @ARGV[2];
if( $#ARGV < 2) {
printf "Usage: perl configurator.pl infile outfile template\n";
printf "See configurator.readme for details.\n";
exit 0;
};
open( in, $infile )
or die( join '', "Can't open", $infile, " for reading. So bye\n" );
open( out, join '',">",$outfile )
or die( join '', "Can't open", $outfile, " for writing. So bye\n" );
open( temple, $template )
or die( join '', "Can't open template file ",$template," for reading. So bye.\n" );
# Now we will read out all the template file lines into the array.
@storage = <temple>;
while( $l = <in> ) {
# Sign '=' was found and a line isn't a comment
if( ($l !=~ /#/) && ($l =~ /=/) ) {
chop $l;
$l=~s/\r|\n//g;
# avoid linebreaks
@list = split '=',$l;
# Now opening template file
$keyvalue = @list[1];
$keyname = @list[0];
# Now search for keyname and replace it with the actual value.
$pattern = join '', "<",$keyname,">";
for( $i=0; $i<= $#storage; $i++ ) {
$line = @storage[$i];
if( $line =~ /$pattern/ ) {
$line=~s/$pattern/$keyvalue/g;
$storage[$i] = $line;
} # if
} # for
} # if
} # while
# end-of-search
# preparing the output file
for( $i=0; $i <= $#storage; $i++ ) {
printf out $storage[$i];
}
# job was done

Просмотреть файл

@ -0,0 +1,85 @@
configurator.pl readme file
---------------------------------------------------------
1. About
This utility is necessary for test building. Each
test in suite has each own number of properties.
It is also necessary to the end-user to configurate
properties correct, because of different platforms
test is running under and different situation test
suite must be used.
2. Usage
perl conigurator.pl infile outfile templatefile
infile:
the input file with the key valies. For more
details see "File format section"
outfile:
the output file, that generates from template
and input file. For more details see "File
format section"
template:
the template file, that describes the format
of output file. For more details see "File
format section"
3. File format.
3.1 Input file
The input file format seems to be very easy.
"#" sign in the beginning means comment, empty
lines are ignored. The key features described
as this :
KeyName = KeyValue
generator utility searches for such a strings
and inserts Key values into the key names fields
as it describes in the template section.
3.2 Template file
The template file is a simple file, that uses
signs as following to insert the key values
into the text. Here comes the example.
- Example 1
See some text is goes and Oo-<here>-oO we will insert
the "here" key value, that goes from the input file
-
So, generator will search the string in the input
file like this :
- Example 2
# "Here" key
here = my own value
-
The output will be like this :
- Example 3
See some text is goes and Oo- my own value -oO we
will insert the "here" key value, that goes from the
input file
-
4. FAQ
TBD

Просмотреть файл

@ -0,0 +1,8 @@
#
# example.input
#
# This file shows, how you can use the input key values
#
key1= somebody@mail.1
key2= noone@mail.2
key3= anonymous@mail.3 (# This does not seems to be a comment)

Просмотреть файл

@ -0,0 +1,12 @@
#
# example.template
#
# This file shows, how you can use the
# template values.
#
Welcome to the template. You can send a dummy mail to the
one man : somebody@mail.1. If you does like this example you can
send the email to noone@mail.2, anonymous@mail.3 (# This does not seems to be a comment) . Note, that all these
email addresses are in space - there's no such a domains.

Просмотреть файл

@ -0,0 +1,13 @@
#
# example.template
#
# This file shows, how you can use the
# template values.
#
Welcome to the template. You can send a dummy mail to the
one man : <key1>. If you does like this example you can
send the email to <key2>, <key3> . Note, that all these
email addresses are in space - there's no such a domains.
Thank you.