Config (Edge\QA\Config)
- ✓ Load default config
- ✓ Build absolute path
- ✓ Override default config
- ✓ Allow partial update of tools
- ✓ Ignore non existent user config
- ✓ No exception when cwd has no config
- ✓ Throw exception when file does not exist
- ✓ Config csv string
- ✓ Use cwd if no directory is specified
- ✓ Ignore invalid binary does not exist
- ✓ Tool and binary name might not match
- ❌ Multiple config
- ✓ Autodetect config in current directory
- ✓ Ignore autodetected config if user config is specified
- ✓ Normalize version with data set "full semver"
- ✓ Normalize version with data set "minor release"
- ✓ Normalize version with data set "major release"
- ✓ Cli version with data set "semver at the end"
- ✓ Cli version with data set "semver at the start"
- ✓ Cli version with data set "semver at 2nd line"
- ✓ Cli version with data set "custom format"
- ✓ Cli version with data set "no space"
- ✓ Cli version with data set "dev version"
- ✓ Cli version with data set "prefer semver (semver + dev)"
- ✓ Cli version with data set "prefer semver (dev + semver)"
- ✓ Cli version with data set "no version"
- ✓ Compare versions with data set "no version"
- ✓ Compare versions with data set "is lower?"
- ✓ Compare versions with data set "is greater than dev version"
- ✓ Compare versions with data set "semver is greater than"
- ✓ Compare versions with data set "dev version is greater than"
Ignored Paths (Edge\QA\IgnoredPaths)
- ✓ No option when nothing is ignored with data set #0
- ✓ No option when nothing is ignored with data set #1
- ✓ No option when nothing is ignored with data set #2
- ✓ No option when nothing is ignored with data set "pdepend + windows"
- ✓ No option when nothing is ignored with data set "phpmd + windows"
- ✓ No option when nothing is ignored with data set #3
- ✓ No option when nothing is ignored with data set #4
- ✓ No option when nothing is ignored with data set #5
- ✓ No option when nothing is ignored with data set #6
- ✓ No option when nothing is ignored with data set #7
- ✓ Ignore directories and files with data set #0
- ✓ Ignore directories and files with data set #1
- ✓ Ignore directories and files with data set #2
- ✓ Ignore directories and files with data set "pdepend + windows"
- ✓ Ignore directories and files with data set "phpmd + windows"
- ✓ Ignore directories and files with data set #3
- ✓ Ignore directories and files with data set #4
- ✓ Ignore directories and files with data set #5
- ✓ Ignore directories and files with data set #6
- ✓ Ignore directories and files with data set #7
Options (Edge\QA\Options)
- ✓ Escape paths
- ✓ Respect tools order defined in option
- ✓ Ignore pdepend in cli output
- ✓ Is suggested tool installed with data set "internal class is available"
- ✓ Is suggested tool installed with data set "at least one internal class is available"
- ✓ Is suggested tool installed with data set "dependency is available"
- ✓ Is suggested tool installed with data set "dependency is not available"
- ✓ Build output with data set "ignore verbose and report in CLI output"
- ✓ Build output with data set "respect verbose mode and report in FILE output"
- ✓ Execute with data set "parallel execution is default mode"
- ✓ Execute with data set "parallel execution"
- ✓ Execute with data set "dont use parallelism if execution is other word"
- ✓ Build root path with data set "current dir + analyzed dir + slash"
- ✓ Build root path with data set "find common root from multiple dirs"
- ✓ Build root path with data set "no path when dir is invalid"
- ✓ Build root path with data set "file directory + skip invalid dir"
- ✓ Load allowed errors count
Paths (Edge\QA\Paths)
- ✓ Path to binary is escaped
Report (Edge\QA\Report)
- ✓ Convert twig to html
- ✓ Convert xml to html with data set "create html"
- ✓ Convert xml to html with data set "create empty file if something went south"
- ✓ Ignore missing xml documents
- ✓ Build option with defined separator
- ✓ Mark success when x path is not defined
- ✓ Mark failure when xml file does not exist with data set "success when allowed errors are not defined"
- ✓ Mark failure when xml file does not exist with data set "success when errors count are defined"
- ✓ Compare allowed count with errors count from xml with data set "success when allowed errors are not defined"
- ✓ Compare allowed count with errors count from xml with data set "success when errors count <= allowed count"
- ✓ Compare allowed count with errors count from xml with data set "failure when errors count > allowed count"
- ✓ Runtime selection of error xpath
- ✓ Multiple xpaths with data set "multiple elements"
- ✓ Multiple xpaths with data set "invalid xpath"
- ❌ Analyze exit code in cli mode with data set "success when exit code = 0"
- ❌ Analyze exit code in cli mode with data set "success when exit code <= allowed code"
- ❌ Analyze exit code in cli mode with data set "failure when errors count > allowed count but errors count is always one"
- ✓ Create unique id for user report
- ✓ Build config with data set "No config"
- ✓ Build config with data set "No parameters in config"
- ✓ Build config with data set "excludePaths shortcut"
- ✓ Build config with data set "excludePaths + analyseAndScan"
- ✓ Build config with data set "Deprecated excludes_analyse"