xslt-benchmarking-xsltmark-ii's People
xslt-benchmarking-xsltmark-ii's Issues
Generate API documentation
Detect generated tests and do not generate them
DTD or XSD for params.xml
Check structure params.xml in XmlParamsDriver::__construct
web layout
Make web layout for generating tests, runnig tests and present results
Driver for each procesor
IDriverProcesor
::getInformation .. set exactli
::getCommand
Testing/SimpleTemplatingDriver
Make simple templating driver, witch only copy input template.
Params copy into ParamsDirivers, rename ParamsDrivers directory on Parmas
use own subnamespace?
Options - control conflict
Better DriverContainer
do not select driver in constructor => make only one instance of XXXContainer
Controlor
Control output of test to expected output.
Canonize before comparing
Testing/TestsGeneratpr/Generator.php::__construct() - root dir is dependent on place run.php
UnitTests
Using HttpPhpUnit
"php" and "java" for Linux in Libs
Templating copy into TemplatingDirivers, rename TemplatingDrivers directory on Templating
use onw subnamespace?
XmlGenerator.php ... by Drivers
RunnerConsole
Class for runnig benchmark form console:
- help
- generating tests by input values / params.xml
- runnig testing
- generate results
Rename couple.xml and add name of template
Add controls + tests for wrong params
It should be solved by DTD or XSD control in XmlMParamsDriver::__consrtuct
- unknown file/generate index
- ...
Options - following, prerequisites, ...
- make USAGE section in help and section in list of options
PhpTextTemplateTemplatingDriver
Add xml generators drivers
Download and use external XML genrators
Prams of test in file by DriverContainer
set as atribut of test setting in params file
(a) set name without extension
(b) set name with extension => by extension select driver
(c) both => default (without extension) is xml
Repare tests: mkdir()
Use recursiveli making direcotry by third parameter. ... make own function $this->mkdir($path)
Make own function for recursively deleting empty directory ... $this->rmdir($path)
Before generate tests check tests values
- Tests names colizion
- All value is defined
- ...
use SimpleXml for read params
SmartyGenerator -> nicer output
generate output with better indent
- try filtered in XMLSimple (DOMDocument)
- clean whitespace on place, where have no reason
Testing/TestsGenerator: expected output
Generated test should contains expected output for each XML input.
Processors - scripts
Download XSLT processors and make scripts for their runnig
RunnerHttp
Class for runnig benchmark form web. Like RunnerConsole.
Documentation
- Add complete theses XSLT Benchmarking
- Post API documentation on Web
- Complete README.markdown
index.php
Run RunnerConsole or RunnerHttp based on place of calling
Make instance of "$testsGenerator = new XSLTBenchmark\TestsGenerator\Generator('./TestsTemplates', './Tests', './Tmp');"
Make instance of "$testsRunner = new XSLTBenchmark\TestsRunner\Runner(????);"
Make instance of "$runner = new XSLTBenchmark\RunnerConsole\Runner($testsGenerator, $testsRunner);"
Call $runner->generateTests();
Call $runner->runTests();
...
Directory structure
- XSLTBenchmarking
- TestsGenerator
- RunnerConsole
- Exceptions.php
- DriversContainer.php
- index.php
- Libs
- Data
- TestsTemplates
- Tests
- Reports
- Tmp
- Tools
- README.markdovn
Own Exceptions
Namespace: XSLTBenchmark -> XSLTBenchmarking
Prams, Templating, XmlGenerator - register own drivers
As in PhpOptions fot types.
On create register default drivers.
Report: nice HTML generator from XML reports
- main HTML with table with reposts
- link into files with highliting (like PhpDocs)
- Error => link to show DIFF between expected output and generated output (=> into reports generate diff (separated dir) and copy XML files (separated dir))
use autoloader
LatteTemplatingDriver
Make templating driver based on Nette templating.
Aplicate DI for better testing
Testing/Templating.php: use drivers
Do not extend '\Smarty'. Use ITemplatingDriver.php
and make SmartyTemplatingDriver
.
In params.xml
set titch templating driver used.
Define setting of XSLT Benchmarking in ini/neon/xml file
Need for setting of file name with params (default __params.xml) for templates and tests
using "-c" or "--config":
php index.php -g -c "config.ini"
php index.php -r -c "config.ini"
php index.php -p -c "config.ini"
php index.php -g -r -p -c "config.ini"
for each test can be defuined name of file with params (this value is optional)
TestsGenerator - set name of file defined params of tests
set as atribut of test setting in params file
(a) set name without extension
(b) set name with extension => by extension select driver
(c) both => default (without extension) is xml
Reports: merger
Class for merging XML reports file together into one XML file
Testing/TestsGenerator: save (input + output) couples for each test in file
Independed on place of Libs
Generator will be expected path into needed libs direcotry
Each expected library set separately?
IniParamsDriver
Run processors that can "batch" process separately for test of batch process
Skeleton
Make runner of genereted tests and save reports to files.
Templating - smarty - detect errro (unknown variable) -> throw new exception
SimpleXmlGenerator - generate XML from array
Place in libs (make as project on GitHub?).
Make SimpleXmlGeneratorDriver
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.