diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000000..54345fcb6c
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,15 @@
+/.coveralls.yml export-ignore
+/.gitattributes export-ignore
+/.travis.yml export-ignore
+/CHANGELOG.md export-ignore
+/README.md export-ignore
+/composer.lock export-ignore
+/docs export-ignore
+/mkdocs.yml export-ignore
+/phpunit.xml export-ignore
+/scripts export-ignore
+/src/Configurator/JavaScript/functions export-ignore
+/src/Plugins/Litedown/Regexps.md export-ignore
+/src/Plugins/MediaEmbed/Configurator/sites export-ignore
+/tests export-ignore
+/vendor export-ignore
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index e93f58e573..08efdf048b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,11 +5,10 @@ matrix:
include:
- php: 7.1
env: COVERAGE=1
- - php: 5.4
- dist: precise
- - php: 5.6
- php: 7.2
- php: 7.3
+ allow_failures:
+ - php: nightly
branches:
except:
- /^dist/
diff --git a/composer.json b/composer.json
index 92ab47a0e7..fb5d1ceb53 100644
--- a/composer.json
+++ b/composer.json
@@ -1,21 +1,20 @@
{
"name": "s9e/text-formatter",
- "version": "1.4.4-dev",
"type": "library",
"description": "Multi-purpose text formatting and markup library. Plugins offer support for BBCodes, Markdown, emoticons, HTML, embedding media (YouTube, etc...), enhanced typography and more.",
"homepage": "https://github.com/s9e/TextFormatter/",
"keywords": ["bbcode","bbcodes","blog","censor","embed","emoji","emoticons","engine","forum","html","markdown","markup","media","parser","shortcodes"],
"license": "MIT",
"require": {
- "php": ">=5.6.0",
+ "php": ">=7.1",
"ext-dom": "*",
"ext-filter": "*",
"lib-pcre": ">=7.2"
},
"require-dev": {
- "matthiasmullie/minify": "*",
- "php-coveralls/php-coveralls": "*",
- "s9e/regexp-builder": "1.*"
+ "matthiasmullie/minify": "*",
+ "phpunit/phpunit": "^7",
+ "s9e/regexp-builder": "1.*"
},
"suggest": {
"ext-curl": "Improves the performance of the MediaEmbed plugin and some JavaScript minifiers",
@@ -35,5 +34,8 @@
"psr-4": {
"s9e\\TextFormatter\\Tests\\": "tests"
}
+ },
+ "extra": {
+ "version": "2.0.0-dev"
}
-}
\ No newline at end of file
+}
diff --git a/docs/testdox.txt b/docs/testdox.txt
index 771f4467b8..f38ce58567 100644
--- a/docs/testdox.txt
+++ b/docs/testdox.txt
@@ -398,17 +398,69 @@ s9e\TextFormatter\Tests\Configurator\Collections\TemplateParameterCollection
s9e\TextFormatter\Tests\Configurator\UnsafeTemplateException
[x] getNode() returns the stored node
[x] setNode() sets the stored node
- [x] highlightNode() returns the template's source formatted and with the stored node highlighted
+ [x] highlightNode() returns the template's source formatted and with the stored node highlighted with data set #0
+ [x] highlightNode() returns the template's source formatted and with the stored node highlighted with data set #1
+ [x] highlightNode() returns the template's source formatted and with the stored node highlighted with data set #2
s9e\TextFormatter\Tests\Configurator\Helpers\AVTHelper
- [x] parse() tests
- [x] serialize() tests
- [x] replace() tests
- [x] toXSL() tests
+ [x] parse() tests with data set #0
+ [x] parse() tests with data set #1
+ [x] parse() tests with data set #2
+ [x] parse() tests with data set #3
+ [x] parse() tests with data set #4
+ [x] parse() tests with data set #5
+ [x] parse() tests with data set #6
+ [x] parse() tests with data set #7
+ [x] parse() tests with data set #8
+ [x] parse() tests with data set #9
+ [x] parse() tests with data set #10
+ [x] parse() tests with data set #11
+ [x] serialize() tests with data set #0
+ [x] serialize() tests with data set #1
+ [x] serialize() tests with data set #2
+ [x] serialize() tests with data set #3
+ [x] serialize() tests with data set #4
+ [x] serialize() tests with data set #5
+ [x] replace() tests with data set #0
+ [x] replace() tests with data set #1
+ [x] replace() tests with data set #2
+ [x] toXSL() tests with data set #0
+ [x] toXSL() tests with data set #1
+ [x] toXSL() tests with data set #2
+ [x] toXSL() tests with data set #3
+ [x] toXSL() tests with data set #4
+ [x] toXSL() tests with data set #5
+ [x] toXSL() tests with data set #6
+ [x] toXSL() tests with data set #7
+ [x] toXSL() tests with data set #8
s9e\TextFormatter\Tests\Configurator\Helpers\CharacterClassBuilder
[x] Special characters are properly matched
- [x] fromList() tests
+ [x] fromList() tests with data set #0
+ [x] fromList() tests with data set #1
+ [x] fromList() tests with data set #2
+ [x] fromList() tests with data set #3
+ [x] fromList() tests with data set #4
+ [x] fromList() tests with data set #5
+ [x] fromList() tests with data set #6
+ [x] fromList() tests with data set #7
+ [x] fromList() tests with data set #8
+ [x] fromList() tests with data set #9
+ [x] fromList() tests with data set #10
+ [x] fromList() tests with data set #11
+ [x] fromList() tests with data set #12
+ [x] fromList() tests with data set #13
+ [x] fromList() tests with data set #14
+ [x] fromList() tests with data set #15
+ [x] fromList() tests with data set #16
+ [x] fromList() tests with data set #17
+ [x] fromList() tests with data set #18
+ [x] fromList() tests with data set #19
+ [x] fromList() tests with data set #20
+ [x] fromList() tests with data set #21
+ [x] fromList() tests with data set #22
+ [x] fromList() tests with data set #23
+ [x] fromList() tests with data set #24
s9e\TextFormatter\Tests\Configurator\Helpers\ConfigHelper
[x] filterConfig() filters for the right target
@@ -438,13 +490,88 @@ s9e\TextFormatter\Tests\Configurator\Helpers\ContextSafeness
[x] getDisallowedCharactersInJS() returns a list of strings
s9e\TextFormatter\Tests\Configurator\Helpers\ElementInspector
- [x] Test cases
+ [x] Test cases with data set #0
+ [x] Test cases with data set #1
+ [x] Test cases with data set #2
+ [x] Test cases with data set #3
+ [x] Test cases with data set #4
+ [x] Test cases with data set #5
+ [x] Test cases with data set #6
+ [x] Test cases with data set #7
+ [x] Test cases with data set #8
+ [x] Test cases with data set #9
+ [x] Test cases with data set #10
+ [x] Test cases with data set #11
+ [x] Test cases with data set #12
+ [x] Test cases with data set #13
+ [x] Test cases with data set #14
+ [x] Test cases with data set #15
+ [x] Test cases with data set #16
+ [x] Test cases with data set #17
+ [x] Test cases with data set #18
+ [x] Test cases with data set #19
+ [x] Test cases with data set #20
+ [x] Test cases with data set #21
+ [x] Test cases with data set #22
+ [x] Test cases with data set #23
+ [x] Test cases with data set #24
+ [x] Test cases with data set #25
+ [x] Test cases with data set #26
+ [x] Test cases with data set #27
+ [x] Test cases with data set #28
s9e\TextFormatter\Tests\Configurator\Helpers\NodeLocator
- [x] getObjectParamsByRegexp() tests
- [x] getCSSNodes() tests
- [x] getJSNodes() tests
- [x] getURLNodes() tests
+ [x] getObjectParamsByRegexp() tests with data set #0
+ [x] getObjectParamsByRegexp() tests with data set #1
+ [x] getObjectParamsByRegexp() tests with data set #2
+ [x] getObjectParamsByRegexp() tests with data set #3
+ [x] getObjectParamsByRegexp() tests with data set #4
+ [x] getObjectParamsByRegexp() tests with data set #5
+ [x] getObjectParamsByRegexp() tests with data set #6
+ [x] getObjectParamsByRegexp() tests with data set #7
+ [x] getCSSNodes() tests with data set #0
+ [x] getCSSNodes() tests with data set #1
+ [x] getCSSNodes() tests with data set #2
+ [x] getCSSNodes() tests with data set #3
+ [x] getCSSNodes() tests with data set #4
+ [x] getCSSNodes() tests with data set #5
+ [x] getCSSNodes() tests with data set #6
+ [x] getCSSNodes() tests with data set #7
+ [x] getCSSNodes() tests with data set #8
+ [x] getCSSNodes() tests with data set #9
+ [x] getJSNodes() tests with data set #0
+ [x] getJSNodes() tests with data set #1
+ [x] getJSNodes() tests with data set #2
+ [x] getJSNodes() tests with data set #3
+ [x] getJSNodes() tests with data set #4
+ [x] getJSNodes() tests with data set #5
+ [x] getJSNodes() tests with data set #6
+ [x] getJSNodes() tests with data set #7
+ [x] getJSNodes() tests with data set #8
+ [x] getJSNodes() tests with data set #9
+ [x] getJSNodes() tests with data set #10
+ [x] getURLNodes() tests with data set #0
+ [x] getURLNodes() tests with data set #1
+ [x] getURLNodes() tests with data set #2
+ [x] getURLNodes() tests with data set #3
+ [x] getURLNodes() tests with data set #4
+ [x] getURLNodes() tests with data set #5
+ [x] getURLNodes() tests with data set #6
+ [x] getURLNodes() tests with data set #7
+ [x] getURLNodes() tests with data set #8
+ [x] getURLNodes() tests with data set #9
+ [x] getURLNodes() tests with data set #10
+ [x] getURLNodes() tests with data set #11
+ [x] getURLNodes() tests with data set #12
+ [x] getURLNodes() tests with data set #13
+ [x] getURLNodes() tests with data set #14
+ [x] getURLNodes() tests with data set #15
+ [x] getURLNodes() tests with data set #16
+ [x] getURLNodes() tests with data set #17
+ [x] getURLNodes() tests with data set #18
+ [x] getURLNodes() tests with data set #19
+ [x] getURLNodes() tests with data set #20
+ [x] getURLNodes() tests with data set #21
[x] getElementsByRegexp() can return elements created via
s9e\TextFormatter\Tests\Configurator\Helpers\RegexpBuilder
@@ -602,8 +729,53 @@ s9e\TextFormatter\Tests\Configurator\Helpers\RegexpParser
[x] parse() parses lookbehind assertions
[x] parse() parses negative lookbehind assertions
[x] parse() parses escaped right parentheses
- [x] getAllowedCharacterRegexp() works
- [x] getCaptureNames() works
+ [x] getAllowedCharacterRegexp() works with data set #0
+ [x] getAllowedCharacterRegexp() works with data set #1
+ [x] getAllowedCharacterRegexp() works with data set #2
+ [x] getAllowedCharacterRegexp() works with data set #3
+ [x] getAllowedCharacterRegexp() works with data set #4
+ [x] getAllowedCharacterRegexp() works with data set #5
+ [x] getAllowedCharacterRegexp() works with data set #6
+ [x] getAllowedCharacterRegexp() works with data set #7
+ [x] getAllowedCharacterRegexp() works with data set #8
+ [x] getAllowedCharacterRegexp() works with data set #9
+ [x] getAllowedCharacterRegexp() works with data set #10
+ [x] getAllowedCharacterRegexp() works with data set #11
+ [x] getAllowedCharacterRegexp() works with data set #12
+ [x] getAllowedCharacterRegexp() works with data set #13
+ [x] getAllowedCharacterRegexp() works with data set #14
+ [x] getAllowedCharacterRegexp() works with data set #15
+ [x] getAllowedCharacterRegexp() works with data set #16
+ [x] getAllowedCharacterRegexp() works with data set #17
+ [x] getAllowedCharacterRegexp() works with data set #18
+ [x] getAllowedCharacterRegexp() works with data set #19
+ [x] getAllowedCharacterRegexp() works with data set #20
+ [x] getAllowedCharacterRegexp() works with data set #21
+ [x] getAllowedCharacterRegexp() works with data set #22
+ [x] getAllowedCharacterRegexp() works with data set #23
+ [x] getAllowedCharacterRegexp() works with data set #24
+ [x] getAllowedCharacterRegexp() works with data set #25
+ [x] getAllowedCharacterRegexp() works with data set #26
+ [x] getAllowedCharacterRegexp() works with data set #27
+ [x] getAllowedCharacterRegexp() works with data set #28
+ [x] getAllowedCharacterRegexp() works with data set #29
+ [x] getAllowedCharacterRegexp() works with data set #30
+ [x] getAllowedCharacterRegexp() works with data set #31
+ [x] getAllowedCharacterRegexp() works with data set #32
+ [x] getAllowedCharacterRegexp() works with data set #33
+ [x] getAllowedCharacterRegexp() works with data set #34
+ [x] getAllowedCharacterRegexp() works with data set #35
+ [x] getAllowedCharacterRegexp() works with data set #36
+ [x] getAllowedCharacterRegexp() works with data set #37
+ [x] getAllowedCharacterRegexp() works with data set #38
+ [x] getAllowedCharacterRegexp() works with data set #39
+ [x] getAllowedCharacterRegexp() works with data set #40
+ [x] getAllowedCharacterRegexp() works with data set #41
+ [x] getAllowedCharacterRegexp() works with data set #42
+ [x] getAllowedCharacterRegexp() works with data set #43
+ [x] getCaptureNames() works with data set #0
+ [x] getCaptureNames() works with data set #1
+ [x] getCaptureNames() works with data set #2
s9e\TextFormatter\Tests\Configurator\Helpers\RulesHelper
[x] Works with a single tag
@@ -623,13 +795,130 @@ s9e\TextFormatter\Tests\Configurator\Helpers\RulesHelper
s9e\TextFormatter\Tests\Configurator\Helpers\TemplateHelper
[x] Provides loadTemplate() and saveTemplate()
- [x] getParametersFromXSL() tests
- [x] highlightNode() tests
- [x] replaceHomogeneousTemplates() tests
+ [x] getParametersFromXSL() tests with data set #0
+ [x] getParametersFromXSL() tests with data set #1
+ [x] getParametersFromXSL() tests with data set #2
+ [x] getParametersFromXSL() tests with data set #3
+ [x] getParametersFromXSL() tests with data set #4
+ [x] getParametersFromXSL() tests with data set #5
+ [x] getParametersFromXSL() tests with data set #6
+ [x] getParametersFromXSL() tests with data set #7
+ [x] getParametersFromXSL() tests with data set #8
+ [x] highlightNode() tests with data set #0
+ [x] highlightNode() tests with data set #1
+ [x] highlightNode() tests with data set #2
+ [x] highlightNode() tests with data set #3
+ [x] highlightNode() tests with data set #4
+ [x] highlightNode() tests with data set #5
+ [x] highlightNode() tests with data set #6
+ [x] highlightNode() tests with data set #7
+ [x] highlightNode() tests with data set #8
+ [x] highlightNode() tests with data set #9
+ [x] replaceHomogeneousTemplates() tests with data set #0
+ [x] replaceHomogeneousTemplates() tests with data set #1
+ [x] replaceHomogeneousTemplates() tests with data set #2
+ [x] replaceHomogeneousTemplates() tests with data set #3
+ [x] replaceHomogeneousTemplates() tests with data set #4
+ [x] replaceHomogeneousTemplates() tests with data set #5
s9e\TextFormatter\Tests\Configurator\Helpers\TemplateInspector
[x] evaluate() returns the return value of an XPath expression
- [x] Test cases
+ [x] Test cases with data set #0
+ [x] Test cases with data set #1
+ [x] Test cases with data set #2
+ [x] Test cases with data set #3
+ [x] Test cases with data set #4
+ [x] Test cases with data set #5
+ [x] Test cases with data set #6
+ [x] Test cases with data set #7
+ [x] Test cases with data set #8
+ [x] Test cases with data set #9
+ [x] Test cases with data set #10
+ [x] Test cases with data set #11
+ [x] Test cases with data set #12
+ [x] Test cases with data set #13
+ [x] Test cases with data set #14
+ [x] Test cases with data set #15
+ [x] Test cases with data set #16
+ [x] Test cases with data set #17
+ [x] Test cases with data set #18
+ [x] Test cases with data set #19
+ [x] Test cases with data set #20
+ [x] Test cases with data set #21
+ [x] Test cases with data set #22
+ [x] Test cases with data set #23
+ [x] Test cases with data set #24
+ [x] Test cases with data set #25
+ [x] Test cases with data set #26
+ [x] Test cases with data set #27
+ [x] Test cases with data set #28
+ [x] Test cases with data set #29
+ [x] Test cases with data set #30
+ [x] Test cases with data set #31
+ [x] Test cases with data set #32
+ [x] Test cases with data set #33
+ [x] Test cases with data set #34
+ [x] Test cases with data set #35
+ [x] Test cases with data set #36
+ [x] Test cases with data set #37
+ [x] Test cases with data set #38
+ [x] Test cases with data set #39
+ [x] Test cases with data set #40
+ [x] Test cases with data set #41
+ [x] Test cases with data set #42
+ [x] Test cases with data set #43
+ [x] Test cases with data set #44
+ [x] Test cases with data set #45
+ [x] Test cases with data set #46
+ [x] Test cases with data set #47
+ [x] Test cases with data set #48
+ [x] Test cases with data set #49
+ [x] Test cases with data set #50
+ [x] Test cases with data set #51
+ [x] Test cases with data set #52
+ [x] Test cases with data set #53
+ [x] Test cases with data set #54
+ [x] Test cases with data set #55
+ [x] Test cases with data set #56
+ [x] Test cases with data set #57
+ [x] Test cases with data set #58
+ [x] Test cases with data set #59
+ [x] Test cases with data set #60
+ [x] Test cases with data set #61
+ [x] Test cases with data set #62
+ [x] Test cases with data set #63
+ [x] Test cases with data set #64
+ [x] Test cases with data set #65
+ [x] Test cases with data set #66
+ [x] Test cases with data set #67
+ [x] Test cases with data set #68
+ [x] Test cases with data set #69
+ [x] Test cases with data set #70
+ [x] Test cases with data set #71
+ [x] Test cases with data set #72
+ [x] Test cases with data set #73
+ [x] Test cases with data set #74
+ [x] Test cases with data set #75
+ [x] Test cases with data set #76
+ [x] Test cases with data set #77
+ [x] Test cases with data set #78
+ [x] Test cases with data set #79
+ [x] Test cases with data set #80
+ [x] Test cases with data set #81
+ [x] Test cases with data set #82
+ [x] Test cases with data set #83
+ [x] Test cases with data set #84
+ [x] Test cases with data set #85
+ [x] Test cases with data set #86
+ [x] Test cases with data set #87
+ [x] Test cases with data set #88
+ [x] Test cases with data set #89
+ [x] Test cases with data set #90
+ [x] Test cases with data set #91
+ [x] Test cases with data set #92
+ [x] Test cases with data set #93
+ [x] Test cases with data set #94
+ [x] Test cases with data set #95
s9e\TextFormatter\Tests\Configurator\Helpers\TemplateLoader
[x] load() can load 'foo'
@@ -641,6 +930,7 @@ s9e\TextFormatter\Tests\Configurator\Helpers\TemplateLoader
[x] save() removes redundant declarations for the xsl namespace
[x] load() can load '
one
two
'
[x] load() can load ''
+ [x] load() can load '
one
two
'
[x] load() accepts unescaped ampersands
[x] load() converts HTML entities
[x] load() does not break numeric character references
@@ -653,20 +943,150 @@ s9e\TextFormatter\Tests\Configurator\Helpers\TemplateLoader
[x] load() does not load entities
s9e\TextFormatter\Tests\Configurator\Helpers\TemplateModifier
- [x] replaceTokens() tests
+ [x] replaceTokens() tests with data set #0
+ [x] replaceTokens() tests with data set #1
+ [x] replaceTokens() tests with data set #2
+ [x] replaceTokens() tests with data set #3
+ [x] replaceTokens() tests with data set #4
+ [x] replaceTokens() tests with data set #5
+ [x] replaceTokens() tests with data set #6
+ [x] replaceTokens() tests with data set #7
+ [x] replaceTokens() tests with data set #8
+ [x] replaceTokens() tests with data set #9
+ [x] replaceTokens() tests with data set #10
+ [x] replaceTokens() tests with data set #11
+ [x] replaceTokens() tests with data set #12
+ [x] replaceTokens() tests with data set #13
+ [x] replaceTokens() tests with data set #14
s9e\TextFormatter\Tests\Configurator\Helpers\TemplateParser
- [x] parse() tests
+ [x] parse() tests with data set #0
+ [x] parse() tests with data set #1
+ [x] parse() tests with data set #2
+ [x] parse() tests with data set #3
+ [x] parse() tests with data set #4
+ [x] parse() tests with data set #5
+ [x] parse() tests with data set #6
+ [x] parse() tests with data set #7
+ [x] parse() tests with data set #8
+ [x] parse() tests with data set #9
+ [x] parse() tests with data set #10
+ [x] parse() tests with data set #11
+ [x] parse() tests with data set #12
+ [x] parse() tests with data set #13
+ [x] parse() tests with data set #14
+ [x] parse() tests with data set #15
+ [x] parse() tests with data set #16
+ [x] parse() tests with data set #17
+ [x] parse() tests with data set #18
+ [x] parse() tests with data set #19
+ [x] parse() tests with data set #20
+ [x] parse() tests with data set #21
+ [x] parse() tests with data set #22
+ [x] parse() tests with data set #23
+ [x] parse() tests with data set #24
+ [x] parse() tests with data set #25
+ [x] parse() tests with data set #26
+ [x] parse() tests with data set #27
+ [x] parse() tests with data set #28
+ [x] parse() tests with data set #29
+ [x] parse() tests with data set #30
+ [x] parse() tests with data set #31
+ [x] parse() tests with data set #32
+ [x] parse() tests with data set #33
+ [x] parse() tests with data set #34
+ [x] parse() tests with data set #35
+ [x] parse() tests with data set #36
+ [x] parse() tests with data set #37
+ [x] parse() tests with data set #38
+ [x] parse() tests with data set #39
+ [x] parse() tests with data set #40
+ [x] parse() tests with data set #41
+ [x] parse() tests with data set #42
+ [x] parse() tests with data set #43
+ [x] parse() tests with data set #44
+ [x] parse() tests with data set #45
+ [x] parse() tests with data set #46
+ [x] parse() tests with data set #47
+ [x] parse() tests with data set #48
+ [x] parse() tests with data set #49
+ [x] parse() tests with data set #50
+ [x] parse() tests with data set #51
+ [x] parse() tests with data set #52
+ [x] parse() tests with data set #53
+ [x] parse() tests with data set #54
+ [x] parse() tests with data set #55
+ [x] parse() tests with data set #56
+ [x] parse() tests with data set #57
+ [x] parse() tests with data set #58
+ [x] parse() tests with data set #59
+ [x] parse() tests with data set #60
+ [x] parse() tests with data set #61
+ [x] parse() tests with data set #62
+ [x] parse() tests with data set #63
+ [x] parse() tests with data set #64
+ [x] parse() tests with data set #65
+ [x] parse() tests with data set #66
+ [x] parse() tests with data set #67
[x] parse() throws an exception if it encounters a processing instruction in the stylesheet
[x] parse() throws an exception if it encounters an unsupported XSL element
[x] parse() throws an exception if it encounters an unsupported expression
- [x] Parse equality expr
+ [x] Parse equality expr with data set #0
+ [x] Parse equality expr with data set #1
+ [x] Parse equality expr with data set #2
+ [x] Parse equality expr with data set #3
+ [x] Parse equality expr with data set #4
+ [x] Parse equality expr with data set #5
+ [x] Parse equality expr with data set #6
+ [x] Parse equality expr with data set #7
s9e\TextFormatter\Tests\Configurator\Helpers\XPathHelper
- [x] getVariables() tests
- [x] isExpressionNumeric() tests
- [x] minify() tests
- [x] Parse equality expr
+ [x] getVariables() tests with data set #0
+ [x] getVariables() tests with data set #1
+ [x] getVariables() tests with data set #2
+ [x] getVariables() tests with data set #3
+ [x] isExpressionNumeric() tests with data set #0
+ [x] isExpressionNumeric() tests with data set #1
+ [x] isExpressionNumeric() tests with data set #2
+ [x] isExpressionNumeric() tests with data set #3
+ [x] isExpressionNumeric() tests with data set #4
+ [x] isExpressionNumeric() tests with data set #5
+ [x] isExpressionNumeric() tests with data set #6
+ [x] isExpressionNumeric() tests with data set #7
+ [x] isExpressionNumeric() tests with data set #8
+ [x] isExpressionNumeric() tests with data set #9
+ [x] isExpressionNumeric() tests with data set #10
+ [x] isExpressionNumeric() tests with data set #11
+ [x] isExpressionNumeric() tests with data set #12
+ [x] isExpressionNumeric() tests with data set #13
+ [x] isExpressionNumeric() tests with data set #14
+ [x] isExpressionNumeric() tests with data set #15
+ [x] isExpressionNumeric() tests with data set #16
+ [x] isExpressionNumeric() tests with data set #17
+ [x] isExpressionNumeric() tests with data set #18
+ [x] isExpressionNumeric() tests with data set #19
+ [x] minify() tests with data set #0
+ [x] minify() tests with data set #1
+ [x] minify() tests with data set #2
+ [x] minify() tests with data set #3
+ [x] minify() tests with data set #4
+ [x] minify() tests with data set #5
+ [x] minify() tests with data set #6
+ [x] minify() tests with data set #7
+ [x] minify() tests with data set #8
+ [x] minify() tests with data set #9
+ [x] minify() tests with data set #10
+ [x] minify() tests with data set #11
+ [x] minify() tests with data set #12
+ [x] minify() tests with data set #13
+ [x] Parse equality expr with data set #0
+ [x] Parse equality expr with data set #1
+ [x] Parse equality expr with data set #2
+ [x] Parse equality expr with data set #3
+ [x] Parse equality expr with data set #4
+ [x] Parse equality expr with data set #5
+ [x] Parse equality expr with data set #6
+ [x] Parse equality expr with data set #7
s9e\TextFormatter\Tests\Configurator\Items\Attribute
[x] An array of options can be passed to the constructor
@@ -705,6 +1125,7 @@ s9e\TextFormatter\Tests\Configurator\Items\ProgrammableCallback
[x] An array of variables can be set with setVars() or retrieved with getVars()
[x] setVars() is chainable
[x] A single variable can be set with setVar() without overwriting other variables
+ [x] setVars() is chainable
[x] addParameterByValue() adds a parameter as a value with no name
[x] addParameterByValue() is chainable
[x] addParameterByName() adds a parameter as a name with no value
@@ -981,7 +1402,12 @@ s9e\TextFormatter\Tests\Configurator\Items\TemplateDocument
[x] saveChanges() updates the document's original template
s9e\TextFormatter\Tests\Configurator\CallbackGenerator
- [x] replaceCallbacks() tests
+ [x] replaceCallbacks() tests with data set #0
+ [x] replaceCallbacks() tests with data set #1
+ [x] replaceCallbacks() tests with data set #2
+ [x] replaceCallbacks() tests with data set #3
+ [x] replaceCallbacks() tests with data set #4
+ [x] replaceCallbacks() tests with data set #5
s9e\TextFormatter\Tests\Configurator\JavaScript\Code
[x] Can be cast as a string
@@ -991,7 +1417,13 @@ s9e\TextFormatter\Tests\Configurator\JavaScript\Code
s9e\TextFormatter\Tests\Configurator\ConfigOptimizer
[x] reset() clears the stored objects
- [x] OptimizeObject tests
+ [x] OptimizeObject tests with data set #0
+ [x] OptimizeObject tests with data set #1
+ [x] OptimizeObject tests with data set #2
+ [x] OptimizeObject tests with data set #3
+ [x] OptimizeObject tests with data set #4
+ [x] OptimizeObject tests with data set #5
+ [x] OptimizeObject tests with data set #6
s9e\TextFormatter\Tests\Configurator\JavaScript\ConfigValue
[x] getUseCount() returns 0 by default
@@ -1002,6 +1434,7 @@ s9e\TextFormatter\Tests\Configurator\JavaScript\ConfigValue
[x] deduplicate() marks the value as deduplicated if the use count is 2
[x] deduplicate() sets the use counter of the instance to 1
[x] deduplicate() decrements the use counter of config values contained in the instance
+ [x] deduplicate() decrements the use counter of config values contained in the instance
s9e\TextFormatter\Tests\Configurator\Dictionary
[x] filterConfig('PHP') returns an array
@@ -1009,7 +1442,25 @@ s9e\TextFormatter\Tests\Configurator\Dictionary
[x] filterConfig('JS') filters the dictionary's content
s9e\TextFormatter\Tests\Configurator\Encoder
- [x] encode() tests
+ [x] encode() tests with data set #0
+ [x] encode() tests with data set #1
+ [x] encode() tests with data set #2
+ [x] encode() tests with data set #3
+ [x] encode() tests with data set #4
+ [x] encode() tests with data set #5
+ [x] encode() tests with data set #6
+ [x] encode() tests with data set #7
+ [x] encode() tests with data set #8
+ [x] encode() tests with data set #9
+ [x] encode() tests with data set #10
+ [x] encode() tests with data set #11
+ [x] encode() tests with data set #12
+ [x] encode() tests with data set #13
+ [x] encode() tests with data set #14
+ [x] encode() tests with data set #15
+ [x] encode() tests with data set #16
+ [x] encode() tests with data set #17
+ [x] encode() tests with data set #18
[x] encode() does not quote legal property names
[x] encode() quotes illegal property names
[x] encode() throws an exception on unsupported types
@@ -1158,7 +1609,12 @@ s9e\TextFormatter\Tests\Configurator\JavaScript\Minifiers\Noop
[x] getCacheDifferentiator() is constant
s9e\TextFormatter\Tests\Configurator\StylesheetCompressor
- [x] encode() tests
+ [x] encode() tests with data set #0
+ [x] encode() tests with data set #1
+ [x] encode() tests with data set #2
+ [x] encode() tests with data set #3
+ [x] encode() tests with data set #4
+ [x] encode() tests with data set #5
s9e\TextFormatter\Tests\Configurator\Rendering
[x] Default engine is XSLT
@@ -1246,7 +1702,11 @@ s9e\TextFormatter\Tests\Configurator\RulesGenerators\TrimFirstLineInCodeBlocks
s9e\TextFormatter\Tests\Configurator\RulesGenerator
[x] Implements ArrayAccess
[x] Implements Iterator
- [x] Default rules
+ [x] Default rules with data set #0
+ [x] Default rules with data set #1
+ [x] Default rules with data set #2
+ [x] Default rules with data set #3
+ [x] Default rules with data set #4
s9e\TextFormatter\Tests\Configurator\AbstractNormalization
[x] Nothing happens if the normalization doesn't override any method or set any query
@@ -1260,99 +1720,300 @@ s9e\TextFormatter\Tests\Configurator\AbstractNormalization
[x] lowercase() works
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\ConvertCurlyExpressionsInText
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\Custom
[x] normalize() calls the user-defined callback with a DOMElement as argument
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\FixUnescapedCurlyBracesInHtmlAttributes
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
+ [x] Works with data set #7
+ [x] Works with data set #8
+ [x] Works with data set #9
+ [x] Works with data set #10
+ [x] Works with data set #11
+ [x] Works with data set #12
+ [x] Works with data set #13
+ [x] Works with data set #14
+ [x] Works with data set #15
+ [x] Works with data set #16
+ [x] Works with data set #17
+ [x] Works with data set #18
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\FoldArithmeticConstants
[ ] Ignores locale
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
+ [x] Works with data set #7
+ [x] Works with data set #8
+ [x] Works with data set #9
+ [x] Works with data set #10
+ [x] Works with data set #11
+ [x] Works with data set #12
+ [x] Works with data set #13
+ [x] Works with data set #14
+ [x] Works with data set #15
+ [x] Works with data set #16
+ [x] Works with data set #17
+ [x] Works with data set #18
+ [x] Works with data set #19
+ [x] Works with data set #20
+ [x] Works with data set #21
+ [x] Works with data set #22
+ [x] Works with data set #23
+ [x] Works with data set #24
+ [x] Works with data set #25
+ [x] Works with data set #26
+ [x] Works with data set #27
+ [x] Works with data set #28
+ [x] Works with data set #29
+ [x] Works with data set #30
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\FoldConstantXPathExpressions
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
+ [x] Works with data set #7
+ [x] Works with data set #8
+ [x] Works with data set #9
+ [x] Works with data set #10
+ [x] Works with data set #11
+ [x] Works with data set #12
+ [x] Works with data set #13
+ [x] Works with data set #14
+ [x] Works with data set #15
+ [x] Works with data set #16
+ [x] Works with data set #17
+ [x] Works with data set #18
+ [x] Works with data set #19
+ [x] Works with data set #20
+ [x] Works with data set #21
+ [x] Works with data set #22
+ [x] Works with data set #23
+ [x] Works with data set #24
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\InlineAttributes
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\InlineCDATA
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\InlineElements
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\InlineInferredValues
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\InlineTextElements
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
+ [x] Works with data set #7
+ [x] Works with data set #8
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\InlineXPathLiterals
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
+ [x] Works with data set #7
+ [x] Works with data set #8
+ [x] Works with data set #9
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\MinifyInlineCSS
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
+ [x] Works with data set #7
+ [x] Works with data set #8
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\MinifyXPathExpressions
[x] Throws an exception if a string isn't properly closed
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
+ [x] Works with data set #7
+ [x] Works with data set #8
+ [x] Works with data set #9
+ [x] Works with data set #10
+ [x] Works with data set #11
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\MergeConsecutiveCopyOf
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\MergeIdenticalConditionalBranches
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\NormalizeAttributeNames
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\NormalizeElementNames
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\NormalizeUrls
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
+ [x] Works with data set #7
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\OptimizeConditionalAttributes
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\OptimizeConditionalValueOf
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\OptimizeNestedConditionals
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\OptimizeChoose
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
+ [x] Works with data set #7
+ [x] Works with data set #8
+ [x] Works with data set #9
+ [x] Works with data set #10
+ [x] Works with data set #11
+ [x] Works with data set #12
+ [x] Works with data set #13
+ [x] Works with data set #14
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\OptimizeChooseText
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
+ [x] Works with data set #7
+ [x] Works with data set #8
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\PreserveSingleSpaces
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\RemoveComments
- [x] Works
+ [x] Works with data set #0
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\RemoveInterElementWhitespace
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\RemoveLivePreviewAttributes
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\SetRelNoreferrerOnTargetedLinks
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\SortAttributesByName
- [x] Works
+ [x] Works with data set #0
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\TransposeComments
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
s9e\TextFormatter\Tests\Configurator\TemplateNormalizations\UninlineAttributes
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
s9e\TextFormatter\Tests\Configurator\TemplateNormalizer
[x] Implements ArrayAccess
@@ -1360,7 +2021,29 @@ s9e\TextFormatter\Tests\Configurator\TemplateNormalizer
[x] Only executes a normalization once per run if its "onlyOnce" property is true
[x] normalizeTag() calls each of the tag's template's normalize() method with itself as argument
[x] normalizeTag() does not call normalize() if the template was already normalized
- [x] Default normalization rules
+ [x] Default normalization rules with data set #0
+ [x] Default normalization rules with data set #1
+ [x] Default normalization rules with data set #2
+ [x] Default normalization rules with data set #3
+ [x] Default normalization rules with data set #4
+ [x] Default normalization rules with data set #5
+ [x] Default normalization rules with data set #6
+ [x] Default normalization rules with data set #7
+ [x] Default normalization rules with data set #8
+ [x] Default normalization rules with data set #9
+ [x] Default normalization rules with data set #10
+ [x] Default normalization rules with data set #11
+ [x] Default normalization rules with data set #12
+ [x] Default normalization rules with data set #13
+ [x] Default normalization rules with data set #14
+ [x] Default normalization rules with data set #15
+ [x] Default normalization rules with data set #16
+ [x] Default normalization rules with data set #17
+ [x] Default normalization rules with data set #18
+ [x] Default normalization rules with data set #19
+ [x] Default normalization rules with data set #20
+ [x] Default normalization rules with data set #21
+ [x] Default normalization rules with data set #22
s9e\TextFormatter\Tests\Configurator\TemplateChecks\AbstractDynamicContentCheck
[x] Stylesheet parameters are considered safe
@@ -1442,6 +2125,7 @@ s9e\TextFormatter\Tests\Configurator\TemplateChecks\DisallowNodeByXPath
s9e\TextFormatter\Tests\Configurator\TemplateChecks\DisallowObjectParamsWithGeneratedName
[x] Allowed:
[x] Disallowed:
+ [x] Disallowed:
s9e\TextFormatter\Tests\Configurator\TemplateChecks\DisallowPHPTags
[x] Disallowed:
@@ -1518,6 +2202,7 @@ s9e\TextFormatter\Tests\Configurator\TemplateChecks\DisallowUnsafeDynamicURL
[x] Allowed if #url: ...
[x] Disallowed if unknown: ...
[x] Allowed even if unknown: http://...
+ [x] Disallowed if unknown: ...
[x] Disallowed if unfiltered: ...
[x] Disallowed if unfiltered: ...
[x] Disallowed: ...
@@ -1553,6 +2238,10 @@ s9e\TextFormatter\Tests\Configurator\TemplateChecks\RestrictFlashNetworking
[x] 'internal' disallows
[x] 'internal' disallows
[x] 'internal' disallows
+ [x] 'internal' disallows
+ [x] 'internal' allows
+ [x] 'internal' allows
+ [x] 'internal' disallows
[x] 'none' disallows
[x] 'none' disallows
[x] 'none',true allows
@@ -1582,6 +2271,11 @@ s9e\TextFormatter\Tests\Configurator\TemplateChecks\RestrictFlashScriptAccess
[x] 'sameDomain' allows
[x] 'sameDomain' disallows
[x] 'sameDomain' disallows
+ [x] 'sameDomain' disallows
+ [x] 'sameDomain' allows
+ [x] 'sameDomain' allows
+ [x] 'sameDomain' allows
+ [x] 'sameDomain' disallows
[x] 'never' disallows
[x] 'never' disallows
[x] 'never',true allows
@@ -1734,8 +2428,17 @@ s9e\TextFormatter\Tests\Configurator\BundleGenerator
[x] (before|after)(Parser|Render|Unparse) events are added to the bundle
[x] The parserSetup callback is added to the source
[x] The rendererSetup callback is added to the source
- [x] exportCallback()
- [x] exportObject()
+ [x] exportCallback() with data set #0
+ [x] exportCallback() with data set #1
+ [x] exportCallback() with data set #2
+ [x] exportCallback() with data set #3
+ [x] exportCallback() with data set #4
+ [x] exportCallback() with data set #5
+ [x] exportCallback() with data set #6
+ [x] exportCallback() with data set #7
+ [x] exportCallback() with data set #8
+ [x] exportObject() with data set #0
+ [x] exportObject() with data set #1
s9e\TextFormatter\Tests\Configurator\Bundles\Fatdown
[x] Features
@@ -1919,77 +2622,522 @@ s9e\TextFormatter\Tests\Parser\TagStack
[x] addVerbatim() sets the tag's priority
s9e\TextFormatter\Tests\Parser\OutputHandling
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
+ [x] Works with data set #7
+ [x] Works with data set #8
+ [x] Works with data set #9
+ [x] Works with data set #10
+ [x] Works with data set #11
+ [x] Works with data set #12
+ [x] Works with data set #13
+ [x] Works with data set #14
+ [x] Works with data set #15
+ [x] Works with data set #16
+ [x] Works with data set #17
+ [x] Works with data set #18
+ [x] Works with data set #19
+ [x] Works with data set #20
+ [x] Works with data set #21
+ [x] Works with data set #22
+ [x] Works with data set #23
+ [x] Works with data set #24
+ [x] Works with data set #25
+ [x] Works with data set #26
+ [x] Works with data set #27
+ [x] Works with data set #28
+ [x] Works with data set #29
+ [x] Works with data set #30
+ [x] Works with data set #31
+ [x] Works with data set #32
+ [x] Works with data set #33
+ [x] Works with data set #34
+ [x] Works with data set #35
+ [x] Works with data set #36
+ [x] Works with data set #37
+ [x] Works with data set #38
s9e\TextFormatter\Tests\Parser\TagProcessing
- [x] Works
- [x] JavaScript tests
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
+ [x] Works with data set #7
+ [x] Works with data set #8
+ [x] Works with data set #9
+ [x] Works with data set #10
+ [x] Works with data set #11
+ [x] Works with data set #12
+ [x] Works with data set #13
+ [x] Works with data set #14
+ [x] Works with data set #15
+ [x] Works with data set #16
+ [x] Works with data set #17
+ [x] Works with data set #18
+ [x] Works with data set #19
+ [x] Works with data set #20
+ [x] Works with data set #21
+ [x] Works with data set #22
+ [x] Works with data set #23
+ [x] Works with data set #24
+ [x] Works with data set #25
+ [x] Works with data set #26
+ [x] Works with data set #27
+ [x] Works with data set #28
+ [x] Works with data set #29
+ [x] Works with data set #30
+ [x] Works with data set #31
+ [x] Works with data set #32
+ [x] Works with data set #33
+ [x] Works with data set #34
+ [x] Works with data set #35
+ [x] Works with data set #36
+ [x] Works with data set #37
+ [x] Works with data set #38
+ [x] Works with data set #39
+ [x] Works with data set #40
+ [x] Works with data set #41
+ [x] Works with data set #42
+ [x] Works with data set #43
+ [x] Works with data set #44
+ [x] Works with data set #45
+ [x] Works with data set #46
+ [x] Works with data set #47
+ [x] Works with data set #48
+ [x] Works with data set #49
+ [x] Works with data set #50
+ [x] Works with data set #51
+ [x] Works with data set #52
+ [x] Works with data set #53
+ [x] Works with data set #54
+ [x] Works with data set #55
+ [x] Works with data set #56
+ [x] Works with data set #57
+ [x] Works with data set #58
+ [x] Works with data set #59
+ [x] Works with data set #60
+ [x] Works with data set #61
+ [x] Works with data set #62
+ [x] Works with data set #63
+ [x] Works with data set #64
+ [x] Works with data set #65
+ [x] Works with data set #66
+ [x] Works with data set #67
+ [x] Works with data set #68
+ [x] Works with data set #69
+ [x] Works with data set #70
+ [x] Works with data set #71
+ [x] Works with data set #72
+ [x] Works with data set #73
+ [x] Works with data set #74
+ [x] Works with data set #75
+ [x] Works with data set #76
+ [x] Works with data set #77
+ [x] Works with data set #78
+ [x] Works with data set #79
+ [x] Works with data set #80
+ [x] Works with data set #81
+ [x] Works with data set #82
+ [x] Works with data set #83
+ [x] Works with data set #84
+ [x] Works with data set #85
+ [x] Works with data set #86
+ [x] Works with data set #87
+ [x] JavaScript tests with data set #0
+ [x] JavaScript tests with data set #1
s9e\TextFormatter\Tests\Parser\RulesHandling
- [x] Works
+ [x] Works with data set #0
+ [x] Works with data set #1
+ [x] Works with data set #2
+ [x] Works with data set #3
+ [x] Works with data set #4
+ [x] Works with data set #5
+ [x] Works with data set #6
+ [x] Works with data set #7
+ [x] Works with data set #8
+ [x] Works with data set #9
+ [x] Works with data set #10
+ [x] Works with data set #11
+ [x] Works with data set #12
+ [x] Works with data set #13
+ [x] Works with data set #14
+ [x] Works with data set #15
+ [x] Works with data set #16
+ [x] Works with data set #17
+ [x] Works with data set #18
+ [x] Works with data set #19
+ [x] Works with data set #20
+ [x] Works with data set #21
+ [x] Works with data set #22
+ [x] Works with data set #23
+ [x] Works with data set #24
+ [x] Works with data set #25
s9e\TextFormatter\Tests\Parser\AttributeFilters\AlnumFilter
- [x] Filter
- [x] J s filter
+ [x] Filter with data set #0
+ [x] Filter with data set #1
+ [x] Filter with data set #2
+ [x] Filter with data set #3
+ [x] Filter with data set #4
+ [x] J s filter with data set #0
+ [x] J s filter with data set #1
+ [x] J s filter with data set #2
+ [x] J s filter with data set #3
+ [x] J s filter with data set #4
s9e\TextFormatter\Tests\Parser\AttributeFilters\ColorFilter
- [x] Filter
- [x] J s filter
+ [x] Filter with data set #0
+ [x] Filter with data set #1
+ [x] Filter with data set #2
+ [x] Filter with data set #3
+ [x] Filter with data set #4
+ [x] Filter with data set #5
+ [x] Filter with data set #6
+ [x] Filter with data set #7
+ [x] Filter with data set #8
+ [x] Filter with data set #9
+ [x] Filter with data set #10
+ [x] J s filter with data set #0
+ [x] J s filter with data set #1
+ [x] J s filter with data set #2
+ [x] J s filter with data set #3
+ [x] J s filter with data set #4
+ [x] J s filter with data set #5
+ [x] J s filter with data set #6
+ [x] J s filter with data set #7
+ [x] J s filter with data set #8
+ [x] J s filter with data set #9
+ [x] J s filter with data set #10
s9e\TextFormatter\Tests\Parser\AttributeFilters\EmailFilter
- [x] Filter
- [x] J s filter
+ [x] Filter with data set #0
+ [x] Filter with data set #1
+ [x] J s filter with data set #0
+ [x] J s filter with data set #1
s9e\TextFormatter\Tests\Parser\AttributeFilters\FalseFilter
- [x] Filter
- [x] J s filter
+ [x] Filter with data set #0
+ [x] Filter with data set #1
+ [x] J s filter with data set #0
+ [x] J s filter with data set #1
s9e\TextFormatter\Tests\Parser\AttributeFilters\FontfamilyFilter
- [x] Filter
- [x] J s filter
+ [x] Filter with data set #0
+ [x] Filter with data set #1
+ [x] Filter with data set #2
+ [x] Filter with data set #3
+ [x] Filter with data set #4
+ [x] Filter with data set #5
+ [x] Filter with data set #6
+ [x] Filter with data set #7
+ [x] Filter with data set #8
+ [x] J s filter with data set #0
+ [x] J s filter with data set #1
+ [x] J s filter with data set #2
+ [x] J s filter with data set #3
+ [x] J s filter with data set #4
+ [x] J s filter with data set #5
+ [x] J s filter with data set #6
+ [x] J s filter with data set #7
+ [x] J s filter with data set #8
s9e\TextFormatter\Tests\Parser\AttributeFilters\HashmapFilter
- [x] Filter
- [x] J s filter
+ [x] Filter with data set #0
+ [x] Filter with data set #1
+ [x] Filter with data set #2
+ [x] Filter with data set #3
+ [x] J s filter with data set #0
+ [x] J s filter with data set #1
+ [x] J s filter with data set #2
+ [x] J s filter with data set #3
s9e\TextFormatter\Tests\Parser\AttributeFilters\IdentifierFilter
- [x] Filter
- [x] J s filter
+ [x] Filter with data set #0
+ [x] Filter with data set #1
+ [x] Filter with data set #2
+ [x] J s filter with data set #0
+ [x] J s filter with data set #1
+ [x] J s filter with data set #2
s9e\TextFormatter\Tests\Parser\AttributeFilters\MapFilter
- [x] Filter
- [x] J s filter
+ [x] Filter with data set #0
+ [x] Filter with data set #1
+ [x] Filter with data set #2
+ [x] J s filter with data set #0
+ [x] J s filter with data set #1
+ [x] J s filter with data set #2
s9e\TextFormatter\Tests\Parser\AttributeFilters\NetworkFilter
- [x] Filter
- [x] J s filter
+ [x] Filter with data set #0
+ [x] Filter with data set #1
+ [x] Filter with data set #2
+ [x] Filter with data set #3
+ [x] Filter with data set #4
+ [x] Filter with data set #5
+ [x] Filter with data set #6
+ [x] Filter with data set #7
+ [x] Filter with data set #8
+ [x] Filter with data set #9
+ [x] Filter with data set #10
+ [x] Filter with data set #11
+ [x] Filter with data set #12
+ [x] Filter with data set #13
+ [x] Filter with data set #14
+ [x] J s filter with data set #0
+ [x] J s filter with data set #1
+ [x] J s filter with data set #2
+ [x] J s filter with data set #3
+ [x] J s filter with data set #4
+ [x] J s filter with data set #5
+ [x] J s filter with data set #6
+ [x] J s filter with data set #7
+ [x] J s filter with data set #8
+ [x] J s filter with data set #9
+ [x] J s filter with data set #10
+ [x] J s filter with data set #11
+ [x] J s filter with data set #12
+ [x] J s filter with data set #13
+ [x] J s filter with data set #14
s9e\TextFormatter\Tests\Parser\AttributeFilters\NumericFilter
- [x] Regression tests
- [x] Filter
- [x] J s filter
+ [x] Regression tests with data set #0
+ [x] Regression tests with data set #1
+ [x] Regression tests with data set #2
+ [x] Regression tests with data set #3
+ [x] Regression tests with data set #4
+ [x] Regression tests with data set #5
+ [x] Regression tests with data set #6
+ [x] Regression tests with data set #7
+ [x] Regression tests with data set #8
+ [x] Regression tests with data set #9
+ [x] Regression tests with data set #10
+ [x] Filter with data set #0
+ [x] Filter with data set #1
+ [x] Filter with data set #2
+ [x] Filter with data set #3
+ [x] Filter with data set #4
+ [x] Filter with data set #5
+ [x] Filter with data set #6
+ [x] Filter with data set #7
+ [x] Filter with data set #8
+ [x] Filter with data set #9
+ [x] Filter with data set #10
+ [x] Filter with data set #11
+ [x] Filter with data set #12
+ [x] Filter with data set #13
+ [x] Filter with data set #14
+ [x] J s filter with data set #0
+ [x] J s filter with data set #1
+ [x] J s filter with data set #2
+ [x] J s filter with data set #3
+ [x] J s filter with data set #4
+ [x] J s filter with data set #5
+ [x] J s filter with data set #6
+ [x] J s filter with data set #7
+ [x] J s filter with data set #8
+ [x] J s filter with data set #9
+ [x] J s filter with data set #10
+ [x] J s filter with data set #11
+ [x] J s filter with data set #12
+ [x] J s filter with data set #13
+ [x] J s filter with data set #14
s9e\TextFormatter\Tests\Parser\AttributeFilters\RangeFilter
- [x] Filter
- [x] J s filter
+ [x] Filter with data set #0
+ [x] Filter with data set #1
+ [x] Filter with data set #2
+ [x] Filter with data set #3
+ [x] Filter with data set #4
+ [x] Filter with data set #5
+ [x] J s filter with data set #0
+ [x] J s filter with data set #1
+ [x] J s filter with data set #2
+ [x] J s filter with data set #3
+ [x] J s filter with data set #4
+ [x] J s filter with data set #5
s9e\TextFormatter\Tests\Parser\AttributeFilters\RegexpFilter
- [x] Filter
- [x] J s filter
+ [x] Filter with data set #0
+ [x] Filter with data set #1
+ [x] J s filter with data set #0
+ [x] J s filter with data set #1
s9e\TextFormatter\Tests\Parser\AttributeFilters\SimpletextFilter
- [x] Filter
- [x] J s filter
+ [x] Filter with data set #0
+ [x] Filter with data set #1
+ [x] Filter with data set #2
+ [x] J s filter with data set #0
+ [x] J s filter with data set #1
+ [x] J s filter with data set #2
s9e\TextFormatter\Tests\Parser\AttributeFilters\TimestampFilter
- [x] Filter
- [x] J s filter
+ [x] Filter with data set #0
+ [x] Filter with data set #1
+ [x] Filter with data set #2
+ [x] Filter with data set #3
+ [x] Filter with data set #4
+ [x] Filter with data set #5
+ [x] Filter with data set #6
+ [x] Filter with data set #7
+ [x] Filter with data set #8
+ [x] Filter with data set #9
+ [x] Filter with data set #10
+ [x] J s filter with data set #0
+ [x] J s filter with data set #1
+ [x] J s filter with data set #2
+ [x] J s filter with data set #3
+ [x] J s filter with data set #4
+ [x] J s filter with data set #5
+ [x] J s filter with data set #6
+ [x] J s filter with data set #7
+ [x] J s filter with data set #8
+ [x] J s filter with data set #9
+ [x] J s filter with data set #10
s9e\TextFormatter\Tests\Parser\AttributeFilters\UrlFilter
[x] filterUrl() can be called without a logger
- [x] sanitizeUrl() tests
- [x] Filter
- [x] J s filter
+ [x] sanitizeUrl() tests with data set #0
+ [x] sanitizeUrl() tests with data set #1
+ [x] sanitizeUrl() tests with data set #2
+ [x] sanitizeUrl() tests with data set #3
+ [x] sanitizeUrl() tests with data set #4
+ [x] sanitizeUrl() tests with data set #5
+ [x] sanitizeUrl() tests with data set #6
+ [x] sanitizeUrl() tests with data set #7
+ [x] sanitizeUrl() tests with data set #8
+ [x] sanitizeUrl() tests with data set #9
+ [x] sanitizeUrl() tests with data set #10
+ [x] sanitizeUrl() tests with data set #11
+ [x] sanitizeUrl() tests with data set #12
+ [x] sanitizeUrl() tests with data set #13
+ [x] sanitizeUrl() tests with data set #14
+ [x] sanitizeUrl() tests with data set #15
+ [x] sanitizeUrl() tests with data set #16
+ [x] Filter with data set #0
+ [x] Filter with data set #1
+ [x] Filter with data set #2
+ [x] Filter with data set #3
+ [x] Filter with data set #4
+ [x] Filter with data set #5
+ [x] Filter with data set #6
+ [x] Filter with data set #7
+ [x] Filter with data set #8
+ [x] Filter with data set #9
+ [x] Filter with data set #10
+ [x] Filter with data set #11
+ [x] Filter with data set #12
+ [x] Filter with data set #13
+ [x] Filter with data set #14
+ [x] Filter with data set #15
+ [x] Filter with data set #16
+ [x] Filter with data set #17
+ [x] Filter with data set #18
+ [x] Filter with data set #19
+ [x] Filter with data set #20
+ [x] Filter with data set #21
+ [x] Filter with data set #22
+ [x] Filter with data set #23
+ [x] Filter with data set #24
+ [x] Filter with data set #25
+ [x] Filter with data set #26
+ [x] Filter with data set #27
+ [x] Filter with data set #28
+ [x] Filter with data set #29
+ [x] Filter with data set #30
+ [x] Filter with data set #31
+ [x] Filter with data set #32
+ [x] Filter with data set #33
+ [x] Filter with data set #34
+ [x] Filter with data set #35
+ [x] Filter with data set #36
+ [x] Filter with data set #37
+ [x] Filter with data set #38
+ [x] Filter with data set #39
+ [x] Filter with data set #40
+ [x] Filter with data set #41
+ [x] Filter with data set #42
+ [x] Filter with data set #43
+ [x] Filter with data set #44
+ [x] Filter with data set #45
+ [x] Filter with data set #46
+ [x] Filter with data set #47
+ [x] Filter with data set #48
+ [x] Filter with data set #49
+ [x] Filter with data set #50
+ [x] Filter with data set #51
+ [x] Filter with data set #52
+ [x] Filter with data set #53
+ [x] Filter with data set #54
+ [x] Filter with data set #55
+ [x] Filter with data set #56
+ [x] Filter with data set #57
+ [x] J s filter with data set #0
+ [x] J s filter with data set #1
+ [x] J s filter with data set #2
+ [x] J s filter with data set #3
+ [x] J s filter with data set #4
+ [x] J s filter with data set #5
+ [x] J s filter with data set #6
+ [x] J s filter with data set #7
+ [x] J s filter with data set #8
+ [x] J s filter with data set #9
+ [x] J s filter with data set #10
+ [x] J s filter with data set #11
+ [x] J s filter with data set #12
+ [x] J s filter with data set #13
+ [x] J s filter with data set #14
+ [x] J s filter with data set #15
+ [x] J s filter with data set #16
+ [x] J s filter with data set #17
+ [x] J s filter with data set #18
+ [x] J s filter with data set #19
+ [x] J s filter with data set #20
+ [x] J s filter with data set #21
+ [x] J s filter with data set #22
+ [x] J s filter with data set #23
+ [x] J s filter with data set #24
+ [x] J s filter with data set #25
+ [x] J s filter with data set #26
+ [x] J s filter with data set #27
+ [x] J s filter with data set #28
+ [x] J s filter with data set #29
+ [x] J s filter with data set #30
+ [x] J s filter with data set #31
+ [x] J s filter with data set #32
+ [x] J s filter with data set #33
+ [x] J s filter with data set #34
+ [x] J s filter with data set #35
+ [x] J s filter with data set #36
+ [x] J s filter with data set #37
+ [x] J s filter with data set #38
+ [x] J s filter with data set #39
+ [x] J s filter with data set #40
+ [x] J s filter with data set #41
+ [x] J s filter with data set #42
+ [x] J s filter with data set #43
+ [x] J s filter with data set #44
+ [x] J s filter with data set #45
+ [x] J s filter with data set #46
+ [x] J s filter with data set #47
+ [x] J s filter with data set #48
+ [x] J s filter with data set #49
+ [x] J s filter with data set #50
+ [x] J s filter with data set #51
+ [x] J s filter with data set #52
+ [x] J s filter with data set #53
+ [x] J s filter with data set #54
+ [x] J s filter with data set #55
+ [x] J s filter with data set #56
+ [x] J s filter with data set #57
s9e\TextFormatter\Tests\Parser
[x] Parser is serializable
@@ -2061,9 +3209,19 @@ s9e\TextFormatter\Tests\Plugins\Autoemail\Configurator
[x] getTag() returns the tag that is associated with this plugin
s9e\TextFormatter\Tests\Plugins\Autoemail\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
s9e\TextFormatter\Tests\Plugins\Autoimage\Configurator
[x] Automatically creates an "IMG" tag with a "src" attribute with a "#url" filter
@@ -2077,9 +3235,27 @@ s9e\TextFormatter\Tests\Plugins\Autoimage\Configurator
[x] getTag() returns the tag that is associated with this plugin
s9e\TextFormatter\Tests\Plugins\Autoimage\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
s9e\TextFormatter\Tests\Plugins\Autolink\Configurator
[x] Automatically creates an "URL" tag with an "url" attribute with a "#url" filter
@@ -2101,9 +3277,72 @@ s9e\TextFormatter\Tests\Plugins\Autolink\Configurator
[x] getTag() returns the tag that is associated with this plugin
s9e\TextFormatter\Tests\Plugins\Autolink\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests with data set #10
+ [x] Parsing tests with data set #11
+ [x] Parsing tests with data set #12
+ [x] Parsing tests with data set #13
+ [x] Parsing tests with data set #14
+ [x] Parsing tests with data set #15
+ [x] Parsing tests with data set #16
+ [x] Parsing tests with data set #17
+ [x] Parsing tests with data set #18
+ [x] Parsing tests with data set #19
+ [x] Parsing tests with data set #20
+ [x] Parsing tests with data set #21
+ [x] Parsing tests with data set #22
+ [x] Parsing tests with data set #23
+ [x] Parsing tests with data set #24
+ [x] Parsing tests with data set #25
+ [x] Parsing tests with data set #26
+ [x] Parsing tests with data set #27
+ [x] Parsing tests with data set #28
+ [x] Parsing tests with data set #29
+ [x] Parsing tests with data set #30
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing tests (JavaScript) with data set #10
+ [x] Parsing tests (JavaScript) with data set #11
+ [x] Parsing tests (JavaScript) with data set #12
+ [x] Parsing tests (JavaScript) with data set #13
+ [x] Parsing tests (JavaScript) with data set #14
+ [x] Parsing tests (JavaScript) with data set #15
+ [x] Parsing tests (JavaScript) with data set #16
+ [x] Parsing tests (JavaScript) with data set #17
+ [x] Parsing tests (JavaScript) with data set #18
+ [x] Parsing tests (JavaScript) with data set #19
+ [x] Parsing tests (JavaScript) with data set #20
+ [x] Parsing tests (JavaScript) with data set #21
+ [x] Parsing tests (JavaScript) with data set #22
+ [x] Parsing tests (JavaScript) with data set #23
+ [x] Parsing tests (JavaScript) with data set #24
+ [x] Parsing tests (JavaScript) with data set #25
+ [x] Parsing tests (JavaScript) with data set #26
+ [x] Parsing tests (JavaScript) with data set #27
+ [x] Parsing tests (JavaScript) with data set #28
+ [x] Parsing tests (JavaScript) with data set #29
+ [x] Parsing tests (JavaScript) with data set #30
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
+ [x] Parsing+rendering tests with data set #3
s9e\TextFormatter\Tests\Plugins\Autovideo\Configurator
[x] Automatically creates a "VIDEO" tag with a "src" attribute with a "#url" filter
@@ -2117,9 +3356,27 @@ s9e\TextFormatter\Tests\Plugins\Autovideo\Configurator
[x] getTag() returns the tag that is associated with this plugin
s9e\TextFormatter\Tests\Plugins\Autovideo\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
s9e\TextFormatter\Tests\Plugins\BBCodes\Configurator\BBCode
[x] An array of options can be passed to the constructor
@@ -2151,7 +3408,100 @@ s9e\TextFormatter\Tests\Plugins\BBCodes\Configurator\BBCodeMonkey
[x] $bbcodeMonkey->allowedFilters is a publicly-accessible list of callbacks
[x] create() creates and return a BBCode, its name and its tag
[x] create() accepts an instance of UnsafeTemplate as second argument
- [x] create() tests
+ [x] create() tests with data set #0
+ [x] create() tests with data set #1
+ [x] create() tests with data set #2
+ [x] create() tests with data set #3
+ [x] create() tests with data set #4
+ [x] create() tests with data set #5
+ [x] create() tests with data set #6
+ [x] create() tests with data set #7
+ [x] create() tests with data set #8
+ [x] create() tests with data set #9
+ [x] create() tests with data set #10
+ [x] create() tests with data set #11
+ [x] create() tests with data set #12
+ [x] create() tests with data set #13
+ [x] create() tests with data set #14
+ [x] create() tests with data set #15
+ [x] create() tests with data set #16
+ [x] create() tests with data set #17
+ [x] create() tests with data set #18
+ [x] create() tests with data set #19
+ [x] create() tests with data set #20
+ [x] create() tests with data set #21
+ [x] create() tests with data set #22
+ [x] create() tests with data set #23
+ [x] create() tests with data set #24
+ [x] create() tests with data set #25
+ [x] create() tests with data set #26
+ [x] create() tests with data set #27
+ [x] create() tests with data set #28
+ [x] create() tests with data set #29
+ [x] create() tests with data set #30
+ [x] create() tests with data set #31
+ [x] create() tests with data set #32
+ [x] create() tests with data set #33
+ [x] create() tests with data set #34
+ [x] create() tests with data set #35
+ [x] create() tests with data set #36
+ [x] create() tests with data set #37
+ [x] create() tests with data set #38
+ [x] create() tests with data set #39
+ [x] create() tests with data set #40
+ [x] create() tests with data set #41
+ [x] create() tests with data set #42
+ [x] create() tests with data set #43
+ [x] create() tests with data set #44
+ [x] create() tests with data set #45
+ [x] create() tests with data set #46
+ [x] create() tests with data set #47
+ [x] create() tests with data set #48
+ [x] create() tests with data set #49
+ [x] create() tests with data set #50
+ [x] create() tests with data set #51
+ [x] create() tests with data set #52
+ [x] create() tests with data set #53
+ [x] create() tests with data set #54
+ [x] create() tests with data set #55
+ [x] create() tests with data set #56
+ [x] create() tests with data set #57
+ [x] create() tests with data set #58
+ [x] create() tests with data set #59
+ [x] create() tests with data set #60
+ [x] create() tests with data set #61
+ [x] create() tests with data set #62
+ [x] create() tests with data set #63
+ [x] create() tests with data set #64
+ [x] create() tests with data set #65
+ [x] create() tests with data set #66
+ [x] create() tests with data set #67
+ [x] create() tests with data set #68
+ [x] create() tests with data set #69
+ [x] create() tests with data set #70
+ [x] create() tests with data set #71
+ [x] create() tests with data set #72
+ [x] create() tests with data set #73
+ [x] create() tests with data set #74
+ [x] create() tests with data set #75
+ [x] create() tests with data set #76
+ [x] create() tests with data set #77
+ [x] create() tests with data set #78
+ [x] create() tests with data set #79
+ [x] create() tests with data set #80
+ [x] create() tests with data set #81
+ [x] create() tests with data set #82
+ [x] create() tests with data set #83
+ [x] create() tests with data set #84
+ [x] create() tests with data set #85
+ [x] create() tests with data set #86
+ [x] create() tests with data set #87
+ [x] create() tests with data set #88
+ [x] create() tests with data set #89
+ [x] create() tests with data set #90
+ [x] create() tests with data set #91
+ [x] create() tests with data set #92
+ [x] create() tests with data set #93
s9e\TextFormatter\Tests\Plugins\BBCodes\Configurator\Repository
[x] __construct() accepts the path to an XML file as argument
@@ -2198,13 +3548,350 @@ s9e\TextFormatter\Tests\Plugins\BBCodes\Configurator
[x] asConfig() returns BBCodes in a Dictionary
s9e\TextFormatter\Tests\Plugins\BBCodes\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests with data set #10
+ [x] Parsing tests with data set #11
+ [x] Parsing tests with data set #12
+ [x] Parsing tests with data set #13
+ [x] Parsing tests with data set #14
+ [x] Parsing tests with data set #15
+ [x] Parsing tests with data set #16
+ [x] Parsing tests with data set #17
+ [x] Parsing tests with data set #18
+ [x] Parsing tests with data set #19
+ [x] Parsing tests with data set #20
+ [x] Parsing tests with data set #21
+ [x] Parsing tests with data set #22
+ [x] Parsing tests with data set #23
+ [x] Parsing tests with data set #24
+ [x] Parsing tests with data set #25
+ [x] Parsing tests with data set #26
+ [x] Parsing tests with data set #27
+ [x] Parsing tests with data set #28
+ [x] Parsing tests with data set #29
+ [x] Parsing tests with data set #30
+ [x] Parsing tests with data set #31
+ [x] Parsing tests with data set #32
+ [x] Parsing tests with data set #33
+ [x] Parsing tests with data set #34
+ [x] Parsing tests with data set #35
+ [x] Parsing tests with data set #36
+ [x] Parsing tests with data set #37
+ [x] Parsing tests with data set #38
+ [x] Parsing tests with data set #39
+ [x] Parsing tests with data set #40
+ [x] Parsing tests with data set #41
+ [x] Parsing tests with data set #42
+ [x] Parsing tests with data set #43
+ [x] Parsing tests with data set #44
+ [x] Parsing tests with data set #45
+ [x] Parsing tests with data set #46
+ [x] Parsing tests with data set #47
+ [x] Parsing tests with data set #48
+ [x] Parsing tests with data set #49
+ [x] Parsing tests with data set #50
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing tests (JavaScript) with data set #10
+ [x] Parsing tests (JavaScript) with data set #11
+ [x] Parsing tests (JavaScript) with data set #12
+ [x] Parsing tests (JavaScript) with data set #13
+ [x] Parsing tests (JavaScript) with data set #14
+ [x] Parsing tests (JavaScript) with data set #15
+ [x] Parsing tests (JavaScript) with data set #16
+ [x] Parsing tests (JavaScript) with data set #17
+ [x] Parsing tests (JavaScript) with data set #18
+ [x] Parsing tests (JavaScript) with data set #19
+ [x] Parsing tests (JavaScript) with data set #20
+ [x] Parsing tests (JavaScript) with data set #21
+ [x] Parsing tests (JavaScript) with data set #22
+ [x] Parsing tests (JavaScript) with data set #23
+ [x] Parsing tests (JavaScript) with data set #24
+ [x] Parsing tests (JavaScript) with data set #25
+ [x] Parsing tests (JavaScript) with data set #26
+ [x] Parsing tests (JavaScript) with data set #27
+ [x] Parsing tests (JavaScript) with data set #28
+ [x] Parsing tests (JavaScript) with data set #29
+ [x] Parsing tests (JavaScript) with data set #30
+ [x] Parsing tests (JavaScript) with data set #31
+ [x] Parsing tests (JavaScript) with data set #32
+ [x] Parsing tests (JavaScript) with data set #33
+ [x] Parsing tests (JavaScript) with data set #34
+ [x] Parsing tests (JavaScript) with data set #35
+ [x] Parsing tests (JavaScript) with data set #36
+ [x] Parsing tests (JavaScript) with data set #37
+ [x] Parsing tests (JavaScript) with data set #38
+ [x] Parsing tests (JavaScript) with data set #39
+ [x] Parsing tests (JavaScript) with data set #40
+ [x] Parsing tests (JavaScript) with data set #41
+ [x] Parsing tests (JavaScript) with data set #42
+ [x] Parsing tests (JavaScript) with data set #43
+ [x] Parsing tests (JavaScript) with data set #44
+ [x] Parsing tests (JavaScript) with data set #45
+ [x] Parsing tests (JavaScript) with data set #46
+ [x] Parsing tests (JavaScript) with data set #47
+ [x] Parsing tests (JavaScript) with data set #48
+ [x] Parsing tests (JavaScript) with data set #49
+ [x] Parsing tests (JavaScript) with data set #50
s9e\TextFormatter\Tests\Plugins\BBCodes\BBCodes
- [x] Examples from BBCodeMonkey.md
- [x] BBCodes from repository.xml render nicely
- [x] BBCodes from repository.xml are parsed identically by the JavaScript parser
+ [x] Examples from BBCodeMonkey.md with data set #0
+ [x] Examples from BBCodeMonkey.md with data set #1
+ [x] Examples from BBCodeMonkey.md with data set #2
+ [x] Examples from BBCodeMonkey.md with data set #3
+ [x] Examples from BBCodeMonkey.md with data set #4
+ [x] Examples from BBCodeMonkey.md with data set #5
+ [x] BBCodes from repository.xml render nicely with data set #0
+ [x] BBCodes from repository.xml render nicely with data set #1
+ [x] BBCodes from repository.xml render nicely with data set #2
+ [x] BBCodes from repository.xml render nicely with data set #3
+ [x] BBCodes from repository.xml render nicely with data set #4
+ [x] BBCodes from repository.xml render nicely with data set #5
+ [x] BBCodes from repository.xml render nicely with data set #6
+ [x] BBCodes from repository.xml render nicely with data set #7
+ [x] BBCodes from repository.xml render nicely with data set #8
+ [x] BBCodes from repository.xml render nicely with data set #9
+ [x] BBCodes from repository.xml render nicely with data set #10
+ [x] BBCodes from repository.xml render nicely with data set #11
+ [x] BBCodes from repository.xml render nicely with data set #12
+ [x] BBCodes from repository.xml render nicely with data set #13
+ [x] BBCodes from repository.xml render nicely with data set #14
+ [x] BBCodes from repository.xml render nicely with data set #15
+ [x] BBCodes from repository.xml render nicely with data set #16
+ [x] BBCodes from repository.xml render nicely with data set #17
+ [x] BBCodes from repository.xml render nicely with data set #18
+ [x] BBCodes from repository.xml render nicely with data set #19
+ [x] BBCodes from repository.xml render nicely with data set #20
+ [x] BBCodes from repository.xml render nicely with data set #21
+ [x] BBCodes from repository.xml render nicely with data set #22
+ [x] BBCodes from repository.xml render nicely with data set #23
+ [x] BBCodes from repository.xml render nicely with data set #24
+ [x] BBCodes from repository.xml render nicely with data set #25
+ [x] BBCodes from repository.xml render nicely with data set #26
+ [x] BBCodes from repository.xml render nicely with data set #27
+ [x] BBCodes from repository.xml render nicely with data set #28
+ [x] BBCodes from repository.xml render nicely with data set #29
+ [x] BBCodes from repository.xml render nicely with data set #30
+ [x] BBCodes from repository.xml render nicely with data set #31
+ [x] BBCodes from repository.xml render nicely with data set #32
+ [x] BBCodes from repository.xml render nicely with data set #33
+ [x] BBCodes from repository.xml render nicely with data set #34
+ [x] BBCodes from repository.xml render nicely with data set #35
+ [x] BBCodes from repository.xml render nicely with data set #36
+ [x] BBCodes from repository.xml render nicely with data set #37
+ [x] BBCodes from repository.xml render nicely with data set #38
+ [x] BBCodes from repository.xml render nicely with data set #39
+ [x] BBCodes from repository.xml render nicely with data set #40
+ [x] BBCodes from repository.xml render nicely with data set #41
+ [x] BBCodes from repository.xml render nicely with data set #42
+ [x] BBCodes from repository.xml render nicely with data set #43
+ [x] BBCodes from repository.xml render nicely with data set #44
+ [x] BBCodes from repository.xml render nicely with data set #45
+ [x] BBCodes from repository.xml render nicely with data set #46
+ [x] BBCodes from repository.xml render nicely with data set #47
+ [x] BBCodes from repository.xml render nicely with data set #48
+ [x] BBCodes from repository.xml render nicely with data set #49
+ [x] BBCodes from repository.xml render nicely with data set #50
+ [x] BBCodes from repository.xml render nicely with data set #51
+ [x] BBCodes from repository.xml render nicely with data set #52
+ [x] BBCodes from repository.xml render nicely with data set #53
+ [x] BBCodes from repository.xml render nicely with data set #54
+ [x] BBCodes from repository.xml render nicely with data set #55
+ [x] BBCodes from repository.xml render nicely with data set #56
+ [x] BBCodes from repository.xml render nicely with data set #57
+ [x] BBCodes from repository.xml render nicely with data set #58
+ [x] BBCodes from repository.xml render nicely with data set #59
+ [x] BBCodes from repository.xml render nicely with data set #60
+ [x] BBCodes from repository.xml render nicely with data set #61
+ [x] BBCodes from repository.xml render nicely with data set #62
+ [x] BBCodes from repository.xml render nicely with data set #63
+ [x] BBCodes from repository.xml render nicely with data set #64
+ [x] BBCodes from repository.xml render nicely with data set #65
+ [x] BBCodes from repository.xml render nicely with data set #66
+ [x] BBCodes from repository.xml render nicely with data set #67
+ [x] BBCodes from repository.xml render nicely with data set #68
+ [x] BBCodes from repository.xml render nicely with data set #69
+ [x] BBCodes from repository.xml render nicely with data set #70
+ [x] BBCodes from repository.xml render nicely with data set #71
+ [x] BBCodes from repository.xml render nicely with data set #72
+ [x] BBCodes from repository.xml render nicely with data set #73
+ [x] BBCodes from repository.xml render nicely with data set #74
+ [x] BBCodes from repository.xml render nicely with data set #75
+ [x] BBCodes from repository.xml render nicely with data set #76
+ [x] BBCodes from repository.xml render nicely with data set #77
+ [x] BBCodes from repository.xml render nicely with data set #78
+ [x] BBCodes from repository.xml render nicely with data set #79
+ [x] BBCodes from repository.xml render nicely with data set #80
+ [x] BBCodes from repository.xml render nicely with data set #81
+ [x] BBCodes from repository.xml render nicely with data set #82
+ [x] BBCodes from repository.xml render nicely with data set #83
+ [x] BBCodes from repository.xml render nicely with data set #84
+ [x] BBCodes from repository.xml render nicely with data set #85
+ [x] BBCodes from repository.xml render nicely with data set #86
+ [x] BBCodes from repository.xml render nicely with data set #87
+ [x] BBCodes from repository.xml render nicely with data set #88
+ [x] BBCodes from repository.xml render nicely with data set #89
+ [x] BBCodes from repository.xml render nicely with data set #90
+ [x] BBCodes from repository.xml render nicely with data set #91
+ [x] BBCodes from repository.xml render nicely with data set #92
+ [x] BBCodes from repository.xml render nicely with data set #93
+ [x] BBCodes from repository.xml render nicely with data set #94
+ [x] BBCodes from repository.xml render nicely with data set #95
+ [x] BBCodes from repository.xml render nicely with data set #96
+ [x] BBCodes from repository.xml render nicely with data set #97
+ [x] BBCodes from repository.xml render nicely with data set #98
+ [x] BBCodes from repository.xml render nicely with data set #99
+ [x] BBCodes from repository.xml render nicely with data set #100
+ [x] BBCodes from repository.xml render nicely with data set #101
+ [x] BBCodes from repository.xml render nicely with data set #102
+ [x] BBCodes from repository.xml render nicely with data set #103
+ [x] BBCodes from repository.xml render nicely with data set #104
+ [x] BBCodes from repository.xml render nicely with data set #105
+ [x] BBCodes from repository.xml render nicely with data set #106
+ [x] BBCodes from repository.xml render nicely with data set #107
+ [x] BBCodes from repository.xml render nicely with data set #108
+ [x] BBCodes from repository.xml render nicely with data set #109
+ [x] BBCodes from repository.xml render nicely with data set #110
+ [x] BBCodes from repository.xml render nicely with data set #111
+ [x] BBCodes from repository.xml render nicely with data set #112
+ [x] BBCodes from repository.xml render nicely with data set #113
+ [x] BBCodes from repository.xml render nicely with data set #114
+ [x] BBCodes from repository.xml render nicely with data set #115
+ [x] BBCodes from repository.xml render nicely with data set #116
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #0
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #1
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #2
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #3
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #4
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #5
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #6
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #7
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #8
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #9
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #10
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #11
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #12
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #13
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #14
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #15
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #16
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #17
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #18
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #19
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #20
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #21
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #22
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #23
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #24
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #25
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #26
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #27
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #28
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #29
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #30
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #31
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #32
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #33
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #34
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #35
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #36
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #37
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #38
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #39
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #40
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #41
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #42
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #43
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #44
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #45
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #46
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #47
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #48
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #49
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #50
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #51
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #52
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #53
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #54
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #55
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #56
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #57
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #58
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #59
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #60
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #61
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #62
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #63
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #64
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #65
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #66
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #67
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #68
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #69
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #70
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #71
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #72
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #73
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #74
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #75
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #76
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #77
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #78
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #79
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #80
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #81
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #82
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #83
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #84
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #85
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #86
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #87
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #88
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #89
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #90
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #91
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #92
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #93
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #94
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #95
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #96
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #97
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #98
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #99
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #100
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #101
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #102
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #103
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #104
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #105
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #106
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #107
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #108
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #109
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #110
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #111
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #112
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #113
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #114
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #115
+ [x] BBCodes from repository.xml are parsed identically by the JavaScript parser with data set #116
s9e\TextFormatter\Tests\Plugins\Censor\Configurator
[x] Automatically creates a "CENSOR" tag
@@ -2258,9 +3945,48 @@ s9e\TextFormatter\Tests\Plugins\Censor\Helper
[x] isCensored('word') returns FALSE if '*or*' is censored and 'word' is allowed
s9e\TextFormatter\Tests\Plugins\Censor\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests with data set #10
+ [x] Parsing tests with data set #11
+ [x] Parsing tests with data set #12
+ [x] Parsing tests with data set #13
+ [x] Parsing tests with data set #14
+ [x] Parsing tests with data set #15
+ [x] Parsing tests with data set #16
+ [x] Parsing tests with data set #17
+ [x] Parsing tests with data set #18
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing tests (JavaScript) with data set #10
+ [x] Parsing tests (JavaScript) with data set #11
+ [x] Parsing tests (JavaScript) with data set #12
+ [x] Parsing tests (JavaScript) with data set #13
+ [x] Parsing tests (JavaScript) with data set #14
+ [x] Parsing tests (JavaScript) with data set #15
+ [x] Parsing tests (JavaScript) with data set #16
+ [x] Parsing tests (JavaScript) with data set #17
+ [x] Parsing tests (JavaScript) with data set #18
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
+ [x] Parsing+rendering tests with data set #3
s9e\TextFormatter\Tests\Plugins\Emoji\Configurator
[x] Automatically creates an "EMOJI" tag
@@ -2282,9 +4008,57 @@ s9e\TextFormatter\Tests\Plugins\Emoji\Configurator
[x] getJSHints() returns ['EMOJI_HAS_CUSTOM_QUICKMATCH' => true] if an alias quick match exists
s9e\TextFormatter\Tests\Plugins\Emoji\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests with data set #10
+ [x] Parsing tests with data set #11
+ [x] Parsing tests with data set #12
+ [x] Parsing tests with data set #13
+ [x] Parsing tests with data set #14
+ [x] Parsing tests with data set #15
+ [x] Parsing tests with data set #16
+ [x] Parsing tests with data set #17
+ [x] Parsing tests with data set #18
+ [x] Parsing tests with data set #19
+ [x] Parsing tests with data set #20
+ [x] Parsing tests with data set #21
+ [x] Parsing tests with data set #22
+ [x] Parsing tests with data set #23
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing tests (JavaScript) with data set #10
+ [x] Parsing tests (JavaScript) with data set #11
+ [x] Parsing tests (JavaScript) with data set #12
+ [x] Parsing tests (JavaScript) with data set #13
+ [x] Parsing tests (JavaScript) with data set #14
+ [x] Parsing tests (JavaScript) with data set #15
+ [x] Parsing tests (JavaScript) with data set #16
+ [x] Parsing tests (JavaScript) with data set #17
+ [x] Parsing tests (JavaScript) with data set #18
+ [x] Parsing tests (JavaScript) with data set #19
+ [x] Parsing tests (JavaScript) with data set #20
+ [x] Parsing tests (JavaScript) with data set #21
+ [x] Parsing tests (JavaScript) with data set #22
+ [x] Parsing tests (JavaScript) with data set #23
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
s9e\TextFormatter\Tests\Plugins\Emoticons\Configurator
[x] Automatically creates an "E" tag
@@ -2320,9 +4094,21 @@ s9e\TextFormatter\Tests\Plugins\Emoticons\Configurator\EmoticonCollection
[x] Has a customized exception message on uninitialized access
s9e\TextFormatter\Tests\Plugins\Emoticons\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
+ [x] Parsing+rendering tests with data set #3
+ [x] Parsing+rendering tests with data set #4
s9e\TextFormatter\Tests\Plugins\Escaper\Configurator
[x] By default only escapes the characters !#()*+-.:@[\]^_`{|}
@@ -2336,9 +4122,18 @@ s9e\TextFormatter\Tests\Plugins\Escaper\Configurator
[x] getTag() returns the tag that is associated with this plugin
s9e\TextFormatter\Tests\Plugins\Escaper\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
+ [x] Parsing+rendering tests with data set #3
s9e\TextFormatter\Tests\Plugins\FancyPants\Configurator
[x] Automatically creates a "FP" tag
@@ -2353,9 +4148,130 @@ s9e\TextFormatter\Tests\Plugins\FancyPants\Configurator
[x] The config array does not contain a disableQuotes value if the quote pass is re-enabled
s9e\TextFormatter\Tests\Plugins\FancyPants\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests with data set #10
+ [x] Parsing tests with data set #11
+ [x] Parsing tests with data set #12
+ [x] Parsing tests with data set #13
+ [x] Parsing tests with data set #14
+ [x] Parsing tests with data set #15
+ [x] Parsing tests with data set #16
+ [x] Parsing tests with data set #17
+ [x] Parsing tests with data set #18
+ [x] Parsing tests with data set #19
+ [x] Parsing tests with data set #20
+ [x] Parsing tests with data set #21
+ [x] Parsing tests with data set #22
+ [x] Parsing tests with data set #23
+ [x] Parsing tests with data set #24
+ [x] Parsing tests with data set #25
+ [x] Parsing tests with data set #26
+ [x] Parsing tests with data set #27
+ [x] Parsing tests with data set #28
+ [x] Parsing tests with data set #29
+ [x] Parsing tests with data set #30
+ [x] Parsing tests with data set #31
+ [x] Parsing tests with data set #32
+ [x] Parsing tests with data set #33
+ [x] Parsing tests with data set #34
+ [x] Parsing tests with data set #35
+ [x] Parsing tests with data set #36
+ [x] Parsing tests with data set #37
+ [x] Parsing tests with data set #38
+ [x] Parsing tests with data set #39
+ [x] Parsing tests with data set #40
+ [x] Parsing tests with data set #41
+ [x] Parsing tests with data set #42
+ [x] Parsing tests with data set #43
+ [x] Parsing tests with data set #44
+ [x] Parsing tests with data set #45
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing tests (JavaScript) with data set #10
+ [x] Parsing tests (JavaScript) with data set #11
+ [x] Parsing tests (JavaScript) with data set #12
+ [x] Parsing tests (JavaScript) with data set #13
+ [x] Parsing tests (JavaScript) with data set #14
+ [x] Parsing tests (JavaScript) with data set #15
+ [x] Parsing tests (JavaScript) with data set #16
+ [x] Parsing tests (JavaScript) with data set #17
+ [x] Parsing tests (JavaScript) with data set #18
+ [x] Parsing tests (JavaScript) with data set #19
+ [x] Parsing tests (JavaScript) with data set #20
+ [x] Parsing tests (JavaScript) with data set #21
+ [x] Parsing tests (JavaScript) with data set #22
+ [x] Parsing tests (JavaScript) with data set #23
+ [x] Parsing tests (JavaScript) with data set #24
+ [x] Parsing tests (JavaScript) with data set #25
+ [x] Parsing tests (JavaScript) with data set #26
+ [x] Parsing tests (JavaScript) with data set #27
+ [x] Parsing tests (JavaScript) with data set #28
+ [x] Parsing tests (JavaScript) with data set #29
+ [x] Parsing tests (JavaScript) with data set #30
+ [x] Parsing tests (JavaScript) with data set #31
+ [x] Parsing tests (JavaScript) with data set #32
+ [x] Parsing tests (JavaScript) with data set #33
+ [x] Parsing tests (JavaScript) with data set #34
+ [x] Parsing tests (JavaScript) with data set #35
+ [x] Parsing tests (JavaScript) with data set #36
+ [x] Parsing tests (JavaScript) with data set #37
+ [x] Parsing tests (JavaScript) with data set #38
+ [x] Parsing tests (JavaScript) with data set #39
+ [x] Parsing tests (JavaScript) with data set #40
+ [x] Parsing tests (JavaScript) with data set #41
+ [x] Parsing tests (JavaScript) with data set #42
+ [x] Parsing tests (JavaScript) with data set #43
+ [x] Parsing tests (JavaScript) with data set #44
+ [x] Parsing tests (JavaScript) with data set #45
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
+ [x] Parsing+rendering tests with data set #3
+ [x] Parsing+rendering tests with data set #4
+ [x] Parsing+rendering tests with data set #5
+ [x] Parsing+rendering tests with data set #6
+ [x] Parsing+rendering tests with data set #7
+ [x] Parsing+rendering tests with data set #8
+ [x] Parsing+rendering tests with data set #9
+ [x] Parsing+rendering tests with data set #10
+ [x] Parsing+rendering tests with data set #11
+ [x] Parsing+rendering tests with data set #12
+ [x] Parsing+rendering tests with data set #13
+ [x] Parsing+rendering tests with data set #14
+ [x] Parsing+rendering tests with data set #15
+ [x] Parsing+rendering tests with data set #16
+ [x] Parsing+rendering tests with data set #17
+ [x] Parsing+rendering tests with data set #18
+ [x] Parsing+rendering tests with data set #19
+ [x] Parsing+rendering tests with data set #20
+ [x] Parsing+rendering tests with data set #21
+ [x] Parsing+rendering tests with data set #22
+ [x] Parsing+rendering tests with data set #23
+ [x] Parsing+rendering tests with data set #24
+ [x] Parsing+rendering tests with data set #25
+ [x] Parsing+rendering tests with data set #26
+ [x] Parsing+rendering tests with data set #27
+ [x] Parsing+rendering tests with data set #28
+ [x] Parsing+rendering tests with data set #29
+ [x] Parsing+rendering tests with data set #30
+ [x] Parsing+rendering tests with data set #31
s9e\TextFormatter\Tests\Plugins\HTMLComments\Configurator
[x] Automatically creates an "HC" tag
@@ -2368,9 +4284,34 @@ s9e\TextFormatter\Tests\Plugins\HTMLComments\Configurator
[x] getTag() returns the tag that is associated with this plugin
s9e\TextFormatter\Tests\Plugins\HTMLComments\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
+ [x] Parsing+rendering tests with data set #3
+ [x] Parsing+rendering tests with data set #4
+ [x] Parsing+rendering tests with data set #5
+ [x] Parsing+rendering tests with data set #6
+ [x] Parsing+rendering tests with data set #7
s9e\TextFormatter\Tests\Plugins\HTMLElements\Configurator
[x] aliasElement('A', 'url') creates an alias for HTML element "a" to tag "URL"
@@ -2404,9 +4345,43 @@ s9e\TextFormatter\Tests\Plugins\HTMLElements\Configurator
[x] getJSHints() returns ['HTMLELEMENTS_HAS_ALIASES' => 1] if any alias is set
s9e\TextFormatter\Tests\Plugins\HTMLElements\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests with data set #10
+ [x] Parsing tests with data set #11
+ [x] Parsing tests with data set #12
+ [x] Parsing tests with data set #13
+ [x] Parsing tests with data set #14
+ [x] Parsing tests with data set #15
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing tests (JavaScript) with data set #10
+ [x] Parsing tests (JavaScript) with data set #11
+ [x] Parsing tests (JavaScript) with data set #12
+ [x] Parsing tests (JavaScript) with data set #13
+ [x] Parsing tests (JavaScript) with data set #14
+ [x] Parsing tests (JavaScript) with data set #15
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
+ [x] Parsing+rendering tests with data set #3
+ [x] Parsing+rendering tests with data set #4
s9e\TextFormatter\Tests\Plugins\HTMLEntities\Configurator
[x] Automatically creates an "HE" tag
@@ -2419,9 +4394,28 @@ s9e\TextFormatter\Tests\Plugins\HTMLEntities\Configurator
[x] getTag() returns the tag that is associated with this plugin
s9e\TextFormatter\Tests\Plugins\HTMLEntities\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
+ [x] Parsing+rendering tests with data set #3
+ [x] Parsing+rendering tests with data set #4
+ [x] Parsing+rendering tests with data set #5
s9e\TextFormatter\Tests\Plugins\Keywords\Configurator
[x] Automatically creates a "KEYWORD" tag
@@ -2439,8 +4433,18 @@ s9e\TextFormatter\Tests\Plugins\Keywords\Configurator
[x] asConfig() does not return an entry for onlyFirst if it's false
s9e\TextFormatter\Tests\Plugins\Keywords\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
s9e\TextFormatter\Tests\Plugins\Litedown\Configurator
[x] Turns on automatic paragraph management
@@ -2453,53 +4457,600 @@ s9e\TextFormatter\Tests\Plugins\Litedown\Configurator
[x] getJSParser() returns a parser
s9e\TextFormatter\Tests\Plugins\Litedown\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
+ [x] Parsing tests with data set #0
+ [x] Parsing tests (JavaScript) with data set #0
s9e\TextFormatter\Tests\Plugins\Litedown\Parser\Passes\Blocks
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests with data set #10
+ [x] Parsing tests with data set #11
+ [x] Parsing tests with data set #12
+ [x] Parsing tests with data set #13
+ [x] Parsing tests with data set #14
+ [x] Parsing tests with data set #15
+ [x] Parsing tests with data set #16
+ [x] Parsing tests with data set #17
+ [x] Parsing tests with data set #18
+ [x] Parsing tests with data set #19
+ [x] Parsing tests with data set #20
+ [x] Parsing tests with data set #21
+ [x] Parsing tests with data set #22
+ [x] Parsing tests with data set #23
+ [x] Parsing tests with data set #24
+ [x] Parsing tests with data set #25
+ [x] Parsing tests with data set #26
+ [x] Parsing tests with data set #27
+ [x] Parsing tests with data set #28
+ [x] Parsing tests with data set #29
+ [x] Parsing tests with data set #30
+ [x] Parsing tests with data set #31
+ [x] Parsing tests with data set #32
+ [x] Parsing tests with data set #33
+ [x] Parsing tests with data set #34
+ [x] Parsing tests with data set #35
+ [x] Parsing tests with data set #36
+ [x] Parsing tests with data set #37
+ [x] Parsing tests with data set #38
+ [x] Parsing tests with data set #39
+ [x] Parsing tests with data set #40
+ [x] Parsing tests with data set #41
+ [x] Parsing tests with data set #42
+ [x] Parsing tests with data set #43
+ [x] Parsing tests with data set #44
+ [x] Parsing tests with data set #45
+ [x] Parsing tests with data set #46
+ [x] Parsing tests with data set #47
+ [x] Parsing tests with data set #48
+ [x] Parsing tests with data set #49
+ [x] Parsing tests with data set #50
+ [x] Parsing tests with data set #51
+ [x] Parsing tests with data set #52
+ [x] Parsing tests with data set #53
+ [x] Parsing tests with data set #54
+ [x] Parsing tests with data set #55
+ [x] Parsing tests with data set #56
+ [x] Parsing tests with data set #57
+ [x] Parsing tests with data set #58
+ [x] Parsing tests with data set #59
+ [x] Parsing tests with data set #60
+ [x] Parsing tests with data set #61
+ [x] Parsing tests with data set #62
+ [x] Parsing tests with data set #63
+ [x] Parsing tests with data set #64
+ [x] Parsing tests with data set #65
+ [x] Parsing tests with data set #66
+ [x] Parsing tests with data set #67
+ [x] Parsing tests with data set #68
+ [x] Parsing tests with data set #69
+ [x] Parsing tests with data set #70
+ [x] Parsing tests with data set #71
+ [x] Parsing tests with data set #72
+ [x] Parsing tests with data set #73
+ [x] Parsing tests with data set #74
+ [x] Parsing tests with data set #75
+ [x] Parsing tests with data set #76
+ [x] Parsing tests with data set #77
+ [x] Parsing tests with data set #78
+ [x] Parsing tests with data set #79
+ [x] Parsing tests with data set #80
+ [x] Parsing tests with data set #81
+ [x] Parsing tests with data set #82
+ [x] Parsing tests with data set #83
+ [x] Parsing tests with data set #84
+ [x] Parsing tests with data set #85
+ [x] Parsing tests with data set #86
+ [x] Parsing tests with data set #87
+ [x] Parsing tests with data set #88
+ [x] Parsing tests with data set #89
+ [x] Parsing tests with data set #90
+ [x] Parsing tests with data set #91
+ [x] Parsing tests with data set #92
+ [x] Parsing tests with data set #93
+ [x] Parsing tests with data set #94
+ [x] Parsing tests with data set #95
+ [x] Parsing tests with data set #96
+ [x] Parsing tests with data set #97
+ [x] Parsing tests with data set #98
+ [x] Parsing tests with data set #99
+ [x] Parsing tests with data set #100
+ [x] Parsing tests with data set #101
+ [x] Parsing tests with data set #102
+ [x] Parsing tests with data set #103
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing tests (JavaScript) with data set #10
+ [x] Parsing tests (JavaScript) with data set #11
+ [x] Parsing tests (JavaScript) with data set #12
+ [x] Parsing tests (JavaScript) with data set #13
+ [x] Parsing tests (JavaScript) with data set #14
+ [x] Parsing tests (JavaScript) with data set #15
+ [x] Parsing tests (JavaScript) with data set #16
+ [x] Parsing tests (JavaScript) with data set #17
+ [x] Parsing tests (JavaScript) with data set #18
+ [x] Parsing tests (JavaScript) with data set #19
+ [x] Parsing tests (JavaScript) with data set #20
+ [x] Parsing tests (JavaScript) with data set #21
+ [x] Parsing tests (JavaScript) with data set #22
+ [x] Parsing tests (JavaScript) with data set #23
+ [x] Parsing tests (JavaScript) with data set #24
+ [x] Parsing tests (JavaScript) with data set #25
+ [x] Parsing tests (JavaScript) with data set #26
+ [x] Parsing tests (JavaScript) with data set #27
+ [x] Parsing tests (JavaScript) with data set #28
+ [x] Parsing tests (JavaScript) with data set #29
+ [x] Parsing tests (JavaScript) with data set #30
+ [x] Parsing tests (JavaScript) with data set #31
+ [x] Parsing tests (JavaScript) with data set #32
+ [x] Parsing tests (JavaScript) with data set #33
+ [x] Parsing tests (JavaScript) with data set #34
+ [x] Parsing tests (JavaScript) with data set #35
+ [x] Parsing tests (JavaScript) with data set #36
+ [x] Parsing tests (JavaScript) with data set #37
+ [x] Parsing tests (JavaScript) with data set #38
+ [x] Parsing tests (JavaScript) with data set #39
+ [x] Parsing tests (JavaScript) with data set #40
+ [x] Parsing tests (JavaScript) with data set #41
+ [x] Parsing tests (JavaScript) with data set #42
+ [x] Parsing tests (JavaScript) with data set #43
+ [x] Parsing tests (JavaScript) with data set #44
+ [x] Parsing tests (JavaScript) with data set #45
+ [x] Parsing tests (JavaScript) with data set #46
+ [x] Parsing tests (JavaScript) with data set #47
+ [x] Parsing tests (JavaScript) with data set #48
+ [x] Parsing tests (JavaScript) with data set #49
+ [x] Parsing tests (JavaScript) with data set #50
+ [x] Parsing tests (JavaScript) with data set #51
+ [x] Parsing tests (JavaScript) with data set #52
+ [x] Parsing tests (JavaScript) with data set #53
+ [x] Parsing tests (JavaScript) with data set #54
+ [x] Parsing tests (JavaScript) with data set #55
+ [x] Parsing tests (JavaScript) with data set #56
+ [x] Parsing tests (JavaScript) with data set #57
+ [x] Parsing tests (JavaScript) with data set #58
+ [x] Parsing tests (JavaScript) with data set #59
+ [x] Parsing tests (JavaScript) with data set #60
+ [x] Parsing tests (JavaScript) with data set #61
+ [x] Parsing tests (JavaScript) with data set #62
+ [x] Parsing tests (JavaScript) with data set #63
+ [x] Parsing tests (JavaScript) with data set #64
+ [x] Parsing tests (JavaScript) with data set #65
+ [x] Parsing tests (JavaScript) with data set #66
+ [x] Parsing tests (JavaScript) with data set #67
+ [x] Parsing tests (JavaScript) with data set #68
+ [x] Parsing tests (JavaScript) with data set #69
+ [x] Parsing tests (JavaScript) with data set #70
+ [x] Parsing tests (JavaScript) with data set #71
+ [x] Parsing tests (JavaScript) with data set #72
+ [x] Parsing tests (JavaScript) with data set #73
+ [x] Parsing tests (JavaScript) with data set #74
+ [x] Parsing tests (JavaScript) with data set #75
+ [x] Parsing tests (JavaScript) with data set #76
+ [x] Parsing tests (JavaScript) with data set #77
+ [x] Parsing tests (JavaScript) with data set #78
+ [x] Parsing tests (JavaScript) with data set #79
+ [x] Parsing tests (JavaScript) with data set #80
+ [x] Parsing tests (JavaScript) with data set #81
+ [x] Parsing tests (JavaScript) with data set #82
+ [x] Parsing tests (JavaScript) with data set #83
+ [x] Parsing tests (JavaScript) with data set #84
+ [x] Parsing tests (JavaScript) with data set #85
+ [x] Parsing tests (JavaScript) with data set #86
+ [x] Parsing tests (JavaScript) with data set #87
+ [x] Parsing tests (JavaScript) with data set #88
+ [x] Parsing tests (JavaScript) with data set #89
+ [x] Parsing tests (JavaScript) with data set #90
+ [x] Parsing tests (JavaScript) with data set #91
+ [x] Parsing tests (JavaScript) with data set #92
+ [x] Parsing tests (JavaScript) with data set #93
+ [x] Parsing tests (JavaScript) with data set #94
+ [x] Parsing tests (JavaScript) with data set #95
+ [x] Parsing tests (JavaScript) with data set #96
+ [x] Parsing tests (JavaScript) with data set #97
+ [x] Parsing tests (JavaScript) with data set #98
+ [x] Parsing tests (JavaScript) with data set #99
+ [x] Parsing tests (JavaScript) with data set #100
+ [x] Parsing tests (JavaScript) with data set #101
+ [x] Parsing tests (JavaScript) with data set #102
+ [x] Parsing tests (JavaScript) with data set #103
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
+ [x] Parsing+rendering tests with data set #3
+ [x] Parsing+rendering tests with data set #4
+ [x] Parsing+rendering tests with data set #5
+ [x] Parsing+rendering tests with data set #6
+ [x] Parsing+rendering tests with data set #7
+ [x] Parsing+rendering tests with data set #8
s9e\TextFormatter\Tests\Plugins\Litedown\Parser\Passes\Emphasis
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests with data set #10
+ [x] Parsing tests with data set #11
+ [x] Parsing tests with data set #12
+ [x] Parsing tests with data set #13
+ [x] Parsing tests with data set #14
+ [x] Parsing tests with data set #15
+ [x] Parsing tests with data set #16
+ [x] Parsing tests with data set #17
+ [x] Parsing tests with data set #18
+ [x] Parsing tests with data set #19
+ [x] Parsing tests with data set #20
+ [x] Parsing tests with data set #21
+ [x] Parsing tests with data set #22
+ [x] Parsing tests with data set #23
+ [x] Parsing tests with data set #24
+ [x] Parsing tests with data set #25
+ [x] Parsing tests with data set #26
+ [x] Parsing tests with data set #27
+ [x] Parsing tests with data set #28
+ [x] Parsing tests with data set #29
+ [x] Parsing tests with data set #30
+ [x] Parsing tests with data set #31
+ [x] Parsing tests with data set #32
+ [x] Parsing tests with data set #33
+ [x] Parsing tests with data set #34
+ [x] Parsing tests with data set #35
+ [x] Parsing tests with data set #36
+ [x] Parsing tests with data set #37
+ [x] Parsing tests with data set #38
+ [x] Parsing tests with data set #39
+ [x] Parsing tests with data set #40
+ [x] Parsing tests with data set #41
+ [x] Parsing tests with data set #42
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing tests (JavaScript) with data set #10
+ [x] Parsing tests (JavaScript) with data set #11
+ [x] Parsing tests (JavaScript) with data set #12
+ [x] Parsing tests (JavaScript) with data set #13
+ [x] Parsing tests (JavaScript) with data set #14
+ [x] Parsing tests (JavaScript) with data set #15
+ [x] Parsing tests (JavaScript) with data set #16
+ [x] Parsing tests (JavaScript) with data set #17
+ [x] Parsing tests (JavaScript) with data set #18
+ [x] Parsing tests (JavaScript) with data set #19
+ [x] Parsing tests (JavaScript) with data set #20
+ [x] Parsing tests (JavaScript) with data set #21
+ [x] Parsing tests (JavaScript) with data set #22
+ [x] Parsing tests (JavaScript) with data set #23
+ [x] Parsing tests (JavaScript) with data set #24
+ [x] Parsing tests (JavaScript) with data set #25
+ [x] Parsing tests (JavaScript) with data set #26
+ [x] Parsing tests (JavaScript) with data set #27
+ [x] Parsing tests (JavaScript) with data set #28
+ [x] Parsing tests (JavaScript) with data set #29
+ [x] Parsing tests (JavaScript) with data set #30
+ [x] Parsing tests (JavaScript) with data set #31
+ [x] Parsing tests (JavaScript) with data set #32
+ [x] Parsing tests (JavaScript) with data set #33
+ [x] Parsing tests (JavaScript) with data set #34
+ [x] Parsing tests (JavaScript) with data set #35
+ [x] Parsing tests (JavaScript) with data set #36
+ [x] Parsing tests (JavaScript) with data set #37
+ [x] Parsing tests (JavaScript) with data set #38
+ [x] Parsing tests (JavaScript) with data set #39
+ [x] Parsing tests (JavaScript) with data set #40
+ [x] Parsing tests (JavaScript) with data set #41
+ [x] Parsing tests (JavaScript) with data set #42
+ [x] Parsing+rendering tests with data set #0
s9e\TextFormatter\Tests\Plugins\Litedown\Parser\Passes\ForcedLineBreaks
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing+rendering tests with data set #0
s9e\TextFormatter\Tests\Plugins\Litedown\Parser\Passes\Images
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests with data set #10
+ [x] Parsing tests with data set #11
+ [x] Parsing tests with data set #12
+ [x] Parsing tests with data set #13
+ [x] Parsing tests with data set #14
+ [x] Parsing tests with data set #15
+ [x] Parsing tests with data set #16
+ [x] Parsing tests with data set #17
+ [x] Parsing tests with data set #18
+ [x] Parsing tests with data set #19
+ [x] Parsing tests with data set #20
+ [x] Parsing tests with data set #21
+ [x] Parsing tests with data set #22
+ [x] Parsing tests with data set #23
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing tests (JavaScript) with data set #10
+ [x] Parsing tests (JavaScript) with data set #11
+ [x] Parsing tests (JavaScript) with data set #12
+ [x] Parsing tests (JavaScript) with data set #13
+ [x] Parsing tests (JavaScript) with data set #14
+ [x] Parsing tests (JavaScript) with data set #15
+ [x] Parsing tests (JavaScript) with data set #16
+ [x] Parsing tests (JavaScript) with data set #17
+ [x] Parsing tests (JavaScript) with data set #18
+ [x] Parsing tests (JavaScript) with data set #19
+ [x] Parsing tests (JavaScript) with data set #20
+ [x] Parsing tests (JavaScript) with data set #21
+ [x] Parsing tests (JavaScript) with data set #22
+ [x] Parsing tests (JavaScript) with data set #23
+ [x] Parsing+rendering tests with data set #0
s9e\TextFormatter\Tests\Plugins\Litedown\Parser\Passes\InlineCode
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests with data set #10
+ [x] Parsing tests with data set #11
+ [x] Parsing tests with data set #12
+ [x] Parsing tests with data set #13
+ [x] Parsing tests with data set #14
+ [x] Parsing tests with data set #15
+ [x] Parsing tests with data set #16
+ [x] Parsing tests with data set #17
+ [x] Parsing tests with data set #18
+ [x] Parsing tests with data set #19
+ [x] Parsing tests with data set #20
+ [x] Parsing tests with data set #21
+ [x] Parsing tests with data set #22
+ [x] Parsing tests with data set #23
+ [x] Parsing tests with data set #24
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing tests (JavaScript) with data set #10
+ [x] Parsing tests (JavaScript) with data set #11
+ [x] Parsing tests (JavaScript) with data set #12
+ [x] Parsing tests (JavaScript) with data set #13
+ [x] Parsing tests (JavaScript) with data set #14
+ [x] Parsing tests (JavaScript) with data set #15
+ [x] Parsing tests (JavaScript) with data set #16
+ [x] Parsing tests (JavaScript) with data set #17
+ [x] Parsing tests (JavaScript) with data set #18
+ [x] Parsing tests (JavaScript) with data set #19
+ [x] Parsing tests (JavaScript) with data set #20
+ [x] Parsing tests (JavaScript) with data set #21
+ [x] Parsing tests (JavaScript) with data set #22
+ [x] Parsing tests (JavaScript) with data set #23
+ [x] Parsing tests (JavaScript) with data set #24
+ [x] Parsing+rendering tests with data set #0
s9e\TextFormatter\Tests\Plugins\Litedown\Parser\Passes\Links
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests with data set #10
+ [x] Parsing tests with data set #11
+ [x] Parsing tests with data set #12
+ [x] Parsing tests with data set #13
+ [x] Parsing tests with data set #14
+ [x] Parsing tests with data set #15
+ [x] Parsing tests with data set #16
+ [x] Parsing tests with data set #17
+ [x] Parsing tests with data set #18
+ [x] Parsing tests with data set #19
+ [x] Parsing tests with data set #20
+ [x] Parsing tests with data set #21
+ [x] Parsing tests with data set #22
+ [x] Parsing tests with data set #23
+ [x] Parsing tests with data set #24
+ [x] Parsing tests with data set #25
+ [x] Parsing tests with data set #26
+ [x] Parsing tests with data set #27
+ [x] Parsing tests with data set #28
+ [x] Parsing tests with data set #29
+ [x] Parsing tests with data set #30
+ [x] Parsing tests with data set #31
+ [x] Parsing tests with data set #32
+ [x] Parsing tests with data set #33
+ [x] Parsing tests with data set #34
+ [x] Parsing tests with data set #35
+ [x] Parsing tests with data set #36
+ [x] Parsing tests with data set #37
+ [x] Parsing tests with data set #38
+ [x] Parsing tests with data set #39
+ [x] Parsing tests with data set #40
+ [x] Parsing tests with data set #41
+ [x] Parsing tests with data set #42
+ [x] Parsing tests with data set #43
+ [x] Parsing tests with data set #44
+ [x] Parsing tests with data set #45
+ [x] Parsing tests with data set #46
+ [x] Parsing tests with data set #47
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing tests (JavaScript) with data set #10
+ [x] Parsing tests (JavaScript) with data set #11
+ [x] Parsing tests (JavaScript) with data set #12
+ [x] Parsing tests (JavaScript) with data set #13
+ [x] Parsing tests (JavaScript) with data set #14
+ [x] Parsing tests (JavaScript) with data set #15
+ [x] Parsing tests (JavaScript) with data set #16
+ [x] Parsing tests (JavaScript) with data set #17
+ [x] Parsing tests (JavaScript) with data set #18
+ [x] Parsing tests (JavaScript) with data set #19
+ [x] Parsing tests (JavaScript) with data set #20
+ [x] Parsing tests (JavaScript) with data set #21
+ [x] Parsing tests (JavaScript) with data set #22
+ [x] Parsing tests (JavaScript) with data set #23
+ [x] Parsing tests (JavaScript) with data set #24
+ [x] Parsing tests (JavaScript) with data set #25
+ [x] Parsing tests (JavaScript) with data set #26
+ [x] Parsing tests (JavaScript) with data set #27
+ [x] Parsing tests (JavaScript) with data set #28
+ [x] Parsing tests (JavaScript) with data set #29
+ [x] Parsing tests (JavaScript) with data set #30
+ [x] Parsing tests (JavaScript) with data set #31
+ [x] Parsing tests (JavaScript) with data set #32
+ [x] Parsing tests (JavaScript) with data set #33
+ [x] Parsing tests (JavaScript) with data set #34
+ [x] Parsing tests (JavaScript) with data set #35
+ [x] Parsing tests (JavaScript) with data set #36
+ [x] Parsing tests (JavaScript) with data set #37
+ [x] Parsing tests (JavaScript) with data set #38
+ [x] Parsing tests (JavaScript) with data set #39
+ [x] Parsing tests (JavaScript) with data set #40
+ [x] Parsing tests (JavaScript) with data set #41
+ [x] Parsing tests (JavaScript) with data set #42
+ [x] Parsing tests (JavaScript) with data set #43
+ [x] Parsing tests (JavaScript) with data set #44
+ [x] Parsing tests (JavaScript) with data set #45
+ [x] Parsing tests (JavaScript) with data set #46
+ [x] Parsing tests (JavaScript) with data set #47
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
s9e\TextFormatter\Tests\Plugins\Litedown\Parser\Passes\Strikethrough
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing+rendering tests with data set #0
s9e\TextFormatter\Tests\Plugins\Litedown\Parser\Passes\Subscript
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing+rendering tests with data set #0
s9e\TextFormatter\Tests\Plugins\Litedown\Parser\Passes\Superscript
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing+rendering tests with data set #0
s9e\TextFormatter\Tests\Plugins\MediaEmbed\Configurator\Collections\CachedDefinitionCollection
[x] isset('youtube') returns TRUE
@@ -2508,6 +5059,7 @@ s9e\TextFormatter\Tests\Plugins\MediaEmbed\Configurator\Collections\CachedDefini
[x] Is iterable
[x] get('youtube') returns a configuration
[x] get('unknown') returns FALSE
+ [x] get('*invalid*') throws an exception
[x] Site definitions contain the site's name
[x] Site definitions contain the site's tags
@@ -2553,10 +5105,19 @@ s9e\TextFormatter\Tests\Plugins\MediaEmbed\Configurator\TemplateGenerators\Choos
[x] getTemplate() with two when / one otherwise
s9e\TextFormatter\Tests\Plugins\MediaEmbed\Configurator\TemplateGenerators\Flash
- [x] getTemplate() tests
+ [x] getTemplate() tests with data set #0
+ [x] getTemplate() tests with data set #1
s9e\TextFormatter\Tests\Plugins\MediaEmbed\Configurator\TemplateGenerators\Iframe
- [x] getTemplate() tests
+ [x] getTemplate() tests with data set #0
+ [x] getTemplate() tests with data set #1
+ [x] getTemplate() tests with data set #2
+ [x] getTemplate() tests with data set #3
+ [x] getTemplate() tests with data set #4
+ [x] getTemplate() tests with data set #5
+ [x] getTemplate() tests with data set #6
+ [x] getTemplate() tests with data set #7
+ [x] getTemplate() tests with data set #8
s9e\TextFormatter\Tests\Plugins\MediaEmbed\Configurator
[x] MediaEmbed.hosts and MediaEmbed.sites are registered on instantiation
@@ -2587,13 +5148,694 @@ s9e\TextFormatter\Tests\Plugins\MediaEmbed\Configurator
s9e\TextFormatter\Tests\Plugins\MediaEmbed\Parser
[x] The MEDIA tag can be effectively disabled
- [x] Abstract tests (not tied to bundled sites)
- [x] Scraping tests
- [x] Scraping+rendering tests
- [x] Legacy rendering tests
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Abstract tests (not tied to bundled sites) with data set #0
+ [x] Abstract tests (not tied to bundled sites) with data set #1
+ [x] Abstract tests (not tied to bundled sites) with data set #2
+ [x] Abstract tests (not tied to bundled sites) with data set #3
+ [x] Abstract tests (not tied to bundled sites) with data set #4
+ [x] Abstract tests (not tied to bundled sites) with data set #5
+ [x] Abstract tests (not tied to bundled sites) with data set #6
+ [x] Abstract tests (not tied to bundled sites) with data set #7
+ [x] Abstract tests (not tied to bundled sites) with data set #8
+ [x] Abstract tests (not tied to bundled sites) with data set #9
+ [x] Abstract tests (not tied to bundled sites) with data set #10
+ [x] Abstract tests (not tied to bundled sites) with data set #11
+ [x] Abstract tests (not tied to bundled sites) with data set #12
+ [x] Abstract tests (not tied to bundled sites) with data set #13
+ [x] Abstract tests (not tied to bundled sites) with data set #14
+ [x] Abstract tests (not tied to bundled sites) with data set #15
+ [x] Scraping tests with data set #0
+ [x] Scraping tests with data set #1
+ [x] Scraping tests with data set #2
+ [x] Scraping tests with data set #3
+ [x] Scraping tests with data set #4
+ [x] Scraping tests with data set #5
+ [x] Scraping tests with data set #6
+ [x] Scraping tests with data set #7
+ [x] Scraping tests with data set #8
+ [x] Scraping tests with data set #9
+ [x] Scraping tests with data set #10
+ [x] Scraping tests with data set #11
+ [x] Scraping tests with data set #12
+ [x] Scraping tests with data set #13
+ [x] Scraping tests with data set #14
+ [x] Scraping tests with data set #15
+ [x] Scraping tests with data set #16
+ [x] Scraping tests with data set #17
+ [x] Scraping tests with data set #18
+ [x] Scraping tests with data set #19
+ [x] Scraping tests with data set #20
+ [x] Scraping tests with data set #21
+ [x] Scraping tests with data set #22
+ [x] Scraping tests with data set #23
+ [x] Scraping tests with data set #24
+ [x] Scraping tests with data set #25
+ [x] Scraping tests with data set #26
+ [x] Scraping tests with data set #27
+ [x] Scraping tests with data set #28
+ [x] Scraping tests with data set #29
+ [x] Scraping tests with data set #30
+ [x] Scraping tests with data set #31
+ [x] Scraping tests with data set #32
+ [x] Scraping tests with data set #33
+ [x] Scraping tests with data set #34
+ [x] Scraping tests with data set #35
+ [x] Scraping tests with data set #36
+ [x] Scraping tests with data set #37
+ [x] Scraping tests with data set #38
+ [x] Scraping tests with data set #39
+ [x] Scraping tests with data set #40
+ [x] Scraping tests with data set #41
+ [x] Scraping tests with data set #42
+ [x] Scraping tests with data set #43
+ [x] Scraping tests with data set #44
+ [x] Scraping tests with data set #45
+ [x] Scraping tests with data set #46
+ [x] Scraping tests with data set #47
+ [x] Scraping tests with data set #48
+ [x] Scraping tests with data set #49
+ [x] Scraping tests with data set #50
+ [x] Scraping tests with data set #51
+ [x] Scraping tests with data set #52
+ [x] Scraping tests with data set #53
+ [x] Scraping+rendering tests with data set #0
+ [x] Scraping+rendering tests with data set #1
+ [x] Scraping+rendering tests with data set #2
+ [x] Scraping+rendering tests with data set #3
+ [x] Scraping+rendering tests with data set #4
+ [x] Scraping+rendering tests with data set #5
+ [x] Scraping+rendering tests with data set #6
+ [x] Scraping+rendering tests with data set #7
+ [x] Scraping+rendering tests with data set #8
+ [x] Scraping+rendering tests with data set #9
+ [x] Scraping+rendering tests with data set #10
+ [x] Legacy rendering tests with data set #0
+ [x] Legacy rendering tests with data set #1
+ [x] Legacy rendering tests with data set #2
+ [x] Legacy rendering tests with data set #3
+ [x] Legacy rendering tests with data set #4
+ [x] Legacy rendering tests with data set #5
+ [x] Legacy rendering tests with data set #6
+ [x] Legacy rendering tests with data set #7
+ [x] Legacy rendering tests with data set #8
+ [x] Legacy rendering tests with data set #9
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests with data set #10
+ [x] Parsing tests with data set #11
+ [x] Parsing tests with data set #12
+ [x] Parsing tests with data set #13
+ [x] Parsing tests with data set #14
+ [x] Parsing tests with data set #15
+ [x] Parsing tests with data set #16
+ [x] Parsing tests with data set #17
+ [x] Parsing tests with data set #18
+ [x] Parsing tests with data set #19
+ [x] Parsing tests with data set #20
+ [x] Parsing tests with data set #21
+ [x] Parsing tests with data set #22
+ [x] Parsing tests with data set #23
+ [x] Parsing tests with data set #24
+ [x] Parsing tests with data set #25
+ [x] Parsing tests with data set #26
+ [x] Parsing tests with data set #27
+ [x] Parsing tests with data set #28
+ [x] Parsing tests with data set #29
+ [x] Parsing tests with data set #30
+ [x] Parsing tests with data set #31
+ [x] Parsing tests with data set #32
+ [x] Parsing tests with data set #33
+ [x] Parsing tests with data set #34
+ [x] Parsing tests with data set #35
+ [x] Parsing tests with data set #36
+ [x] Parsing tests with data set #37
+ [x] Parsing tests with data set #38
+ [x] Parsing tests with data set #39
+ [x] Parsing tests with data set #40
+ [x] Parsing tests with data set #41
+ [x] Parsing tests with data set #42
+ [x] Parsing tests with data set #43
+ [x] Parsing tests with data set #44
+ [x] Parsing tests with data set #45
+ [x] Parsing tests with data set #46
+ [x] Parsing tests with data set #47
+ [x] Parsing tests with data set #48
+ [x] Parsing tests with data set #49
+ [x] Parsing tests with data set #50
+ [x] Parsing tests with data set #51
+ [x] Parsing tests with data set #52
+ [x] Parsing tests with data set #53
+ [x] Parsing tests with data set #54
+ [x] Parsing tests with data set #55
+ [x] Parsing tests with data set #56
+ [x] Parsing tests with data set #57
+ [x] Parsing tests with data set #58
+ [x] Parsing tests with data set #59
+ [x] Parsing tests with data set #60
+ [x] Parsing tests with data set #61
+ [x] Parsing tests with data set #62
+ [x] Parsing tests with data set #63
+ [x] Parsing tests with data set #64
+ [x] Parsing tests with data set #65
+ [x] Parsing tests with data set #66
+ [x] Parsing tests with data set #67
+ [x] Parsing tests with data set #68
+ [x] Parsing tests with data set #69
+ [x] Parsing tests with data set #70
+ [x] Parsing tests with data set #71
+ [x] Parsing tests with data set #72
+ [x] Parsing tests with data set #73
+ [x] Parsing tests with data set #74
+ [x] Parsing tests with data set #75
+ [x] Parsing tests with data set #76
+ [x] Parsing tests with data set #77
+ [x] Parsing tests with data set #78
+ [x] Parsing tests with data set #79
+ [x] Parsing tests with data set #80
+ [x] Parsing tests with data set #81
+ [x] Parsing tests with data set #82
+ [x] Parsing tests with data set #83
+ [x] Parsing tests with data set #84
+ [x] Parsing tests with data set #85
+ [x] Parsing tests with data set #86
+ [x] Parsing tests with data set #87
+ [x] Parsing tests with data set #88
+ [x] Parsing tests with data set #89
+ [x] Parsing tests with data set #90
+ [x] Parsing tests with data set #91
+ [x] Parsing tests with data set #92
+ [x] Parsing tests with data set #93
+ [x] Parsing tests with data set #94
+ [x] Parsing tests with data set #95
+ [x] Parsing tests with data set #96
+ [x] Parsing tests with data set #97
+ [x] Parsing tests with data set #98
+ [x] Parsing tests with data set #99
+ [x] Parsing tests with data set #100
+ [x] Parsing tests with data set #101
+ [x] Parsing tests with data set #102
+ [x] Parsing tests with data set #103
+ [x] Parsing tests with data set #104
+ [x] Parsing tests with data set #105
+ [x] Parsing tests with data set #106
+ [x] Parsing tests with data set #107
+ [x] Parsing tests with data set #108
+ [x] Parsing tests with data set #109
+ [x] Parsing tests with data set #110
+ [x] Parsing tests with data set #111
+ [x] Parsing tests with data set #112
+ [x] Parsing tests with data set #113
+ [x] Parsing tests with data set #114
+ [x] Parsing tests with data set #115
+ [x] Parsing tests with data set #116
+ [x] Parsing tests with data set #117
+ [x] Parsing tests with data set #118
+ [x] Parsing tests with data set #119
+ [x] Parsing tests with data set #120
+ [x] Parsing tests with data set #121
+ [x] Parsing tests with data set #122
+ [x] Parsing tests with data set #123
+ [x] Parsing tests with data set #124
+ [x] Parsing tests with data set #125
+ [x] Parsing tests with data set #126
+ [x] Parsing tests with data set #127
+ [x] Parsing tests with data set #128
+ [x] Parsing tests with data set #129
+ [x] Parsing tests with data set #130
+ [x] Parsing tests with data set #131
+ [x] Parsing tests with data set #132
+ [x] Parsing tests with data set #133
+ [x] Parsing tests with data set #134
+ [x] Parsing tests with data set #135
+ [x] Parsing tests with data set #136
+ [x] Parsing tests with data set #137
+ [x] Parsing tests with data set #138
+ [x] Parsing tests with data set #139
+ [x] Parsing tests with data set #140
+ [x] Parsing tests with data set #141
+ [x] Parsing tests with data set #142
+ [x] Parsing tests with data set #143
+ [x] Parsing tests with data set #144
+ [x] Parsing tests with data set #145
+ [x] Parsing tests with data set #146
+ [x] Parsing tests with data set #147
+ [x] Parsing tests with data set #148
+ [x] Parsing tests with data set #149
+ [x] Parsing tests with data set #150
+ [x] Parsing tests with data set #151
+ [x] Parsing tests with data set #152
+ [x] Parsing tests with data set #153
+ [x] Parsing tests with data set #154
+ [x] Parsing tests with data set #155
+ [x] Parsing tests with data set #156
+ [x] Parsing tests with data set #157
+ [x] Parsing tests with data set #158
+ [x] Parsing tests with data set #159
+ [x] Parsing tests with data set #160
+ [x] Parsing tests with data set #161
+ [x] Parsing tests with data set #162
+ [x] Parsing tests with data set #163
+ [x] Parsing tests with data set #164
+ [x] Parsing tests with data set #165
+ [x] Parsing tests with data set #166
+ [x] Parsing tests with data set #167
+ [x] Parsing tests with data set #168
+ [x] Parsing tests with data set #169
+ [x] Parsing tests with data set #170
+ [x] Parsing tests with data set #171
+ [x] Parsing tests with data set #172
+ [x] Parsing tests with data set #173
+ [x] Parsing tests with data set #174
+ [x] Parsing tests with data set #175
+ [x] Parsing tests with data set #176
+ [x] Parsing tests with data set #177
+ [x] Parsing tests with data set #178
+ [x] Parsing tests with data set #179
+ [x] Parsing tests with data set #180
+ [x] Parsing tests with data set #181
+ [x] Parsing tests with data set #182
+ [x] Parsing tests with data set #183
+ [x] Parsing tests with data set #184
+ [x] Parsing tests with data set #185
+ [x] Parsing tests with data set #186
+ [x] Parsing tests with data set #187
+ [x] Parsing tests with data set #188
+ [x] Parsing tests with data set #189
+ [x] Parsing tests with data set #190
+ [x] Parsing tests with data set #191
+ [x] Parsing tests with data set #192
+ [x] Parsing tests with data set #193
+ [x] Parsing tests with data set #194
+ [x] Parsing tests with data set #195
+ [x] Parsing tests with data set #196
+ [x] Parsing tests with data set #197
+ [x] Parsing tests with data set #198
+ [x] Parsing tests with data set #199
+ [x] Parsing tests with data set #200
+ [x] Parsing tests with data set #201
+ [x] Parsing tests with data set #202
+ [x] Parsing tests with data set #203
+ [x] Parsing tests with data set #204
+ [x] Parsing tests with data set #205
+ [x] Parsing tests with data set #206
+ [x] Parsing tests with data set #207
+ [x] Parsing tests with data set #208
+ [x] Parsing tests with data set #209
+ [x] Parsing tests with data set #210
+ [x] Parsing tests with data set #211
+ [x] Parsing tests with data set #212
+ [x] Parsing tests with data set #213
+ [x] Parsing tests with data set #214
+ [x] Parsing tests with data set #215
+ [x] Parsing tests with data set #216
+ [x] Parsing tests with data set #217
+ [x] Parsing tests with data set #218
+ [x] Parsing tests with data set #219
+ [x] Parsing tests with data set #220
+ [x] Parsing tests with data set #221
+ [x] Parsing tests with data set #222
+ [x] Parsing tests with data set #223
+ [x] Parsing tests with data set #224
+ [x] Parsing tests with data set #225
+ [x] Parsing tests with data set #226
+ [x] Parsing tests with data set #227
+ [x] Parsing tests with data set #228
+ [x] Parsing tests with data set #229
+ [x] Parsing tests with data set #230
+ [x] Parsing tests with data set #231
+ [x] Parsing tests with data set #232
+ [x] Parsing tests with data set #233
+ [x] Parsing tests with data set #234
+ [x] Parsing tests with data set #235
+ [x] Parsing tests with data set #236
+ [x] Parsing tests with data set #237
+ [x] Parsing tests with data set #238
+ [x] Parsing tests with data set #239
+ [x] Parsing tests with data set #240
+ [x] Parsing tests with data set #241
+ [x] Parsing tests with data set #242
+ [x] Parsing tests with data set #243
+ [x] Parsing tests with data set #244
+ [x] Parsing tests with data set #245
+ [x] Parsing tests with data set #246
+ [x] Parsing tests with data set #247
+ [x] Parsing tests with data set #248
+ [x] Parsing tests with data set #249
+ [x] Parsing tests with data set #250
+ [x] Parsing tests with data set #251
+ [x] Parsing tests with data set #252
+ [x] Parsing tests with data set #253
+ [x] Parsing tests with data set #254
+ [x] Parsing tests with data set #255
+ [x] Parsing tests with data set #256
+ [x] Parsing tests with data set #257
+ [x] Parsing tests with data set #258
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing tests (JavaScript) with data set #10
+ [x] Parsing tests (JavaScript) with data set #11
+ [x] Parsing tests (JavaScript) with data set #12
+ [x] Parsing tests (JavaScript) with data set #13
+ [x] Parsing tests (JavaScript) with data set #14
+ [x] Parsing tests (JavaScript) with data set #15
+ [x] Parsing tests (JavaScript) with data set #16
+ [x] Parsing tests (JavaScript) with data set #17
+ [x] Parsing tests (JavaScript) with data set #18
+ [x] Parsing tests (JavaScript) with data set #19
+ [x] Parsing tests (JavaScript) with data set #20
+ [x] Parsing tests (JavaScript) with data set #21
+ [x] Parsing tests (JavaScript) with data set #22
+ [x] Parsing tests (JavaScript) with data set #23
+ [x] Parsing tests (JavaScript) with data set #24
+ [x] Parsing tests (JavaScript) with data set #25
+ [x] Parsing tests (JavaScript) with data set #26
+ [x] Parsing tests (JavaScript) with data set #27
+ [x] Parsing tests (JavaScript) with data set #28
+ [x] Parsing tests (JavaScript) with data set #29
+ [x] Parsing tests (JavaScript) with data set #30
+ [x] Parsing tests (JavaScript) with data set #31
+ [x] Parsing tests (JavaScript) with data set #32
+ [x] Parsing tests (JavaScript) with data set #33
+ [x] Parsing tests (JavaScript) with data set #34
+ [x] Parsing tests (JavaScript) with data set #35
+ [x] Parsing tests (JavaScript) with data set #36
+ [x] Parsing tests (JavaScript) with data set #37
+ [x] Parsing tests (JavaScript) with data set #38
+ [x] Parsing tests (JavaScript) with data set #39
+ [x] Parsing tests (JavaScript) with data set #40
+ [x] Parsing tests (JavaScript) with data set #41
+ [x] Parsing tests (JavaScript) with data set #42
+ [x] Parsing tests (JavaScript) with data set #43
+ [x] Parsing tests (JavaScript) with data set #44
+ [x] Parsing tests (JavaScript) with data set #45
+ [x] Parsing tests (JavaScript) with data set #46
+ [x] Parsing tests (JavaScript) with data set #47
+ [x] Parsing tests (JavaScript) with data set #48
+ [x] Parsing tests (JavaScript) with data set #49
+ [x] Parsing tests (JavaScript) with data set #50
+ [x] Parsing tests (JavaScript) with data set #51
+ [x] Parsing tests (JavaScript) with data set #52
+ [x] Parsing tests (JavaScript) with data set #53
+ [x] Parsing tests (JavaScript) with data set #54
+ [x] Parsing tests (JavaScript) with data set #55
+ [x] Parsing tests (JavaScript) with data set #56
+ [x] Parsing tests (JavaScript) with data set #57
+ [x] Parsing tests (JavaScript) with data set #58
+ [x] Parsing tests (JavaScript) with data set #59
+ [x] Parsing tests (JavaScript) with data set #60
+ [x] Parsing tests (JavaScript) with data set #61
+ [x] Parsing tests (JavaScript) with data set #62
+ [x] Parsing tests (JavaScript) with data set #63
+ [x] Parsing tests (JavaScript) with data set #64
+ [x] Parsing tests (JavaScript) with data set #65
+ [x] Parsing tests (JavaScript) with data set #66
+ [x] Parsing tests (JavaScript) with data set #67
+ [x] Parsing tests (JavaScript) with data set #68
+ [x] Parsing tests (JavaScript) with data set #69
+ [x] Parsing tests (JavaScript) with data set #70
+ [x] Parsing tests (JavaScript) with data set #71
+ [x] Parsing tests (JavaScript) with data set #72
+ [x] Parsing tests (JavaScript) with data set #73
+ [x] Parsing tests (JavaScript) with data set #74
+ [x] Parsing tests (JavaScript) with data set #75
+ [x] Parsing tests (JavaScript) with data set #76
+ [x] Parsing tests (JavaScript) with data set #77
+ [x] Parsing tests (JavaScript) with data set #78
+ [x] Parsing tests (JavaScript) with data set #79
+ [x] Parsing tests (JavaScript) with data set #80
+ [x] Parsing tests (JavaScript) with data set #81
+ [x] Parsing tests (JavaScript) with data set #82
+ [x] Parsing tests (JavaScript) with data set #83
+ [x] Parsing tests (JavaScript) with data set #84
+ [x] Parsing tests (JavaScript) with data set #85
+ [x] Parsing tests (JavaScript) with data set #86
+ [x] Parsing tests (JavaScript) with data set #87
+ [x] Parsing tests (JavaScript) with data set #88
+ [x] Parsing tests (JavaScript) with data set #89
+ [x] Parsing tests (JavaScript) with data set #90
+ [x] Parsing tests (JavaScript) with data set #91
+ [x] Parsing tests (JavaScript) with data set #92
+ [x] Parsing tests (JavaScript) with data set #93
+ [x] Parsing tests (JavaScript) with data set #94
+ [x] Parsing tests (JavaScript) with data set #95
+ [x] Parsing tests (JavaScript) with data set #96
+ [x] Parsing tests (JavaScript) with data set #97
+ [x] Parsing tests (JavaScript) with data set #98
+ [x] Parsing tests (JavaScript) with data set #99
+ [x] Parsing tests (JavaScript) with data set #100
+ [x] Parsing tests (JavaScript) with data set #101
+ [x] Parsing tests (JavaScript) with data set #102
+ [x] Parsing tests (JavaScript) with data set #103
+ [x] Parsing tests (JavaScript) with data set #104
+ [x] Parsing tests (JavaScript) with data set #105
+ [x] Parsing tests (JavaScript) with data set #106
+ [x] Parsing tests (JavaScript) with data set #107
+ [x] Parsing tests (JavaScript) with data set #108
+ [x] Parsing tests (JavaScript) with data set #109
+ [x] Parsing tests (JavaScript) with data set #110
+ [x] Parsing tests (JavaScript) with data set #111
+ [x] Parsing tests (JavaScript) with data set #112
+ [x] Parsing tests (JavaScript) with data set #113
+ [x] Parsing tests (JavaScript) with data set #114
+ [x] Parsing tests (JavaScript) with data set #115
+ [x] Parsing tests (JavaScript) with data set #116
+ [x] Parsing tests (JavaScript) with data set #117
+ [x] Parsing tests (JavaScript) with data set #118
+ [x] Parsing tests (JavaScript) with data set #119
+ [x] Parsing tests (JavaScript) with data set #120
+ [x] Parsing tests (JavaScript) with data set #121
+ [x] Parsing tests (JavaScript) with data set #122
+ [x] Parsing tests (JavaScript) with data set #123
+ [x] Parsing tests (JavaScript) with data set #124
+ [x] Parsing tests (JavaScript) with data set #125
+ [x] Parsing tests (JavaScript) with data set #126
+ [x] Parsing tests (JavaScript) with data set #127
+ [x] Parsing tests (JavaScript) with data set #128
+ [x] Parsing tests (JavaScript) with data set #129
+ [x] Parsing tests (JavaScript) with data set #130
+ [x] Parsing tests (JavaScript) with data set #131
+ [x] Parsing tests (JavaScript) with data set #132
+ [x] Parsing tests (JavaScript) with data set #133
+ [x] Parsing tests (JavaScript) with data set #134
+ [x] Parsing tests (JavaScript) with data set #135
+ [x] Parsing tests (JavaScript) with data set #136
+ [x] Parsing tests (JavaScript) with data set #137
+ [x] Parsing tests (JavaScript) with data set #138
+ [x] Parsing tests (JavaScript) with data set #139
+ [x] Parsing tests (JavaScript) with data set #140
+ [x] Parsing tests (JavaScript) with data set #141
+ [x] Parsing tests (JavaScript) with data set #142
+ [x] Parsing tests (JavaScript) with data set #143
+ [x] Parsing tests (JavaScript) with data set #144
+ [x] Parsing tests (JavaScript) with data set #145
+ [x] Parsing tests (JavaScript) with data set #146
+ [x] Parsing tests (JavaScript) with data set #147
+ [x] Parsing tests (JavaScript) with data set #148
+ [x] Parsing tests (JavaScript) with data set #149
+ [x] Parsing tests (JavaScript) with data set #150
+ [x] Parsing tests (JavaScript) with data set #151
+ [x] Parsing tests (JavaScript) with data set #152
+ [x] Parsing tests (JavaScript) with data set #153
+ [x] Parsing tests (JavaScript) with data set #154
+ [x] Parsing tests (JavaScript) with data set #155
+ [x] Parsing tests (JavaScript) with data set #156
+ [x] Parsing tests (JavaScript) with data set #157
+ [x] Parsing tests (JavaScript) with data set #158
+ [x] Parsing tests (JavaScript) with data set #159
+ [x] Parsing tests (JavaScript) with data set #160
+ [x] Parsing tests (JavaScript) with data set #161
+ [x] Parsing tests (JavaScript) with data set #162
+ [x] Parsing tests (JavaScript) with data set #163
+ [x] Parsing tests (JavaScript) with data set #164
+ [x] Parsing tests (JavaScript) with data set #165
+ [x] Parsing tests (JavaScript) with data set #166
+ [x] Parsing tests (JavaScript) with data set #167
+ [x] Parsing tests (JavaScript) with data set #168
+ [x] Parsing tests (JavaScript) with data set #169
+ [x] Parsing tests (JavaScript) with data set #170
+ [x] Parsing tests (JavaScript) with data set #171
+ [x] Parsing tests (JavaScript) with data set #172
+ [x] Parsing tests (JavaScript) with data set #173
+ [x] Parsing tests (JavaScript) with data set #174
+ [x] Parsing tests (JavaScript) with data set #175
+ [x] Parsing tests (JavaScript) with data set #176
+ [x] Parsing tests (JavaScript) with data set #177
+ [x] Parsing tests (JavaScript) with data set #178
+ [x] Parsing tests (JavaScript) with data set #179
+ [x] Parsing tests (JavaScript) with data set #180
+ [x] Parsing tests (JavaScript) with data set #181
+ [x] Parsing tests (JavaScript) with data set #182
+ [x] Parsing tests (JavaScript) with data set #183
+ [x] Parsing tests (JavaScript) with data set #184
+ [x] Parsing tests (JavaScript) with data set #185
+ [x] Parsing tests (JavaScript) with data set #186
+ [x] Parsing tests (JavaScript) with data set #187
+ [x] Parsing tests (JavaScript) with data set #188
+ [x] Parsing tests (JavaScript) with data set #189
+ [x] Parsing tests (JavaScript) with data set #190
+ [x] Parsing tests (JavaScript) with data set #191
+ [x] Parsing tests (JavaScript) with data set #192
+ [x] Parsing tests (JavaScript) with data set #193
+ [x] Parsing tests (JavaScript) with data set #194
+ [x] Parsing tests (JavaScript) with data set #195
+ [x] Parsing tests (JavaScript) with data set #196
+ [x] Parsing tests (JavaScript) with data set #197
+ [x] Parsing tests (JavaScript) with data set #198
+ [x] Parsing tests (JavaScript) with data set #199
+ [x] Parsing tests (JavaScript) with data set #200
+ [x] Parsing tests (JavaScript) with data set #201
+ [x] Parsing tests (JavaScript) with data set #202
+ [x] Parsing tests (JavaScript) with data set #203
+ [x] Parsing tests (JavaScript) with data set #204
+ [x] Parsing tests (JavaScript) with data set #205
+ [x] Parsing tests (JavaScript) with data set #206
+ [x] Parsing tests (JavaScript) with data set #207
+ [x] Parsing tests (JavaScript) with data set #208
+ [x] Parsing tests (JavaScript) with data set #209
+ [x] Parsing tests (JavaScript) with data set #210
+ [x] Parsing tests (JavaScript) with data set #211
+ [x] Parsing tests (JavaScript) with data set #212
+ [x] Parsing tests (JavaScript) with data set #213
+ [x] Parsing tests (JavaScript) with data set #214
+ [x] Parsing tests (JavaScript) with data set #215
+ [x] Parsing tests (JavaScript) with data set #216
+ [x] Parsing tests (JavaScript) with data set #217
+ [x] Parsing tests (JavaScript) with data set #218
+ [x] Parsing tests (JavaScript) with data set #219
+ [x] Parsing tests (JavaScript) with data set #220
+ [x] Parsing tests (JavaScript) with data set #221
+ [x] Parsing tests (JavaScript) with data set #222
+ [x] Parsing tests (JavaScript) with data set #223
+ [x] Parsing tests (JavaScript) with data set #224
+ [x] Parsing tests (JavaScript) with data set #225
+ [x] Parsing tests (JavaScript) with data set #226
+ [x] Parsing tests (JavaScript) with data set #227
+ [x] Parsing tests (JavaScript) with data set #228
+ [x] Parsing tests (JavaScript) with data set #229
+ [x] Parsing tests (JavaScript) with data set #230
+ [x] Parsing tests (JavaScript) with data set #231
+ [x] Parsing tests (JavaScript) with data set #232
+ [x] Parsing tests (JavaScript) with data set #233
+ [x] Parsing tests (JavaScript) with data set #234
+ [x] Parsing tests (JavaScript) with data set #235
+ [x] Parsing tests (JavaScript) with data set #236
+ [x] Parsing tests (JavaScript) with data set #237
+ [x] Parsing tests (JavaScript) with data set #238
+ [x] Parsing tests (JavaScript) with data set #239
+ [x] Parsing tests (JavaScript) with data set #240
+ [x] Parsing tests (JavaScript) with data set #241
+ [x] Parsing tests (JavaScript) with data set #242
+ [x] Parsing tests (JavaScript) with data set #243
+ [x] Parsing tests (JavaScript) with data set #244
+ [x] Parsing tests (JavaScript) with data set #245
+ [x] Parsing tests (JavaScript) with data set #246
+ [x] Parsing tests (JavaScript) with data set #247
+ [x] Parsing tests (JavaScript) with data set #248
+ [x] Parsing tests (JavaScript) with data set #249
+ [x] Parsing tests (JavaScript) with data set #250
+ [x] Parsing tests (JavaScript) with data set #251
+ [x] Parsing tests (JavaScript) with data set #252
+ [x] Parsing tests (JavaScript) with data set #253
+ [x] Parsing tests (JavaScript) with data set #254
+ [x] Parsing tests (JavaScript) with data set #255
+ [x] Parsing tests (JavaScript) with data set #256
+ [x] Parsing tests (JavaScript) with data set #257
+ [x] Parsing tests (JavaScript) with data set #258
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
+ [x] Parsing+rendering tests with data set #3
+ [x] Parsing+rendering tests with data set #4
+ [x] Parsing+rendering tests with data set #5
+ [x] Parsing+rendering tests with data set #6
+ [x] Parsing+rendering tests with data set #7
+ [x] Parsing+rendering tests with data set #8
+ [x] Parsing+rendering tests with data set #9
+ [x] Parsing+rendering tests with data set #10
+ [x] Parsing+rendering tests with data set #11
+ [x] Parsing+rendering tests with data set #12
+ [x] Parsing+rendering tests with data set #13
+ [x] Parsing+rendering tests with data set #14
+ [x] Parsing+rendering tests with data set #15
+ [x] Parsing+rendering tests with data set #16
+ [x] Parsing+rendering tests with data set #17
+ [x] Parsing+rendering tests with data set #18
+ [x] Parsing+rendering tests with data set #19
+ [x] Parsing+rendering tests with data set #20
+ [x] Parsing+rendering tests with data set #21
+ [x] Parsing+rendering tests with data set #22
+ [x] Parsing+rendering tests with data set #23
+ [x] Parsing+rendering tests with data set #24
+ [x] Parsing+rendering tests with data set #25
+ [x] Parsing+rendering tests with data set #26
+ [x] Parsing+rendering tests with data set #27
+ [x] Parsing+rendering tests with data set #28
+ [x] Parsing+rendering tests with data set #29
+ [x] Parsing+rendering tests with data set #30
+ [x] Parsing+rendering tests with data set #31
+ [x] Parsing+rendering tests with data set #32
+ [x] Parsing+rendering tests with data set #33
+ [x] Parsing+rendering tests with data set #34
+ [x] Parsing+rendering tests with data set #35
+ [x] Parsing+rendering tests with data set #36
+ [x] Parsing+rendering tests with data set #37
+ [x] Parsing+rendering tests with data set #38
+ [x] Parsing+rendering tests with data set #39
+ [x] Parsing+rendering tests with data set #40
+ [x] Parsing+rendering tests with data set #41
+ [x] Parsing+rendering tests with data set #42
+ [x] Parsing+rendering tests with data set #43
+ [x] Parsing+rendering tests with data set #44
+ [x] Parsing+rendering tests with data set #45
+ [x] Parsing+rendering tests with data set #46
+ [x] Parsing+rendering tests with data set #47
+ [x] Parsing+rendering tests with data set #48
+ [x] Parsing+rendering tests with data set #49
+ [x] Parsing+rendering tests with data set #50
+ [x] Parsing+rendering tests with data set #51
+ [x] Parsing+rendering tests with data set #52
+ [x] Parsing+rendering tests with data set #53
+ [x] Parsing+rendering tests with data set #54
+ [x] Parsing+rendering tests with data set #55
+ [x] Parsing+rendering tests with data set #56
+ [x] Parsing+rendering tests with data set #57
+ [x] Parsing+rendering tests with data set #58
+ [x] Parsing+rendering tests with data set #59
+ [x] Parsing+rendering tests with data set #60
+ [x] Parsing+rendering tests with data set #61
+ [x] Parsing+rendering tests with data set #62
+ [x] Parsing+rendering tests with data set #63
+ [x] Parsing+rendering tests with data set #64
+ [x] Parsing+rendering tests with data set #65
+ [x] Parsing+rendering tests with data set #66
+ [x] Parsing+rendering tests with data set #67
+ [x] Parsing+rendering tests with data set #68
+ [x] Parsing+rendering tests with data set #69
+ [x] Parsing+rendering tests with data set #70
+ [x] Parsing+rendering tests with data set #71
+ [x] Parsing+rendering tests with data set #72
+ [x] Parsing+rendering tests with data set #73
+ [x] Parsing+rendering tests with data set #74
+ [x] Parsing+rendering tests with data set #75
+ [x] Parsing+rendering tests with data set #76
+ [x] Parsing+rendering tests with data set #77
+ [x] Parsing+rendering tests with data set #78
s9e\TextFormatter\Tests\Plugins\PipeTables\Configurator
[x] Creates TABLE, TBODY, TD, TH, THEAD and TR tags
@@ -2604,9 +5846,54 @@ s9e\TextFormatter\Tests\Plugins\PipeTables\Configurator
[x] asConfig() sets overwriteMarkdown to true if the Litedown plugin is loaded
s9e\TextFormatter\Tests\Plugins\PipeTables\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests with data set #10
+ [x] Parsing tests with data set #11
+ [x] Parsing tests with data set #12
+ [x] Parsing tests with data set #13
+ [x] Parsing tests with data set #14
+ [x] Parsing tests with data set #15
+ [x] Parsing tests with data set #16
+ [x] Parsing tests with data set #17
+ [x] Parsing tests with data set #18
+ [x] Parsing tests with data set #19
+ [x] Parsing tests with data set #20
+ [x] Parsing tests with data set #21
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing tests (JavaScript) with data set #10
+ [x] Parsing tests (JavaScript) with data set #11
+ [x] Parsing tests (JavaScript) with data set #12
+ [x] Parsing tests (JavaScript) with data set #13
+ [x] Parsing tests (JavaScript) with data set #14
+ [x] Parsing tests (JavaScript) with data set #15
+ [x] Parsing tests (JavaScript) with data set #16
+ [x] Parsing tests (JavaScript) with data set #17
+ [x] Parsing tests (JavaScript) with data set #18
+ [x] Parsing tests (JavaScript) with data set #19
+ [x] Parsing tests (JavaScript) with data set #20
+ [x] Parsing tests (JavaScript) with data set #21
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
+ [x] Parsing+rendering tests with data set #3
s9e\TextFormatter\Tests\Plugins\Preg\Configurator
[x] replace() generates a tag name automatically
@@ -2632,6 +5919,7 @@ s9e\TextFormatter\Tests\Plugins\Preg\Configurator
[x] replace() interprets \$1 in the template as a literal $1
[x] replace() replaces $0 with the whole match
[x] replace() interprets a (.*?) capture used in template's text as a passthrough
+ [x] replace() interprets a (.*?) capture used in template's text as a passthrough
[x] replace() doesn't set a passthrough if there are multiple candidates
[x] A capture used as a URL can also be used as a passthrough, in which case it will used the filtered attribute when used in an attribute, and the normal passthrough when used in text
[x] Captures from non-existent subpattern are removed from the template
@@ -2646,37 +5934,292 @@ s9e\TextFormatter\Tests\Plugins\Preg\Configurator
[x] getJSHints() returns ['PREG_HAS_PASSTHROUGH' => true] if any replacement is passthrough
s9e\TextFormatter\Tests\Plugins\Preg\Parser
- [x] Parsing tests
- [x] Parsing tests (JavaScript)
- [x] Parsing+rendering tests
+ [x] Parsing tests with data set #0
+ [x] Parsing tests with data set #1
+ [x] Parsing tests with data set #2
+ [x] Parsing tests with data set #3
+ [x] Parsing tests with data set #4
+ [x] Parsing tests with data set #5
+ [x] Parsing tests with data set #6
+ [x] Parsing tests with data set #7
+ [x] Parsing tests with data set #8
+ [x] Parsing tests with data set #9
+ [x] Parsing tests with data set #10
+ [x] Parsing tests (JavaScript) with data set #0
+ [x] Parsing tests (JavaScript) with data set #1
+ [x] Parsing tests (JavaScript) with data set #2
+ [x] Parsing tests (JavaScript) with data set #3
+ [x] Parsing tests (JavaScript) with data set #4
+ [x] Parsing tests (JavaScript) with data set #5
+ [x] Parsing tests (JavaScript) with data set #6
+ [x] Parsing tests (JavaScript) with data set #7
+ [x] Parsing tests (JavaScript) with data set #8
+ [x] Parsing tests (JavaScript) with data set #9
+ [x] Parsing tests (JavaScript) with data set #10
+ [x] Parsing+rendering tests with data set #0
+ [x] Parsing+rendering tests with data set #1
+ [x] Parsing+rendering tests with data set #2
+ [x] Parsing+rendering tests with data set #3
s9e\TextFormatter\Tests\Configurator\RendererGenerators\PHP\XPathConvertor
- [x] convertXPath() basic tests
- [x] convertXPath() advanced tests (PCRE >= 8.13)
- [x] convertXPath() advanced tests (PCRE < 8.13)
- [x] convertXPath() mbstring tests
- [x] convertCondition() basic tests
- [x] convertCondition() advanced tests (PCRE >= 8.13)
- [x] convertCondition() advanced tests (PCRE < 8.13)
+ [x] convertXPath() basic tests with data set #0
+ [x] convertXPath() basic tests with data set #1
+ [x] convertXPath() basic tests with data set #2
+ [x] convertXPath() basic tests with data set #3
+ [x] convertXPath() basic tests with data set #4
+ [x] convertXPath() basic tests with data set #5
+ [x] convertXPath() basic tests with data set #6
+ [x] convertXPath() basic tests with data set #7
+ [x] convertXPath() basic tests with data set #8
+ [x] convertXPath() basic tests with data set #9
+ [x] convertXPath() basic tests with data set #10
+ [x] convertXPath() basic tests with data set #11
+ [x] convertXPath() basic tests with data set #12
+ [x] convertXPath() basic tests with data set #13
+ [x] convertXPath() basic tests with data set #14
+ [x] convertXPath() basic tests with data set #15
+ [x] convertXPath() basic tests with data set #16
+ [x] convertXPath() basic tests with data set #17
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #0
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #1
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #2
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #3
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #4
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #5
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #6
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #7
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #8
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #9
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #10
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #11
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #12
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #13
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #14
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #15
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #16
+ [x] convertXPath() advanced tests (PCRE >= 8.13) with data set #17
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #0
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #1
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #2
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #3
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #4
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #5
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #6
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #7
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #8
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #9
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #10
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #11
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #12
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #13
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #14
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #15
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #16
+ [x] convertXPath() advanced tests (PCRE < 8.13) with data set #17
+ [x] convertXPath() mbstring tests with data set #0
+ [x] convertXPath() mbstring tests with data set #1
+ [x] convertXPath() mbstring tests with data set #2
+ [x] convertXPath() mbstring tests with data set #3
+ [x] convertXPath() mbstring tests with data set #4
+ [x] convertXPath() mbstring tests with data set #5
+ [x] convertXPath() mbstring tests with data set #6
+ [x] convertCondition() basic tests with data set #0
+ [x] convertCondition() basic tests with data set #1
+ [x] convertCondition() basic tests with data set #2
+ [x] convertCondition() basic tests with data set #3
+ [x] convertCondition() basic tests with data set #4
+ [x] convertCondition() basic tests with data set #5
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #0
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #1
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #2
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #3
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #4
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #5
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #6
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #7
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #8
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #9
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #10
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #11
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #12
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #13
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #14
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #15
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #16
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #17
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #18
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #19
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #20
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #21
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #22
+ [x] convertCondition() advanced tests (PCRE >= 8.13) with data set #23
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #0
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #1
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #2
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #3
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #4
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #5
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #6
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #7
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #8
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #9
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #10
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #11
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #12
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #13
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #14
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #15
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #16
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #17
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #18
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #19
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #20
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #21
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #22
+ [x] convertCondition() advanced tests (PCRE < 8.13) with data set #23
[x] Covering test for convertXPath()
s9e\TextFormatter\Tests\Configurator\RendererGenerators\PHP\BranchOutputOptimizer
- [x] optimize() tests
+ [x] optimize() tests with data set #0
+ [x] optimize() tests with data set #1
+ [x] optimize() tests with data set #2
+ [x] optimize() tests with data set #3
+ [x] optimize() tests with data set #4
+ [x] optimize() tests with data set #5
+ [x] optimize() tests with data set #6
+ [x] optimize() tests with data set #7
+ [x] optimize() tests with data set #8
+ [x] optimize() tests with data set #9
+ [x] optimize() tests with data set #10
+ [x] optimize() tests with data set #11
s9e\TextFormatter\Tests\Configurator\RendererGenerators\PHP\ControlStructuresOptimizer
- [x] optimize() tests
+ [x] optimize() tests with data set #0
+ [x] optimize() tests with data set #1
+ [x] optimize() tests with data set #2
+ [x] optimize() tests with data set #3
+ [x] optimize() tests with data set #4
+ [x] optimize() tests with data set #5
+ [x] optimize() tests with data set #6
+ [x] optimize() tests with data set #7
+ [x] optimize() tests with data set #8
+ [x] optimize() tests with data set #9
+ [x] optimize() tests with data set #10
+ [x] optimize() tests with data set #11
+ [x] optimize() tests with data set #12
+ [x] optimize() tests with data set #13
+ [x] optimize() tests with data set #14
+ [x] optimize() tests with data set #15
+ [x] optimize() tests with data set #16
+ [x] optimize() tests with data set #17
+ [x] optimize() tests with data set #18
+ [x] optimize() tests with data set #19
+ [x] optimize() tests with data set #20
+ [x] optimize() tests with data set #21
+ [x] optimize() tests with data set #22
+ [x] optimize() tests with data set #23
+ [x] optimize() tests with data set #24
+ [x] optimize() tests with data set #25
+ [x] optimize() tests with data set #26
+ [x] optimize() tests with data set #27
s9e\TextFormatter\Tests\Configurator\RendererGenerators\PHP\Optimizer
- [x] optimize() tests
+ [x] optimize() tests with data set #0
+ [x] optimize() tests with data set #1
+ [x] optimize() tests with data set #2
+ [x] optimize() tests with data set #3
+ [x] optimize() tests with data set #4
+ [x] optimize() tests with data set #5
+ [x] optimize() tests with data set #6
+ [x] optimize() tests with data set #7
+ [x] optimize() tests with data set #8
+ [x] optimize() tests with data set #9
+ [x] optimize() tests with data set #10
+ [x] optimize() tests with data set #11
+ [x] optimize() tests with data set #12
s9e\TextFormatter\Tests\Configurator\RendererGenerators\PHP\Quick
[x] The quick renderer can handle unknown tags
[x] The quick renderer can handle unknown self-closing tags
[x] The quick renderer can handle comments
[x] The quick renderer can handle processing instructions
- [x] Rendering
- [x] Rendering strategy
- [x] Source
+ [x] Rendering with data set #0
+ [x] Rendering with data set #1
+ [x] Rendering with data set #2
+ [x] Rendering with data set #3
+ [x] Rendering with data set #4
+ [x] Rendering with data set #5
+ [x] Rendering with data set #6
+ [x] Rendering with data set #7
+ [x] Rendering with data set #8
+ [x] Rendering with data set #9
+ [x] Rendering with data set #10
+ [x] Rendering with data set #11
+ [x] Rendering with data set #12
+ [x] Rendering with data set #13
+ [x] Rendering with data set #14
+ [x] Rendering with data set #15
+ [x] Rendering with data set #16
+ [x] Rendering with data set #17
+ [x] Rendering with data set #18
+ [x] Rendering with data set #19
+ [x] Rendering with data set #20
+ [x] Rendering with data set #21
+ [x] Rendering with data set #22
+ [x] Rendering with data set #23
+ [x] Rendering strategy with data set #0
+ [x] Rendering strategy with data set #1
+ [x] Rendering strategy with data set #2
+ [x] Rendering strategy with data set #3
+ [x] Rendering strategy with data set #4
+ [x] Rendering strategy with data set #5
+ [x] Rendering strategy with data set #6
+ [x] Rendering strategy with data set #7
+ [x] Rendering strategy with data set #8
+ [x] Rendering strategy with data set #9
+ [x] Rendering strategy with data set #10
+ [x] Rendering strategy with data set #11
+ [x] Rendering strategy with data set #12
+ [x] Rendering strategy with data set #13
+ [x] Rendering strategy with data set #14
+ [x] Rendering strategy with data set #15
+ [x] Rendering strategy with data set #16
+ [x] Rendering strategy with data set #17
+ [x] Rendering strategy with data set #18
+ [x] Rendering strategy with data set #19
+ [x] Rendering strategy with data set #20
+ [x] Rendering strategy with data set #21
+ [x] Rendering strategy with data set #22
+ [x] Rendering strategy with data set #23
+ [x] Rendering strategy with data set #24
+ [x] Rendering strategy with data set #25
+ [x] Rendering strategy with data set #26
+ [x] Rendering strategy with data set #27
+ [x] Rendering strategy with data set #28
+ [x] Source with data set #0
+ [x] Source with data set #1
+ [x] Source with data set #2
+ [x] Source with data set #3
+ [x] Source with data set #4
+ [x] Source with data set #5
+ [x] Source with data set #6
+ [x] Source with data set #7
+ [x] Source with data set #8
+ [x] Source with data set #9
+ [x] Source with data set #10
+ [x] Source with data set #11
+ [x] Source with data set #12
+ [x] Source with data set #13
+ [x] Source with data set #14
+ [x] Source with data set #15
+ [x] Source with data set #16
+ [x] Source with data set #17
+ [x] Source with data set #18
+ [x] Source with data set #19
+ [x] Source with data set #20
+ [x] Source with data set #21
+ [x] Source with data set #22
+ [x] Source with data set #23
[x] Renders plain text
[x] Renders multi-line text
[x] Renders rich text
@@ -2703,10 +6246,18 @@ s9e\TextFormatter\Tests\Configurator\RendererGenerators\PHP\Quick
s9e\TextFormatter\Tests\Configurator\RendererGenerators\PHP\Serializer
[x] serialize() ignores text nodes in source tree
- [x] serialize() tests
+ [x] serialize() tests with data set #0
+ [x] serialize() tests with data set #1
+ [x] serialize() tests with data set #2
+ [x] serialize() tests with data set #3
+ [x] serialize() tests with data set #4
+ [x] serialize() tests with data set #5
s9e\TextFormatter\Tests\Configurator\RendererGenerators\PHP\SwitchStatement
- [x] generate() tests
+ [x] generate() tests with data set #0
+ [x] generate() tests with data set #1
+ [x] generate() tests with data set #2
+ [x] generate() tests with data set #3
s9e\TextFormatter\Tests\Configurator\RendererGenerators\PHP
[x] Returns an instance of Renderer
@@ -2727,20 +6278,761 @@ s9e\TextFormatter\Tests\Configurator\RendererGenerators\PHP
[x] Throws an exception if a template contains a processing instruction
[x] Throws an exception when encountering unsupported XSL elements
[x] Throws an exception on that does not copy an attribute
- [x] Matches the reference rendering in edge cases
- [x] Matches the reference rendering in edge cases (quick renderer)
- [x] XPath expressions are inlined as PHP whenever possible
+ [x] Matches the reference rendering in edge cases with data set #0
+ [x] Matches the reference rendering in edge cases with data set #1
+ [x] Matches the reference rendering in edge cases with data set #2
+ [x] Matches the reference rendering in edge cases with data set #3
+ [x] Matches the reference rendering in edge cases with data set #4
+ [x] Matches the reference rendering in edge cases with data set #5
+ [x] Matches the reference rendering in edge cases with data set #6
+ [x] Matches the reference rendering in edge cases with data set #7
+ [x] Matches the reference rendering in edge cases with data set #8
+ [x] Matches the reference rendering in edge cases with data set #9
+ [x] Matches the reference rendering in edge cases with data set #10
+ [x] Matches the reference rendering in edge cases with data set #11
+ [x] Matches the reference rendering in edge cases with data set #12
+ [x] Matches the reference rendering in edge cases with data set #13
+ [x] Matches the reference rendering in edge cases with data set #14
+ [x] Matches the reference rendering in edge cases with data set #15
+ [x] Matches the reference rendering in edge cases with data set #16
+ [x] Matches the reference rendering in edge cases with data set #17
+ [x] Matches the reference rendering in edge cases with data set #18
+ [x] Matches the reference rendering in edge cases with data set #19
+ [x] Matches the reference rendering in edge cases with data set #20
+ [x] Matches the reference rendering in edge cases with data set #21
+ [x] Matches the reference rendering in edge cases with data set #22
+ [x] Matches the reference rendering in edge cases with data set #23
+ [x] Matches the reference rendering in edge cases with data set #24
+ [x] Matches the reference rendering in edge cases with data set #25
+ [x] Matches the reference rendering in edge cases with data set #26
+ [x] Matches the reference rendering in edge cases with data set #27
+ [x] Matches the reference rendering in edge cases with data set #28
+ [x] Matches the reference rendering in edge cases with data set #29
+ [x] Matches the reference rendering in edge cases with data set #30
+ [x] Matches the reference rendering in edge cases with data set #31
+ [x] Matches the reference rendering in edge cases with data set #32
+ [x] Matches the reference rendering in edge cases with data set #33
+ [x] Matches the reference rendering in edge cases with data set #34
+ [x] Matches the reference rendering in edge cases with data set #35
+ [x] Matches the reference rendering in edge cases with data set #36
+ [x] Matches the reference rendering in edge cases with data set #37
+ [x] Matches the reference rendering in edge cases with data set #38
+ [x] Matches the reference rendering in edge cases with data set #39
+ [x] Matches the reference rendering in edge cases with data set #40
+ [x] Matches the reference rendering in edge cases with data set #41
+ [x] Matches the reference rendering in edge cases with data set #42
+ [x] Matches the reference rendering in edge cases with data set #43
+ [x] Matches the reference rendering in edge cases with data set #44
+ [x] Matches the reference rendering in edge cases with data set #45
+ [x] Matches the reference rendering in edge cases with data set #46
+ [x] Matches the reference rendering in edge cases with data set #47
+ [x] Matches the reference rendering in edge cases with data set #48
+ [x] Matches the reference rendering in edge cases with data set #49
+ [x] Matches the reference rendering in edge cases with data set #50
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #0
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #1
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #2
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #3
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #4
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #5
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #6
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #7
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #8
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #9
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #10
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #11
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #12
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #13
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #14
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #15
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #16
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #17
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #18
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #19
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #20
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #21
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #22
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #23
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #24
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #25
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #26
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #27
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #28
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #29
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #30
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #31
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #32
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #33
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #34
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #35
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #36
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #37
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #38
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #39
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #40
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #41
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #42
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #43
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #44
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #45
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #46
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #47
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #48
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #49
+ [x] Matches the reference rendering in edge cases (quick renderer) with data set #50
+ [x] XPath expressions are inlined as PHP whenever possible with data set #0
+ [x] XPath expressions are inlined as PHP whenever possible with data set #1
+ [x] XPath expressions are inlined as PHP whenever possible with data set #2
+ [x] XPath expressions are inlined as PHP whenever possible with data set #3
+ [x] XPath expressions are inlined as PHP whenever possible with data set #4
+ [x] XPath expressions are inlined as PHP whenever possible with data set #5
+ [x] XPath expressions are inlined as PHP whenever possible with data set #6
+ [x] XPath expressions are inlined as PHP whenever possible with data set #7
+ [x] XPath expressions are inlined as PHP whenever possible with data set #8
+ [x] XPath expressions are inlined as PHP whenever possible with data set #9
+ [x] XPath expressions are inlined as PHP whenever possible with data set #10
+ [x] XPath expressions are inlined as PHP whenever possible with data set #11
[x] useMultibyteStringFunctions is set to TRUE if mbstring is available
[x] mbstring functions are not used if $useMultibyteStringFunctions is FALSE
[x] Calls the optimizer's optimize() method if applicable
[x] Can run without an optimizer
[x] Calls the control structures optimizer's optimize() method if applicable
[x] Can run without a control structures optimizer
- [x] Code optimization tests
- [x] HTML rendering
- [x] Rendering of void and empty elements in HTML
- [x] Tests from plugins
- [x] Tests from plugins (Quick renderer)
+ [x] Code optimization tests with data set #0
+ [x] Code optimization tests with data set #1
+ [x] Code optimization tests with data set #2
+ [x] Code optimization tests with data set #3
+ [x] Code optimization tests with data set #4
+ [x] Code optimization tests with data set #5
+ [x] Code optimization tests with data set #6
+ [x] Code optimization tests with data set #7
+ [x] Code optimization tests with data set #8
+ [x] Code optimization tests with data set #9
+ [x] Code optimization tests with data set #10
+ [x] Code optimization tests with data set #11
+ [x] Code optimization tests with data set #12
+ [x] Code optimization tests with data set #13
+ [x] Code optimization tests with data set #14
+ [x] Code optimization tests with data set #15
+ [x] HTML rendering with data set #0
+ [x] HTML rendering with data set #1
+ [x] HTML rendering with data set #2
+ [x] HTML rendering with data set #3
+ [x] HTML rendering with data set #4
+ [x] HTML rendering with data set #5
+ [x] HTML rendering with data set #6
+ [x] HTML rendering with data set #7
+ [x] HTML rendering with data set #8
+ [x] HTML rendering with data set #9
+ [x] HTML rendering with data set #10
+ [x] HTML rendering with data set #11
+ [x] HTML rendering with data set #12
+ [x] HTML rendering with data set #13
+ [x] HTML rendering with data set #14
+ [x] HTML rendering with data set #15
+ [x] HTML rendering with data set #16
+ [x] HTML rendering with data set #17
+ [x] HTML rendering with data set #18
+ [x] HTML rendering with data set #19
+ [x] HTML rendering with data set #20
+ [x] HTML rendering with data set #21
+ [x] HTML rendering with data set #22
+ [x] HTML rendering with data set #23
+ [x] HTML rendering with data set #24
+ [x] HTML rendering with data set #25
+ [x] HTML rendering with data set #26
+ [x] HTML rendering with data set #27
+ [x] HTML rendering with data set #28
+ [x] HTML rendering with data set #29
+ [x] HTML rendering with data set #30
+ [x] HTML rendering with data set #31
+ [x] HTML rendering with data set #32
+ [x] HTML rendering with data set #33
+ [x] HTML rendering with data set #34
+ [x] Rendering of void and empty elements in HTML with data set #0
+ [x] Rendering of void and empty elements in HTML with data set #1
+ [x] Rendering of void and empty elements in HTML with data set #2
+ [x] Rendering of void and empty elements in HTML with data set #3
+ [x] Rendering of void and empty elements in HTML with data set #4
+ [x] Rendering of void and empty elements in HTML with data set #5
+ [x] Rendering of void and empty elements in HTML with data set #6
+ [x] Rendering of void and empty elements in HTML with data set #7
+ [x] Rendering of void and empty elements in HTML with data set #8
+ [x] Rendering of void and empty elements in HTML with data set #9
+ [x] Rendering of void and empty elements in HTML with data set #10
+ [x] Rendering of void and empty elements in HTML with data set #11
+ [x] Rendering of void and empty elements in HTML with data set #12
+ [x] Rendering of void and empty elements in HTML with data set #13
+ [x] Rendering of void and empty elements in HTML with data set #14
+ [x] Rendering of void and empty elements in HTML with data set #15
+ [x] Tests from plugins with data set #0
+ [x] Tests from plugins with data set #1
+ [x] Tests from plugins with data set #2
+ [x] Tests from plugins with data set #3
+ [x] Tests from plugins with data set #4
+ [x] Tests from plugins with data set #5
+ [x] Tests from plugins with data set #6
+ [x] Tests from plugins with data set #7
+ [x] Tests from plugins with data set #8
+ [x] Tests from plugins with data set #9
+ [x] Tests from plugins with data set #10
+ [x] Tests from plugins with data set #11
+ [x] Tests from plugins with data set #12
+ [x] Tests from plugins with data set #13
+ [x] Tests from plugins with data set #14
+ [x] Tests from plugins with data set #15
+ [x] Tests from plugins with data set #16
+ [x] Tests from plugins with data set #17
+ [x] Tests from plugins with data set #18
+ [x] Tests from plugins with data set #19
+ [x] Tests from plugins with data set #20
+ [x] Tests from plugins with data set #21
+ [x] Tests from plugins with data set #22
+ [x] Tests from plugins with data set #23
+ [x] Tests from plugins with data set #24
+ [x] Tests from plugins with data set #25
+ [x] Tests from plugins with data set #26
+ [x] Tests from plugins with data set #27
+ [x] Tests from plugins with data set #28
+ [x] Tests from plugins with data set #29
+ [x] Tests from plugins with data set #30
+ [x] Tests from plugins with data set #31
+ [x] Tests from plugins with data set #32
+ [x] Tests from plugins with data set #33
+ [x] Tests from plugins with data set #34
+ [x] Tests from plugins with data set #35
+ [x] Tests from plugins with data set #36
+ [x] Tests from plugins with data set #37
+ [x] Tests from plugins with data set #38
+ [x] Tests from plugins with data set #39
+ [x] Tests from plugins with data set #40
+ [x] Tests from plugins with data set #41
+ [x] Tests from plugins with data set #42
+ [x] Tests from plugins with data set #43
+ [x] Tests from plugins with data set #44
+ [x] Tests from plugins with data set #45
+ [x] Tests from plugins with data set #46
+ [x] Tests from plugins with data set #47
+ [x] Tests from plugins with data set #48
+ [x] Tests from plugins with data set #49
+ [x] Tests from plugins with data set #50
+ [x] Tests from plugins with data set #51
+ [x] Tests from plugins with data set #52
+ [x] Tests from plugins with data set #53
+ [x] Tests from plugins with data set #54
+ [x] Tests from plugins with data set #55
+ [x] Tests from plugins with data set #56
+ [x] Tests from plugins with data set #57
+ [x] Tests from plugins with data set #58
+ [x] Tests from plugins with data set #59
+ [x] Tests from plugins with data set #60
+ [x] Tests from plugins with data set #61
+ [x] Tests from plugins with data set #62
+ [x] Tests from plugins with data set #63
+ [x] Tests from plugins with data set #64
+ [x] Tests from plugins with data set #65
+ [x] Tests from plugins with data set #66
+ [x] Tests from plugins with data set #67
+ [x] Tests from plugins with data set #68
+ [x] Tests from plugins with data set #69
+ [x] Tests from plugins with data set #70
+ [x] Tests from plugins with data set #71
+ [x] Tests from plugins with data set #72
+ [x] Tests from plugins with data set #73
+ [x] Tests from plugins with data set #74
+ [x] Tests from plugins with data set #75
+ [x] Tests from plugins with data set #76
+ [x] Tests from plugins with data set #77
+ [x] Tests from plugins with data set #78
+ [x] Tests from plugins with data set #79
+ [x] Tests from plugins with data set #80
+ [x] Tests from plugins with data set #81
+ [x] Tests from plugins with data set #82
+ [x] Tests from plugins with data set #83
+ [x] Tests from plugins with data set #84
+ [x] Tests from plugins with data set #85
+ [x] Tests from plugins with data set #86
+ [x] Tests from plugins with data set #87
+ [x] Tests from plugins with data set #88
+ [x] Tests from plugins with data set #89
+ [x] Tests from plugins with data set #90
+ [x] Tests from plugins with data set #91
+ [x] Tests from plugins with data set #92
+ [x] Tests from plugins with data set #93
+ [x] Tests from plugins with data set #94
+ [x] Tests from plugins with data set #95
+ [x] Tests from plugins with data set #96
+ [x] Tests from plugins with data set #97
+ [x] Tests from plugins with data set #98
+ [x] Tests from plugins with data set #99
+ [x] Tests from plugins with data set #100
+ [x] Tests from plugins with data set #101
+ [x] Tests from plugins with data set #102
+ [x] Tests from plugins with data set #103
+ [x] Tests from plugins with data set #104
+ [x] Tests from plugins with data set #105
+ [x] Tests from plugins with data set #106
+ [x] Tests from plugins with data set #107
+ [x] Tests from plugins with data set #108
+ [x] Tests from plugins with data set #109
+ [x] Tests from plugins with data set #110
+ [x] Tests from plugins with data set #111
+ [x] Tests from plugins with data set #112
+ [x] Tests from plugins with data set #113
+ [x] Tests from plugins with data set #114
+ [x] Tests from plugins with data set #115
+ [x] Tests from plugins with data set #116
+ [x] Tests from plugins with data set #117
+ [x] Tests from plugins with data set #118
+ [x] Tests from plugins with data set #119
+ [x] Tests from plugins with data set #120
+ [x] Tests from plugins with data set #121
+ [x] Tests from plugins with data set #122
+ [x] Tests from plugins with data set #123
+ [x] Tests from plugins with data set #124
+ [x] Tests from plugins with data set #125
+ [x] Tests from plugins with data set #126
+ [x] Tests from plugins with data set #127
+ [x] Tests from plugins with data set #128
+ [x] Tests from plugins with data set #129
+ [x] Tests from plugins with data set #130
+ [x] Tests from plugins with data set #131
+ [x] Tests from plugins with data set #132
+ [x] Tests from plugins with data set #133
+ [x] Tests from plugins with data set #134
+ [x] Tests from plugins with data set #135
+ [x] Tests from plugins with data set #136
+ [x] Tests from plugins with data set #137
+ [x] Tests from plugins with data set #138
+ [x] Tests from plugins with data set #139
+ [x] Tests from plugins with data set #140
+ [x] Tests from plugins with data set #141
+ [x] Tests from plugins with data set #142
+ [x] Tests from plugins with data set #143
+ [x] Tests from plugins with data set #144
+ [x] Tests from plugins with data set #145
+ [x] Tests from plugins with data set #146
+ [x] Tests from plugins with data set #147
+ [x] Tests from plugins with data set #148
+ [x] Tests from plugins with data set #149
+ [x] Tests from plugins with data set #150
+ [x] Tests from plugins with data set #151
+ [x] Tests from plugins with data set #152
+ [x] Tests from plugins with data set #153
+ [x] Tests from plugins with data set #154
+ [x] Tests from plugins with data set #155
+ [x] Tests from plugins with data set #156
+ [x] Tests from plugins with data set #157
+ [x] Tests from plugins with data set #158
+ [x] Tests from plugins with data set #159
+ [x] Tests from plugins with data set #160
+ [x] Tests from plugins with data set #161
+ [x] Tests from plugins with data set #162
+ [x] Tests from plugins with data set #163
+ [x] Tests from plugins with data set #164
+ [x] Tests from plugins with data set #165
+ [x] Tests from plugins with data set #166
+ [x] Tests from plugins with data set #167
+ [x] Tests from plugins with data set #168
+ [x] Tests from plugins with data set #169
+ [x] Tests from plugins with data set #170
+ [x] Tests from plugins with data set #171
+ [x] Tests from plugins with data set #172
+ [x] Tests from plugins with data set #173
+ [x] Tests from plugins with data set #174
+ [x] Tests from plugins with data set #175
+ [x] Tests from plugins with data set #176
+ [x] Tests from plugins with data set #177
+ [x] Tests from plugins with data set #178
+ [x] Tests from plugins with data set #179
+ [x] Tests from plugins with data set #180
+ [x] Tests from plugins with data set #181
+ [x] Tests from plugins with data set #182
+ [x] Tests from plugins with data set #183
+ [x] Tests from plugins with data set #184
+ [x] Tests from plugins with data set #185
+ [x] Tests from plugins with data set #186
+ [x] Tests from plugins with data set #187
+ [x] Tests from plugins with data set #188
+ [x] Tests from plugins with data set #189
+ [x] Tests from plugins with data set #190
+ [x] Tests from plugins with data set #191
+ [x] Tests from plugins with data set #192
+ [x] Tests from plugins with data set #193
+ [x] Tests from plugins with data set #194
+ [x] Tests from plugins with data set #195
+ [x] Tests from plugins with data set #196
+ [x] Tests from plugins with data set #197
+ [x] Tests from plugins with data set #198
+ [x] Tests from plugins with data set #199
+ [x] Tests from plugins with data set #200
+ [x] Tests from plugins with data set #201
+ [x] Tests from plugins with data set #202
+ [x] Tests from plugins with data set #203
+ [x] Tests from plugins with data set #204
+ [x] Tests from plugins with data set #205
+ [x] Tests from plugins with data set #206
+ [x] Tests from plugins with data set #207
+ [x] Tests from plugins with data set #208
+ [x] Tests from plugins with data set #209
+ [x] Tests from plugins with data set #210
+ [x] Tests from plugins with data set #211
+ [x] Tests from plugins with data set #212
+ [x] Tests from plugins with data set #213
+ [x] Tests from plugins with data set #214
+ [x] Tests from plugins with data set #215
+ [x] Tests from plugins with data set #216
+ [x] Tests from plugins with data set #217
+ [x] Tests from plugins with data set #218
+ [x] Tests from plugins with data set #219
+ [x] Tests from plugins with data set #220
+ [x] Tests from plugins with data set #221
+ [x] Tests from plugins with data set #222
+ [x] Tests from plugins with data set #223
+ [x] Tests from plugins with data set #224
+ [x] Tests from plugins with data set #225
+ [x] Tests from plugins with data set #226
+ [x] Tests from plugins with data set #227
+ [x] Tests from plugins with data set #228
+ [x] Tests from plugins with data set #229
+ [x] Tests from plugins with data set #230
+ [x] Tests from plugins with data set #231
+ [x] Tests from plugins with data set #232
+ [x] Tests from plugins with data set #233
+ [x] Tests from plugins with data set #234
+ [x] Tests from plugins with data set #235
+ [x] Tests from plugins with data set #236
+ [x] Tests from plugins with data set #237
+ [x] Tests from plugins with data set #238
+ [x] Tests from plugins with data set #239
+ [x] Tests from plugins with data set #240
+ [x] Tests from plugins with data set #241
+ [x] Tests from plugins with data set #242
+ [x] Tests from plugins with data set #243
+ [x] Tests from plugins with data set #244
+ [x] Tests from plugins with data set #245
+ [x] Tests from plugins with data set #246
+ [x] Tests from plugins with data set #247
+ [x] Tests from plugins with data set #248
+ [x] Tests from plugins with data set #249
+ [x] Tests from plugins with data set #250
+ [x] Tests from plugins with data set #251
+ [x] Tests from plugins with data set #252
+ [x] Tests from plugins with data set #253
+ [x] Tests from plugins with data set #254
+ [x] Tests from plugins with data set #255
+ [x] Tests from plugins with data set #256
+ [x] Tests from plugins with data set #257
+ [x] Tests from plugins with data set #258
+ [x] Tests from plugins with data set #259
+ [x] Tests from plugins with data set #260
+ [x] Tests from plugins with data set #261
+ [x] Tests from plugins with data set #262
+ [x] Tests from plugins with data set #263
+ [x] Tests from plugins with data set #264
+ [x] Tests from plugins with data set #265
+ [x] Tests from plugins with data set #266
+ [x] Tests from plugins with data set #267
+ [x] Tests from plugins with data set #268
+ [x] Tests from plugins with data set #269
+ [x] Tests from plugins with data set #270
+ [x] Tests from plugins with data set #271
+ [x] Tests from plugins with data set #272
+ [x] Tests from plugins with data set #273
+ [x] Tests from plugins with data set #274
+ [x] Tests from plugins with data set #275
+ [x] Tests from plugins with data set #276
+ [x] Tests from plugins with data set #277
+ [x] Tests from plugins with data set #278
+ [x] Tests from plugins with data set #279
+ [x] Tests from plugins with data set #280
+ [x] Tests from plugins with data set #281
+ [x] Tests from plugins with data set #282
+ [x] Tests from plugins with data set #283
+ [x] Tests from plugins (Quick renderer) with data set #0
+ [x] Tests from plugins (Quick renderer) with data set #1
+ [x] Tests from plugins (Quick renderer) with data set #2
+ [x] Tests from plugins (Quick renderer) with data set #3
+ [x] Tests from plugins (Quick renderer) with data set #4
+ [x] Tests from plugins (Quick renderer) with data set #5
+ [x] Tests from plugins (Quick renderer) with data set #6
+ [x] Tests from plugins (Quick renderer) with data set #7
+ [x] Tests from plugins (Quick renderer) with data set #8
+ [x] Tests from plugins (Quick renderer) with data set #9
+ [x] Tests from plugins (Quick renderer) with data set #10
+ [x] Tests from plugins (Quick renderer) with data set #11
+ [x] Tests from plugins (Quick renderer) with data set #12
+ [x] Tests from plugins (Quick renderer) with data set #13
+ [x] Tests from plugins (Quick renderer) with data set #14
+ [x] Tests from plugins (Quick renderer) with data set #15
+ [x] Tests from plugins (Quick renderer) with data set #16
+ [x] Tests from plugins (Quick renderer) with data set #17
+ [x] Tests from plugins (Quick renderer) with data set #18
+ [x] Tests from plugins (Quick renderer) with data set #19
+ [x] Tests from plugins (Quick renderer) with data set #20
+ [x] Tests from plugins (Quick renderer) with data set #21
+ [x] Tests from plugins (Quick renderer) with data set #22
+ [x] Tests from plugins (Quick renderer) with data set #23
+ [x] Tests from plugins (Quick renderer) with data set #24
+ [x] Tests from plugins (Quick renderer) with data set #25
+ [x] Tests from plugins (Quick renderer) with data set #26
+ [x] Tests from plugins (Quick renderer) with data set #27
+ [x] Tests from plugins (Quick renderer) with data set #28
+ [x] Tests from plugins (Quick renderer) with data set #29
+ [x] Tests from plugins (Quick renderer) with data set #30
+ [x] Tests from plugins (Quick renderer) with data set #31
+ [x] Tests from plugins (Quick renderer) with data set #32
+ [x] Tests from plugins (Quick renderer) with data set #33
+ [x] Tests from plugins (Quick renderer) with data set #34
+ [x] Tests from plugins (Quick renderer) with data set #35
+ [x] Tests from plugins (Quick renderer) with data set #36
+ [x] Tests from plugins (Quick renderer) with data set #37
+ [x] Tests from plugins (Quick renderer) with data set #38
+ [x] Tests from plugins (Quick renderer) with data set #39
+ [x] Tests from plugins (Quick renderer) with data set #40
+ [x] Tests from plugins (Quick renderer) with data set #41
+ [x] Tests from plugins (Quick renderer) with data set #42
+ [x] Tests from plugins (Quick renderer) with data set #43
+ [x] Tests from plugins (Quick renderer) with data set #44
+ [x] Tests from plugins (Quick renderer) with data set #45
+ [x] Tests from plugins (Quick renderer) with data set #46
+ [x] Tests from plugins (Quick renderer) with data set #47
+ [x] Tests from plugins (Quick renderer) with data set #48
+ [x] Tests from plugins (Quick renderer) with data set #49
+ [x] Tests from plugins (Quick renderer) with data set #50
+ [x] Tests from plugins (Quick renderer) with data set #51
+ [x] Tests from plugins (Quick renderer) with data set #52
+ [x] Tests from plugins (Quick renderer) with data set #53
+ [x] Tests from plugins (Quick renderer) with data set #54
+ [x] Tests from plugins (Quick renderer) with data set #55
+ [x] Tests from plugins (Quick renderer) with data set #56
+ [x] Tests from plugins (Quick renderer) with data set #57
+ [x] Tests from plugins (Quick renderer) with data set #58
+ [x] Tests from plugins (Quick renderer) with data set #59
+ [x] Tests from plugins (Quick renderer) with data set #60
+ [x] Tests from plugins (Quick renderer) with data set #61
+ [x] Tests from plugins (Quick renderer) with data set #62
+ [x] Tests from plugins (Quick renderer) with data set #63
+ [x] Tests from plugins (Quick renderer) with data set #64
+ [x] Tests from plugins (Quick renderer) with data set #65
+ [x] Tests from plugins (Quick renderer) with data set #66
+ [x] Tests from plugins (Quick renderer) with data set #67
+ [x] Tests from plugins (Quick renderer) with data set #68
+ [x] Tests from plugins (Quick renderer) with data set #69
+ [x] Tests from plugins (Quick renderer) with data set #70
+ [x] Tests from plugins (Quick renderer) with data set #71
+ [x] Tests from plugins (Quick renderer) with data set #72
+ [x] Tests from plugins (Quick renderer) with data set #73
+ [x] Tests from plugins (Quick renderer) with data set #74
+ [x] Tests from plugins (Quick renderer) with data set #75
+ [x] Tests from plugins (Quick renderer) with data set #76
+ [x] Tests from plugins (Quick renderer) with data set #77
+ [x] Tests from plugins (Quick renderer) with data set #78
+ [x] Tests from plugins (Quick renderer) with data set #79
+ [x] Tests from plugins (Quick renderer) with data set #80
+ [x] Tests from plugins (Quick renderer) with data set #81
+ [x] Tests from plugins (Quick renderer) with data set #82
+ [x] Tests from plugins (Quick renderer) with data set #83
+ [x] Tests from plugins (Quick renderer) with data set #84
+ [x] Tests from plugins (Quick renderer) with data set #85
+ [x] Tests from plugins (Quick renderer) with data set #86
+ [x] Tests from plugins (Quick renderer) with data set #87
+ [x] Tests from plugins (Quick renderer) with data set #88
+ [x] Tests from plugins (Quick renderer) with data set #89
+ [x] Tests from plugins (Quick renderer) with data set #90
+ [x] Tests from plugins (Quick renderer) with data set #91
+ [x] Tests from plugins (Quick renderer) with data set #92
+ [x] Tests from plugins (Quick renderer) with data set #93
+ [x] Tests from plugins (Quick renderer) with data set #94
+ [x] Tests from plugins (Quick renderer) with data set #95
+ [x] Tests from plugins (Quick renderer) with data set #96
+ [x] Tests from plugins (Quick renderer) with data set #97
+ [x] Tests from plugins (Quick renderer) with data set #98
+ [x] Tests from plugins (Quick renderer) with data set #99
+ [x] Tests from plugins (Quick renderer) with data set #100
+ [x] Tests from plugins (Quick renderer) with data set #101
+ [x] Tests from plugins (Quick renderer) with data set #102
+ [x] Tests from plugins (Quick renderer) with data set #103
+ [x] Tests from plugins (Quick renderer) with data set #104
+ [x] Tests from plugins (Quick renderer) with data set #105
+ [x] Tests from plugins (Quick renderer) with data set #106
+ [x] Tests from plugins (Quick renderer) with data set #107
+ [x] Tests from plugins (Quick renderer) with data set #108
+ [x] Tests from plugins (Quick renderer) with data set #109
+ [x] Tests from plugins (Quick renderer) with data set #110
+ [x] Tests from plugins (Quick renderer) with data set #111
+ [x] Tests from plugins (Quick renderer) with data set #112
+ [x] Tests from plugins (Quick renderer) with data set #113
+ [x] Tests from plugins (Quick renderer) with data set #114
+ [x] Tests from plugins (Quick renderer) with data set #115
+ [x] Tests from plugins (Quick renderer) with data set #116
+ [x] Tests from plugins (Quick renderer) with data set #117
+ [x] Tests from plugins (Quick renderer) with data set #118
+ [x] Tests from plugins (Quick renderer) with data set #119
+ [x] Tests from plugins (Quick renderer) with data set #120
+ [x] Tests from plugins (Quick renderer) with data set #121
+ [x] Tests from plugins (Quick renderer) with data set #122
+ [x] Tests from plugins (Quick renderer) with data set #123
+ [x] Tests from plugins (Quick renderer) with data set #124
+ [x] Tests from plugins (Quick renderer) with data set #125
+ [x] Tests from plugins (Quick renderer) with data set #126
+ [x] Tests from plugins (Quick renderer) with data set #127
+ [x] Tests from plugins (Quick renderer) with data set #128
+ [x] Tests from plugins (Quick renderer) with data set #129
+ [x] Tests from plugins (Quick renderer) with data set #130
+ [x] Tests from plugins (Quick renderer) with data set #131
+ [x] Tests from plugins (Quick renderer) with data set #132
+ [x] Tests from plugins (Quick renderer) with data set #133
+ [x] Tests from plugins (Quick renderer) with data set #134
+ [x] Tests from plugins (Quick renderer) with data set #135
+ [x] Tests from plugins (Quick renderer) with data set #136
+ [x] Tests from plugins (Quick renderer) with data set #137
+ [x] Tests from plugins (Quick renderer) with data set #138
+ [x] Tests from plugins (Quick renderer) with data set #139
+ [x] Tests from plugins (Quick renderer) with data set #140
+ [x] Tests from plugins (Quick renderer) with data set #141
+ [x] Tests from plugins (Quick renderer) with data set #142
+ [x] Tests from plugins (Quick renderer) with data set #143
+ [x] Tests from plugins (Quick renderer) with data set #144
+ [x] Tests from plugins (Quick renderer) with data set #145
+ [x] Tests from plugins (Quick renderer) with data set #146
+ [x] Tests from plugins (Quick renderer) with data set #147
+ [x] Tests from plugins (Quick renderer) with data set #148
+ [x] Tests from plugins (Quick renderer) with data set #149
+ [x] Tests from plugins (Quick renderer) with data set #150
+ [x] Tests from plugins (Quick renderer) with data set #151
+ [x] Tests from plugins (Quick renderer) with data set #152
+ [x] Tests from plugins (Quick renderer) with data set #153
+ [x] Tests from plugins (Quick renderer) with data set #154
+ [x] Tests from plugins (Quick renderer) with data set #155
+ [x] Tests from plugins (Quick renderer) with data set #156
+ [x] Tests from plugins (Quick renderer) with data set #157
+ [x] Tests from plugins (Quick renderer) with data set #158
+ [x] Tests from plugins (Quick renderer) with data set #159
+ [x] Tests from plugins (Quick renderer) with data set #160
+ [x] Tests from plugins (Quick renderer) with data set #161
+ [x] Tests from plugins (Quick renderer) with data set #162
+ [x] Tests from plugins (Quick renderer) with data set #163
+ [x] Tests from plugins (Quick renderer) with data set #164
+ [x] Tests from plugins (Quick renderer) with data set #165
+ [x] Tests from plugins (Quick renderer) with data set #166
+ [x] Tests from plugins (Quick renderer) with data set #167
+ [x] Tests from plugins (Quick renderer) with data set #168
+ [x] Tests from plugins (Quick renderer) with data set #169
+ [x] Tests from plugins (Quick renderer) with data set #170
+ [x] Tests from plugins (Quick renderer) with data set #171
+ [x] Tests from plugins (Quick renderer) with data set #172
+ [x] Tests from plugins (Quick renderer) with data set #173
+ [x] Tests from plugins (Quick renderer) with data set #174
+ [x] Tests from plugins (Quick renderer) with data set #175
+ [x] Tests from plugins (Quick renderer) with data set #176
+ [x] Tests from plugins (Quick renderer) with data set #177
+ [x] Tests from plugins (Quick renderer) with data set #178
+ [x] Tests from plugins (Quick renderer) with data set #179
+ [x] Tests from plugins (Quick renderer) with data set #180
+ [x] Tests from plugins (Quick renderer) with data set #181
+ [x] Tests from plugins (Quick renderer) with data set #182
+ [x] Tests from plugins (Quick renderer) with data set #183
+ [x] Tests from plugins (Quick renderer) with data set #184
+ [x] Tests from plugins (Quick renderer) with data set #185
+ [x] Tests from plugins (Quick renderer) with data set #186
+ [x] Tests from plugins (Quick renderer) with data set #187
+ [x] Tests from plugins (Quick renderer) with data set #188
+ [x] Tests from plugins (Quick renderer) with data set #189
+ [x] Tests from plugins (Quick renderer) with data set #190
+ [x] Tests from plugins (Quick renderer) with data set #191
+ [x] Tests from plugins (Quick renderer) with data set #192
+ [x] Tests from plugins (Quick renderer) with data set #193
+ [x] Tests from plugins (Quick renderer) with data set #194
+ [x] Tests from plugins (Quick renderer) with data set #195
+ [x] Tests from plugins (Quick renderer) with data set #196
+ [x] Tests from plugins (Quick renderer) with data set #197
+ [x] Tests from plugins (Quick renderer) with data set #198
+ [x] Tests from plugins (Quick renderer) with data set #199
+ [x] Tests from plugins (Quick renderer) with data set #200
+ [x] Tests from plugins (Quick renderer) with data set #201
+ [x] Tests from plugins (Quick renderer) with data set #202
+ [x] Tests from plugins (Quick renderer) with data set #203
+ [x] Tests from plugins (Quick renderer) with data set #204
+ [x] Tests from plugins (Quick renderer) with data set #205
+ [x] Tests from plugins (Quick renderer) with data set #206
+ [x] Tests from plugins (Quick renderer) with data set #207
+ [x] Tests from plugins (Quick renderer) with data set #208
+ [x] Tests from plugins (Quick renderer) with data set #209
+ [x] Tests from plugins (Quick renderer) with data set #210
+ [x] Tests from plugins (Quick renderer) with data set #211
+ [x] Tests from plugins (Quick renderer) with data set #212
+ [x] Tests from plugins (Quick renderer) with data set #213
+ [x] Tests from plugins (Quick renderer) with data set #214
+ [x] Tests from plugins (Quick renderer) with data set #215
+ [x] Tests from plugins (Quick renderer) with data set #216
+ [x] Tests from plugins (Quick renderer) with data set #217
+ [x] Tests from plugins (Quick renderer) with data set #218
+ [x] Tests from plugins (Quick renderer) with data set #219
+ [x] Tests from plugins (Quick renderer) with data set #220
+ [x] Tests from plugins (Quick renderer) with data set #221
+ [x] Tests from plugins (Quick renderer) with data set #222
+ [x] Tests from plugins (Quick renderer) with data set #223
+ [x] Tests from plugins (Quick renderer) with data set #224
+ [x] Tests from plugins (Quick renderer) with data set #225
+ [x] Tests from plugins (Quick renderer) with data set #226
+ [x] Tests from plugins (Quick renderer) with data set #227
+ [x] Tests from plugins (Quick renderer) with data set #228
+ [x] Tests from plugins (Quick renderer) with data set #229
+ [x] Tests from plugins (Quick renderer) with data set #230
+ [x] Tests from plugins (Quick renderer) with data set #231
+ [x] Tests from plugins (Quick renderer) with data set #232
+ [x] Tests from plugins (Quick renderer) with data set #233
+ [x] Tests from plugins (Quick renderer) with data set #234
+ [x] Tests from plugins (Quick renderer) with data set #235
+ [x] Tests from plugins (Quick renderer) with data set #236
+ [x] Tests from plugins (Quick renderer) with data set #237
+ [x] Tests from plugins (Quick renderer) with data set #238
+ [x] Tests from plugins (Quick renderer) with data set #239
+ [x] Tests from plugins (Quick renderer) with data set #240
+ [x] Tests from plugins (Quick renderer) with data set #241
+ [x] Tests from plugins (Quick renderer) with data set #242
+ [x] Tests from plugins (Quick renderer) with data set #243
+ [x] Tests from plugins (Quick renderer) with data set #244
+ [x] Tests from plugins (Quick renderer) with data set #245
+ [x] Tests from plugins (Quick renderer) with data set #246
+ [x] Tests from plugins (Quick renderer) with data set #247
+ [x] Tests from plugins (Quick renderer) with data set #248
+ [x] Tests from plugins (Quick renderer) with data set #249
+ [x] Tests from plugins (Quick renderer) with data set #250
+ [x] Tests from plugins (Quick renderer) with data set #251
+ [x] Tests from plugins (Quick renderer) with data set #252
+ [x] Tests from plugins (Quick renderer) with data set #253
+ [x] Tests from plugins (Quick renderer) with data set #254
+ [x] Tests from plugins (Quick renderer) with data set #255
+ [x] Tests from plugins (Quick renderer) with data set #256
+ [x] Tests from plugins (Quick renderer) with data set #257
+ [x] Tests from plugins (Quick renderer) with data set #258
+ [x] Tests from plugins (Quick renderer) with data set #259
+ [x] Tests from plugins (Quick renderer) with data set #260
+ [x] Tests from plugins (Quick renderer) with data set #261
+ [x] Tests from plugins (Quick renderer) with data set #262
+ [x] Tests from plugins (Quick renderer) with data set #263
+ [x] Tests from plugins (Quick renderer) with data set #264
+ [x] Tests from plugins (Quick renderer) with data set #265
+ [x] Tests from plugins (Quick renderer) with data set #266
+ [x] Tests from plugins (Quick renderer) with data set #267
+ [x] Tests from plugins (Quick renderer) with data set #268
+ [x] Tests from plugins (Quick renderer) with data set #269
+ [x] Tests from plugins (Quick renderer) with data set #270
+ [x] Tests from plugins (Quick renderer) with data set #271
+ [x] Tests from plugins (Quick renderer) with data set #272
+ [x] Tests from plugins (Quick renderer) with data set #273
+ [x] Tests from plugins (Quick renderer) with data set #274
+ [x] Tests from plugins (Quick renderer) with data set #275
+ [x] Tests from plugins (Quick renderer) with data set #276
+ [x] Tests from plugins (Quick renderer) with data set #277
+ [x] Tests from plugins (Quick renderer) with data set #278
+ [x] Tests from plugins (Quick renderer) with data set #279
+ [x] Tests from plugins (Quick renderer) with data set #280
+ [x] Tests from plugins (Quick renderer) with data set #281
+ [x] Tests from plugins (Quick renderer) with data set #282
+ [x] Tests from plugins (Quick renderer) with data set #283
[x] Creates a Quick renderer if $enableQuickRenderer is true
[x] Does not create a Quick renderer if $enableQuickRenderer is false
@@ -2748,7 +7040,9 @@ s9e\TextFormatter\Tests\Configurator\RendererGenerators\Unformatted
[x] Returns an instance of Renderer
s9e\TextFormatter\Tests\Configurator\RendererGenerators\XSLT\Optimizer
- [x] optimizeTemplate() tests
+ [x] optimizeTemplate() tests with data set #0
+ [x] optimizeTemplate() tests with data set #1
+ [x] optimizeTemplate() tests with data set #2
s9e\TextFormatter\Tests\Configurator\RendererGenerators\XSLT
[x] Returns an instance of Renderer
@@ -2848,7 +7142,7 @@ s9e\TextFormatter\Tests\Utils\Http\Clients\Cached
[x] Settings from the proxied client are copied
[x] Settings from the caching client are copied to the proxied client
[x] Can work without a cache dir
- [ ] Works with a cache
+ [x] Works with a cache
[x] Uses gzip by default if ext/zlib is availble
[x] Sends custom headers
[x] post() sends the request body if set
@@ -2888,11 +7182,43 @@ s9e\TextFormatter\Utils\XPath
[x] export(new stdClass) throws an exception
s9e\TextFormatter\Tests\Utils
- [x] encodeUnicodeSupplementaryCharacters() tests
- [x] getAttributeValues() tests
- [x] removeFormatting() tests
- [x] removeTag() tests
- [x] replaceAttributes() tests
+ [x] encodeUnicodeSupplementaryCharacters() tests with data set #0
+ [x] getAttributeValues() tests with data set #0
+ [x] getAttributeValues() tests with data set #1
+ [x] getAttributeValues() tests with data set #2
+ [x] getAttributeValues() tests with data set #3
+ [x] getAttributeValues() tests with data set #4
+ [x] getAttributeValues() tests with data set #5
+ [x] getAttributeValues() tests with data set #6
+ [x] getAttributeValues() tests with data set #7
+ [x] removeFormatting() tests with data set #0
+ [x] removeFormatting() tests with data set #1
+ [x] removeFormatting() tests with data set #2
+ [x] removeFormatting() tests with data set #3
+ [x] removeFormatting() tests with data set #4
+ [x] removeFormatting() tests with data set #5
+ [x] removeTag() tests with data set #0
+ [x] removeTag() tests with data set #1
+ [x] removeTag() tests with data set #2
+ [x] removeTag() tests with data set #3
+ [x] removeTag() tests with data set #4
+ [x] removeTag() tests with data set #5
+ [x] removeTag() tests with data set #6
+ [x] removeTag() tests with data set #7
+ [x] removeTag() tests with data set #8
+ [x] removeTag() tests with data set #9
+ [x] replaceAttributes() tests with data set #0
+ [x] replaceAttributes() tests with data set #1
+ [x] replaceAttributes() tests with data set #2
+ [x] replaceAttributes() tests with data set #3
+ [x] replaceAttributes() tests with data set #4
+ [x] replaceAttributes() tests with data set #5
+ [x] replaceAttributes() tests with data set #6
+ [x] replaceAttributes() tests with data set #7
+ [x] replaceAttributes() tests with data set #8
+ [x] replaceAttributes() tests with data set #9
+ [x] replaceAttributes() tests with data set #10
+ [x] replaceAttributes() tests with data set #11
s9e\TextFormatter\Tests\Bundle
[x] parse() creates a parser, parses the input and returns the output
@@ -2919,8 +7245,32 @@ s9e\TextFormatter\Tests\Bundles\Fatdown
[x] getRenderer() returns an instance of s9e\TextFormatter\Renderer
[x] getRenderer() returns a new instance of s9e\TextFormatter\Renderer
[x] The renderer can be un/serialized
- [x] Rendering tests (Quick enabled)
- [x] Rendering tests (Quick disabled)
+ [x] Rendering tests (Quick enabled) with data set #0
+ [x] Rendering tests (Quick enabled) with data set #1
+ [x] Rendering tests (Quick enabled) with data set #2
+ [x] Rendering tests (Quick enabled) with data set #3
+ [x] Rendering tests (Quick enabled) with data set #4
+ [x] Rendering tests (Quick enabled) with data set #5
+ [x] Rendering tests (Quick enabled) with data set #6
+ [x] Rendering tests (Quick enabled) with data set #7
+ [x] Rendering tests (Quick enabled) with data set #8
+ [x] Rendering tests (Quick enabled) with data set #9
+ [x] Rendering tests (Quick enabled) with data set #10
+ [x] Rendering tests (Quick enabled) with data set #11
+ [x] Rendering tests (Quick enabled) with data set #12
+ [x] Rendering tests (Quick disabled) with data set #0
+ [x] Rendering tests (Quick disabled) with data set #1
+ [x] Rendering tests (Quick disabled) with data set #2
+ [x] Rendering tests (Quick disabled) with data set #3
+ [x] Rendering tests (Quick disabled) with data set #4
+ [x] Rendering tests (Quick disabled) with data set #5
+ [x] Rendering tests (Quick disabled) with data set #6
+ [x] Rendering tests (Quick disabled) with data set #7
+ [x] Rendering tests (Quick disabled) with data set #8
+ [x] Rendering tests (Quick disabled) with data set #9
+ [x] Rendering tests (Quick disabled) with data set #10
+ [x] Rendering tests (Quick disabled) with data set #11
+ [x] Rendering tests (Quick disabled) with data set #12
s9e\TextFormatter\Tests\Bundles\Forum
[x] getCachedParser() returns an instance of s9e\TextFormatter\Parser
@@ -2932,8 +7282,64 @@ s9e\TextFormatter\Tests\Bundles\Forum
[x] getRenderer() returns an instance of s9e\TextFormatter\Renderer
[x] getRenderer() returns a new instance of s9e\TextFormatter\Renderer
[x] The renderer can be un/serialized
- [x] Rendering tests (Quick enabled)
- [x] Rendering tests (Quick disabled)
+ [x] Rendering tests (Quick enabled) with data set #0
+ [x] Rendering tests (Quick enabled) with data set #1
+ [x] Rendering tests (Quick enabled) with data set #2
+ [x] Rendering tests (Quick enabled) with data set #3
+ [x] Rendering tests (Quick enabled) with data set #4
+ [x] Rendering tests (Quick enabled) with data set #5
+ [x] Rendering tests (Quick enabled) with data set #6
+ [x] Rendering tests (Quick enabled) with data set #7
+ [x] Rendering tests (Quick enabled) with data set #8
+ [x] Rendering tests (Quick enabled) with data set #9
+ [x] Rendering tests (Quick enabled) with data set #10
+ [x] Rendering tests (Quick enabled) with data set #11
+ [x] Rendering tests (Quick enabled) with data set #12
+ [x] Rendering tests (Quick enabled) with data set #13
+ [x] Rendering tests (Quick enabled) with data set #14
+ [x] Rendering tests (Quick enabled) with data set #15
+ [x] Rendering tests (Quick enabled) with data set #16
+ [x] Rendering tests (Quick enabled) with data set #17
+ [x] Rendering tests (Quick enabled) with data set #18
+ [x] Rendering tests (Quick enabled) with data set #19
+ [x] Rendering tests (Quick enabled) with data set #20
+ [x] Rendering tests (Quick enabled) with data set #21
+ [x] Rendering tests (Quick enabled) with data set #22
+ [x] Rendering tests (Quick enabled) with data set #23
+ [x] Rendering tests (Quick enabled) with data set #24
+ [x] Rendering tests (Quick enabled) with data set #25
+ [x] Rendering tests (Quick enabled) with data set #26
+ [x] Rendering tests (Quick enabled) with data set #27
+ [x] Rendering tests (Quick enabled) with data set #28
+ [x] Rendering tests (Quick disabled) with data set #0
+ [x] Rendering tests (Quick disabled) with data set #1
+ [x] Rendering tests (Quick disabled) with data set #2
+ [x] Rendering tests (Quick disabled) with data set #3
+ [x] Rendering tests (Quick disabled) with data set #4
+ [x] Rendering tests (Quick disabled) with data set #5
+ [x] Rendering tests (Quick disabled) with data set #6
+ [x] Rendering tests (Quick disabled) with data set #7
+ [x] Rendering tests (Quick disabled) with data set #8
+ [x] Rendering tests (Quick disabled) with data set #9
+ [x] Rendering tests (Quick disabled) with data set #10
+ [x] Rendering tests (Quick disabled) with data set #11
+ [x] Rendering tests (Quick disabled) with data set #12
+ [x] Rendering tests (Quick disabled) with data set #13
+ [x] Rendering tests (Quick disabled) with data set #14
+ [x] Rendering tests (Quick disabled) with data set #15
+ [x] Rendering tests (Quick disabled) with data set #16
+ [x] Rendering tests (Quick disabled) with data set #17
+ [x] Rendering tests (Quick disabled) with data set #18
+ [x] Rendering tests (Quick disabled) with data set #19
+ [x] Rendering tests (Quick disabled) with data set #20
+ [x] Rendering tests (Quick disabled) with data set #21
+ [x] Rendering tests (Quick disabled) with data set #22
+ [x] Rendering tests (Quick disabled) with data set #23
+ [x] Rendering tests (Quick disabled) with data set #24
+ [x] Rendering tests (Quick disabled) with data set #25
+ [x] Rendering tests (Quick disabled) with data set #26
+ [x] Rendering tests (Quick disabled) with data set #27
+ [x] Rendering tests (Quick disabled) with data set #28
s9e\TextFormatter\Tests\Bundles\MediaPack
[x] getCachedParser() returns an instance of s9e\TextFormatter\Parser
@@ -2945,6 +7351,8 @@ s9e\TextFormatter\Tests\Bundles\MediaPack
[x] getRenderer() returns an instance of s9e\TextFormatter\Renderer
[x] getRenderer() returns a new instance of s9e\TextFormatter\Renderer
[x] The renderer can be un/serialized
- [x] Rendering tests (Quick enabled)
- [x] Rendering tests (Quick disabled)
+ [x] Rendering tests (Quick enabled) with data set #0
+ [x] Rendering tests (Quick enabled) with data set #1
+ [x] Rendering tests (Quick disabled) with data set #0
+ [x] Rendering tests (Quick disabled) with data set #1
diff --git a/scripts/build/release.sh b/scripts/build/release.sh
index 164aecbefe..b0408d7a13 100755
--- a/scripts/build/release.sh
+++ b/scripts/build/release.sh
@@ -22,8 +22,8 @@ mv /tmp/CHANGELOG.md CHANGELOG.md
git add composer.json CHANGELOG.md && \
git commit -S --no-verify -m"Release $new_version [ci skip]" && \
-./scripts/build/syncBranches.sh && \
-git checkout release/php5.4 && \
+#./scripts/build/syncBranches.sh && \
+#git checkout release/php5.4 && \
git tag -s -m "$new_version" "$new_version" && \
git push origin "$new_version" && \
git checkout master && \
diff --git a/scripts/travis/installComposer.sh b/scripts/travis/installComposer.sh
index a97162a103..61421afc15 100755
--- a/scripts/travis/installComposer.sh
+++ b/scripts/travis/installComposer.sh
@@ -3,15 +3,9 @@
cd $(dirname "$0")
cd ../..
-if [ "$TRAVIS_PHP_VERSION" = '5.4' ]
-then
- composer remove --dev --no-interaction --ignore-platform-reqs s9e/regexp-builder
- composer require --dev --no-interaction "php:^5.4"
-fi
-
if [ -n "$COVERAGE" ]
then
- composer require --no-interaction satooshi/php-coveralls
+ composer require --no-interaction php-coveralls/php-coveralls
+else
+ composer install --no-interaction
fi
-
-composer install --no-interaction
\ No newline at end of file
diff --git a/scripts/travis/setup.sh b/scripts/travis/setup.sh
index d791ac4cce..c79d4bc5d4 100755
--- a/scripts/travis/setup.sh
+++ b/scripts/travis/setup.sh
@@ -26,12 +26,5 @@ mkdir ../../tests/.cache
wait
-# Prepare the files as for a release branch
-../build/prepareFiles.sh
-
-# Start a local webserver for the Http helper's tests
-if [ "$TRAVIS_PHP_VERSION" != '5.3.3' ]
-then
- echo "Starting webserver"
- php -S localhost:8000 -d "always_populate_raw_post_data=-1" -t ../../tests 2>/dev/null &
-fi
+echo "Starting webserver"
+php -S localhost:8000 -d "always_populate_raw_post_data=-1" -t ../../tests 2>/dev/null &
\ No newline at end of file
diff --git a/scripts/updateTests.php b/scripts/updateTests.php
new file mode 100755
index 0000000000..9df23dd597
--- /dev/null
+++ b/scripts/updateTests.php
@@ -0,0 +1,85 @@
+#!/usr/bin/php
+expectExceptionMessage(" . quote($m[1]) . ');';
+ },
+ $php
+ );
+ $php = preg_replace_callback(
+ '(^\\s+\\*\\s+@expectedException\\s+(\\S++)(?: (\\N++))?\\n([^{]++\\{))m',
+ function ($m)
+ {
+ $php = $m[3] . "\n\t\t\$this->expectException(" . quote($m[1]) . ');';
+ if (!empty($m[2]))
+ {
+ $php .= "\n\t\t\$this->expectExceptionMessage(" . quote($m[2]) . ');';
+ }
+
+ return $php;
+ },
+ $php
+ );
+
+ return $php;
+}
+
+function quote($str)
+{
+ $single = "'" . strtr($str, ['\\' => '\\\\', "'" => "\\'"]) . "'";
+ $double = '"' . strtr($str, ['\\' => '\\\\', '"' => '\\"', '$' => '\\$']) . '"';
+
+ return (strlen($double) < strlen($single)) ? $double : $single;
+}
+
+patchDir(__DIR__ . '/../tests');
+
+die("Done.\n");
\ No newline at end of file
diff --git a/tests/BundleTest.php b/tests/BundleTest.php
index 99fd9d74b1..f1e0b33be6 100644
--- a/tests/BundleTest.php
+++ b/tests/BundleTest.php
@@ -10,7 +10,7 @@
*/
class BundleTest extends Test
{
- public function setUp()
+ protected function setUp(): void
{
DummyBundle::_reset($this);
}
diff --git a/tests/Bundles/AbstractTest.php b/tests/Bundles/AbstractTest.php
index 836d943d28..c83b1306e3 100644
--- a/tests/Bundles/AbstractTest.php
+++ b/tests/Bundles/AbstractTest.php
@@ -23,7 +23,7 @@ protected static function getClassName()
return 's9e\\TextFormatter\\Bundles\\' . $bundleName;
}
- public static function setUpBeforeClass()
+ public static function setUpBeforeClass(): void
{
$className = static::getClassName();
$className::reset();
@@ -32,7 +32,7 @@ public static function setUpBeforeClass()
$className::getCachedParser()->registeredVars['cacheDir'] = __DIR__ . '/../.cache';
}
- public static function tearDownAfterClass()
+ public static function tearDownAfterClass(): void
{
$className = static::getClassName();
$className::reset();
diff --git a/tests/Configurator/BundleGeneratorTest.php b/tests/Configurator/BundleGeneratorTest.php
index 1ef2cffe9c..b0518dff97 100644
--- a/tests/Configurator/BundleGeneratorTest.php
+++ b/tests/Configurator/BundleGeneratorTest.php
@@ -15,7 +15,7 @@ class BundleGeneratorTest extends Test
*/
public function testGenerate()
{
- $this->assertContains(
+ $this->assertStringContainsString(
'class MyBundle',
$this->configurator->bundleGenerator->generate('MyBundle')
);
@@ -28,8 +28,8 @@ public function testGenerateNamespace()
{
$php = $this->configurator->bundleGenerator->generate('My\\Bundle');
- $this->assertContains('namespace My;', $php);
- $this->assertContains('class Bundle', $php);
+ $this->assertStringContainsString('namespace My;', $php);
+ $this->assertStringContainsString('class Bundle', $php);
}
/**
@@ -47,7 +47,7 @@ public function testCustomSerializer()
$this->configurator->bundleGenerator->serializer = [$mock, 'serialize'];
$php = $this->configurator->bundleGenerator->generate('MyBundle');
- $this->assertContains('foobar', $php);
+ $this->assertStringContainsString('foobar', $php);
}
/**
@@ -58,7 +58,7 @@ public function testCustomUnserializer()
$this->configurator->bundleGenerator->unserializer = 'myunserializer';
$php = $this->configurator->bundleGenerator->generate('MyBundle');
- $this->assertContains('myunserializer', $php);
+ $this->assertStringContainsString('myunserializer', $php);
}
/**
@@ -82,7 +82,7 @@ public function testAutoInclude()
include " . var_export($filepath, true) . ";
}";
- $this->assertContains($expected, $bundle);
+ $this->assertStringContainsString($expected, $bundle);
}
/**
@@ -106,7 +106,7 @@ public function testAutoIncludeFalse()
include " . var_export($filepath, true) . ";
}";
- $this->assertNotContains($expected, $bundle);
+ $this->assertStringNotContainsString($expected, $bundle);
}
/**
@@ -124,13 +124,13 @@ public function testEvents()
{
$php = $this->configurator->bundleGenerator->generate('Foo', [$event => 'trim']);
- $this->assertContains('public static $' . $event . " = 'trim';", $php);
+ $this->assertStringContainsString('public static $' . $event . " = 'trim';", $php);
foreach ($events as $notEvent)
{
if ($notEvent !== $event)
{
- $this->assertNotContains($notEvent, $php);
+ $this->assertStringNotContainsString($notEvent, $php);
}
}
}
@@ -141,7 +141,7 @@ public function testEvents()
*/
public function testParserSetup()
{
- $this->assertContains(
+ $this->assertStringContainsString(
'\\foo\\bar\\baz($parser);',
$this->configurator->bundleGenerator->generate(
'Foo',
@@ -155,7 +155,7 @@ public function testParserSetup()
*/
public function testRendererSetup()
{
- $this->assertContains(
+ $this->assertStringContainsString(
'\\foo\\bar\\baz($renderer);',
$this->configurator->bundleGenerator->generate(
'Foo',
diff --git a/tests/Configurator/Collections/AttributeCollectionTest.php b/tests/Configurator/Collections/AttributeCollectionTest.php
index 087874b85e..713e1319b6 100644
--- a/tests/Configurator/Collections/AttributeCollectionTest.php
+++ b/tests/Configurator/Collections/AttributeCollectionTest.php
@@ -95,11 +95,12 @@ public function testDuplicateDefault()
/**
* @testdox Throws an meaningful exception message when creating an Attribute that already exists
- * @expectedException RuntimeException
- * @expectedExceptionMessage Attribute 'x' already exists
*/
public function testDuplicateError()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Attribute 'x' already exists");
+
$collection = new AttributeCollection;
$collection->onDuplicate('error');
$collection->add('x');
@@ -108,11 +109,12 @@ public function testDuplicateError()
/**
* @testdox Throws an exception when accessing an Attribute that does not exist
- * @expectedException RuntimeException
- * @expectedExceptionMessage Attribute 'x' does not exist
*/
public function testNotExist()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Attribute 'x' does not exist");
+
$collection = new AttributeCollection;
$collection->get('x');
}
diff --git a/tests/Configurator/Collections/AttributeFilterChainTest.php b/tests/Configurator/Collections/AttributeFilterChainTest.php
index 90037fb3c2..64e87a02b7 100644
--- a/tests/Configurator/Collections/AttributeFilterChainTest.php
+++ b/tests/Configurator/Collections/AttributeFilterChainTest.php
@@ -17,44 +17,48 @@ public function doNothing() {}
/**
* @testdox append() throws an InvalidArgumentException on invalid callbacks
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Filter '*invalid*' is neither callable nor an instance of s9e\TextFormatter\Configurator\Items\AttributeFilter
*/
public function testAppendInvalidCallback()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Filter '*invalid*' is neither callable nor an instance of s9e\\TextFormatter\\Configurator\\Items\\AttributeFilter");
+
$filterChain = new AttributeFilterChain;
$filterChain->append('*invalid*');
}
/**
* @testdox prepend() throws an InvalidArgumentException on invalid callbacks
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Filter '*invalid*' is neither callable nor an instance of s9e\TextFormatter\Configurator\Items\AttributeFilter
*/
public function testPrependInvalidCallback()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Filter '*invalid*' is neither callable nor an instance of s9e\\TextFormatter\\Configurator\\Items\\AttributeFilter");
+
$filterChain = new AttributeFilterChain;
$filterChain->prepend('*invalid*');
}
/**
* @testdox append() throws an InvalidArgumentException on uncallable callbacks
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage is neither callable nor an instance of s9e\TextFormatter\Configurator\Items\AttributeFilter
*/
public function testAppendUncallableCallback()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('is neither callable nor an instance of s9e\\TextFormatter\\Configurator\\Items\\AttributeFilter');
+
$filterChain = new AttributeFilterChain;
$filterChain->append([__CLASS__, 'privateMethod']);
}
/**
* @testdox prepend() throws an InvalidArgumentException on uncallable callbacks
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage is neither callable nor an instance of s9e\TextFormatter\Configurator\Items\AttributeFilter
*/
public function testPrependUncallableCallback()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('is neither callable nor an instance of s9e\\TextFormatter\\Configurator\\Items\\AttributeFilter');
+
$filterChain = new AttributeFilterChain;
$filterChain->prepend([__CLASS__, 'privateMethod']);
}
diff --git a/tests/Configurator/Collections/AttributeFilterCollectionTest.php b/tests/Configurator/Collections/AttributeFilterCollectionTest.php
index 97f33cab3a..8bc87c26c6 100644
--- a/tests/Configurator/Collections/AttributeFilterCollectionTest.php
+++ b/tests/Configurator/Collections/AttributeFilterCollectionTest.php
@@ -52,11 +52,12 @@ public function testValidCallback()
/**
* @testdox set() throws an exception if value is not a valid callback or an instance of AttributeFilter
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage must be a valid callback or an instance of s9e\TextFormatter\Configurator\Items\AttributeFilter
*/
public function testInvalidValue()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('must be a valid callback or an instance of s9e\\TextFormatter\\Configurator\\Items\\AttributeFilter');
+
$collection = new AttributeFilterCollection;
$collection->set('#foo', '#foo');
}
@@ -117,22 +118,24 @@ public function testGetNoOverwriteCallbacks()
/**
* @testdox get() throws an exception if the filter name is neither callable not starts with # and is entirely composed of letters and digits
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid filter name
*/
public function testInvalidKey()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Invalid filter name');
+
$collection = new AttributeFilterCollection;
$collection->get('../foo');
}
/**
* @testdox get() throws an exception on unknown filter
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Unknown attribute filter
*/
public function testGetUnknown()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Unknown attribute filter');
+
$collection = new AttributeFilterCollection;
$collection->get('#foo');
}
diff --git a/tests/Configurator/Collections/AttributePreprocessorCollectionTest.php b/tests/Configurator/Collections/AttributePreprocessorCollectionTest.php
index f5f21efb4e..f158069383 100644
--- a/tests/Configurator/Collections/AttributePreprocessorCollectionTest.php
+++ b/tests/Configurator/Collections/AttributePreprocessorCollectionTest.php
@@ -53,6 +53,7 @@ public function testGetConfig()
/**
* @testdox Is iterable with foreach
+ * @doesNotPerformAssertions
*/
public function testIterable()
{
@@ -161,20 +162,22 @@ public function testMergeInstance()
/**
* @testdox merge() throws an exception when passed a non-array, non-AttributProcessorCollection
- * @expectedException InvalidArgumentException
*/
public function testMergeInvalidArgument()
{
+ $this->expectException('InvalidArgumentException');
+
$collection = new AttributePreprocessorCollection;
$collection->merge('/foo/');
}
/**
* @testdox merge() throws an exception when passed a one-dimensional array
- * @expectedException InvalidArgumentException
*/
public function testMergeInvalidArray()
{
+ $this->expectException('InvalidArgumentException');
+
$collection = new AttributePreprocessorCollection;
$collection->merge(['/foo/']);
}
diff --git a/tests/Configurator/Collections/HostnameListTest.php b/tests/Configurator/Collections/HostnameListTest.php
index 7cea1169fe..c8d0f2d8d1 100644
--- a/tests/Configurator/Collections/HostnameListTest.php
+++ b/tests/Configurator/Collections/HostnameListTest.php
@@ -58,7 +58,7 @@ public function testIDNsArePunycoded()
$list = new HostnameList;
$list->add('pаypal.com');
- $this->assertContains(
+ $this->assertStringContainsString(
'xn--pypal-4ve\\.com',
(string) $list->asConfig()
);
diff --git a/tests/Configurator/Collections/MinifierListTest.php b/tests/Configurator/Collections/MinifierListTest.php
index 6a8642fb89..1a936ecef2 100644
--- a/tests/Configurator/Collections/MinifierListTest.php
+++ b/tests/Configurator/Collections/MinifierListTest.php
@@ -25,20 +25,24 @@ public function testAddNormalizeValueInstanceOf()
/**
* @testdox add() throws an exception when the value is neither a Minifier instance nor a known minifier
- * @expectedException InvalidArgumentException Nope
*/
public function testAddNormalizeValueFail()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Nope');
+
$collection = new MinifierList;
$collection->add('Nope');
}
/**
* @testdox add() throws an exception when the value is a boolean
- * @expectedException InvalidArgumentException false
*/
public function testAddNormalizeValueBool()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('false');
+
$collection = new MinifierList;
$collection->add(false);
}
diff --git a/tests/Configurator/Collections/NormalizedCollectionTest.php b/tests/Configurator/Collections/NormalizedCollectionTest.php
index 65ee8ce00d..35b4f66e00 100644
--- a/tests/Configurator/Collections/NormalizedCollectionTest.php
+++ b/tests/Configurator/Collections/NormalizedCollectionTest.php
@@ -75,6 +75,7 @@ public function testAddCallsNormalizeValue()
/**
* @testdox add() can be called without a second parameter
+ * @doesNotPerformAssertions
*/
public function testAddWithNoValue()
{
@@ -84,11 +85,12 @@ public function testAddWithNoValue()
/**
* @testdox add() throws a RuntimeException if the item already exists
- * @expectedException RuntimeException
- * @expectedExceptionMessage Item 'foobar' already exists
*/
public function testAddDuplicate()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Item 'foobar' already exists");
+
$collection = new NormalizedCollection;
$collection->add('foobar');
@@ -162,11 +164,12 @@ public function testGetCallsNormalizeKey()
/**
* @testdox get() throws a RuntimeException if the item does not exist
- * @expectedException RuntimeException
- * @expectedExceptionMessage Item 'foobar' does not exist
*/
public function testGetInexistent()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Item 'foobar' does not exist");
+
$collection = new NormalizedCollection;
$collection->get('foobar');
@@ -321,6 +324,7 @@ public function testEqualityIndexOf()
/**
* @testdox onDuplicate() can be called with no value
+ * @doesNotPerformAssertions
*/
public function testOnDuplicateNoValue()
{
@@ -348,11 +352,12 @@ public function testOnDuplicateReturn()
/**
* @testdox onDuplicate('unknownvalue') throws an exception
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid onDuplicate action
*/
public function testOnDuplicateInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Invalid onDuplicate action');
+
$collection = new NormalizedCollection;
$collection->onDuplicate('unknownvalue');
}
@@ -400,11 +405,12 @@ public function testOnDuplicateReplace()
/**
* @testdox add() throws a RuntimeException on duplicate elements if the onDuplicate action is "error"
- * @expectedException RuntimeException
- * @expectedExceptionMessage Item 'foo' already exists
*/
public function testOnDuplicateError()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Item 'foo' already exists");
+
$collection = new NormalizedCollection;
$collection->onDuplicate('error');
diff --git a/tests/Configurator/Collections/NormalizedListTest.php b/tests/Configurator/Collections/NormalizedListTest.php
index 6e0d42ea4c..7d9290b471 100644
--- a/tests/Configurator/Collections/NormalizedListTest.php
+++ b/tests/Configurator/Collections/NormalizedListTest.php
@@ -12,7 +12,7 @@ class NormalizedListTest extends Test
{
public $normalizedList;
- public function setUp()
+ protected function setUp(): void
{
$this->normalizedList = new NormalizedList;
}
@@ -107,11 +107,12 @@ public function testNegativeOffsets()
/**
* @testdox insert() throws an exception if the offset is out of bounds
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid offset '3'
*/
public function testInsertInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid offset '3'");
+
$this->normalizedList->insert(3, 1);
}
@@ -141,21 +142,23 @@ public function testArrayAccessAddNew()
/**
* @testdox $normalizedList[1] = 'foo' throws an InvalidArgumentException if the list is empty
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid offset '1'
*/
public function testArrayAccessInvalidSet()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid offset '1'");
+
$this->normalizedList[1] = 'foo';
}
/**
* @testdox $normalizedList['foo'] = 'bar' throws an InvalidArgumentException
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid offset 'foo'
*/
public function testArrayAccessInvalidKey()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid offset 'foo'");
+
$this->normalizedList['foo'] = 'bar';
}
diff --git a/tests/Configurator/Collections/PluginCollectionTest.php b/tests/Configurator/Collections/PluginCollectionTest.php
index ad9b874072..3e0f1b34ef 100644
--- a/tests/Configurator/Collections/PluginCollectionTest.php
+++ b/tests/Configurator/Collections/PluginCollectionTest.php
@@ -26,11 +26,12 @@ public function testLoad()
/**
* @testdox load() throws an exception if the stock plugin does not exist
- * @expectedException RuntimeException
- * @expectedExceptionMessage Class 's9e\TextFormatter\Plugins\Unknown\Configurator
*/
public function testLoadUnknown()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Class 's9e\\TextFormatter\\Plugins\\Unknown\\Configurator");
+
$this->configurator->plugins->load('Unknown');
}
@@ -62,32 +63,35 @@ public function testAddClassName()
/**
* @testdox Throws an exception if the value is neither an instance of or the name of a class that implements ConfiguratorBase
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage PluginCollection::normalizeValue() expects a class name or an object that implements s9e\TextFormatter\Plugins\ConfiguratorBase
*/
public function testInvalidValue()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('PluginCollection::normalizeValue() expects a class name or an object that implements s9e\\TextFormatter\\Plugins\\ConfiguratorBase');
+
$this->configurator->plugins->add('Dummy', new \stdClass);
}
/**
* @testdox Throws an exception if the plugin name is not entirely composed of letters, numbers and underscores
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid plugin name 'Dum-my'
*/
public function testInvalidNameChars()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid plugin name 'Dum-my'");
+
$plugin = new DummyPluginConfigurator($this->configurator);
$this->configurator->plugins->add('Dum-my', $plugin);
}
/**
* @testdox Throws an exception if the plugin name does not start with an uppercase letter
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid plugin name 'dummy'
*/
public function testInvalidInitial()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid plugin name 'dummy'");
+
$plugin = new DummyPluginConfigurator($this->configurator);
$this->configurator->plugins->add('dummy', $plugin);
}
diff --git a/tests/Configurator/Collections/RulesGeneratorListTest.php b/tests/Configurator/Collections/RulesGeneratorListTest.php
index 28c2abe72f..af2062eb37 100644
--- a/tests/Configurator/Collections/RulesGeneratorListTest.php
+++ b/tests/Configurator/Collections/RulesGeneratorListTest.php
@@ -55,11 +55,12 @@ public function testAddInstanceTargeted()
/**
* @testdox add() throws an exception on invalid values
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid rules generator 'foo'
*/
public function testAddInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid rules generator 'foo'");
+
$collection = new RulesGeneratorList;
$collection->add('foo');
}
diff --git a/tests/Configurator/Collections/RulesetTest.php b/tests/Configurator/Collections/RulesetTest.php
index d1c9d3e579..9667c462ab 100644
--- a/tests/Configurator/Collections/RulesetTest.php
+++ b/tests/Configurator/Collections/RulesetTest.php
@@ -14,11 +14,12 @@ class RulesetTest extends Test
{
/**
* @testdox Setting an unknown rule throws an exception
- * @expectedException BadMethodCallException
- * @expectedExceptionMessage Undefined method 'bar'
*/
public function testUnknownRule()
{
+ $this->expectException('BadMethodCallException');
+ $this->expectExceptionMessage("Undefined method 'bar'");
+
$ruleset = new Ruleset;
$ruleset->bar();
}
@@ -50,11 +51,12 @@ public function testOffsetGet()
/**
* @testdox Trying to set rules via array access throws a RuntimeException
- * @expectedException RuntimeException
- * @expectedExceptionMessage Not supported
*/
public function testOffsetSet()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Not supported');
+
$ruleset = new Ruleset;
$ruleset['allowChild'] = 'FOO';
}
@@ -182,11 +184,12 @@ public function testRemoveNormalizesTagName()
/**
* @testdox allowChild() throws an exception on invalid tag name
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid tag name 'foo#bar'
*/
public function testAllowChildInvalidTagName()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid tag name 'foo#bar'");
+
$ruleset = new Ruleset;
$ruleset->allowChild('foo#bar');
}
@@ -219,11 +222,12 @@ public function testAllowChildChainable()
/**
* @testdox allowDescendant() throws an exception on invalid tag name
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid tag name 'foo#bar'
*/
public function testAllowDescendantInvalidTagName()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid tag name 'foo#bar'");
+
$ruleset = new Ruleset;
$ruleset->allowDescendant('foo#bar');
}
@@ -256,6 +260,7 @@ public function testAllowDescendantChainable()
/**
* @testdox autoClose() accepts a boolean
+ * @doesNotPerformAssertions
*/
public function testAutoCloseValid()
{
@@ -265,11 +270,12 @@ public function testAutoCloseValid()
/**
* @testdox autoClose() throws an exception if its argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage autoClose() expects a boolean
*/
public function testAutoCloseInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('autoClose() expects a boolean');
+
$ruleset = new Ruleset;
$ruleset->autoClose('foo');
}
@@ -285,6 +291,7 @@ public function testAutoCloseChainable()
/**
* @testdox autoReopen() accepts a boolean
+ * @doesNotPerformAssertions
*/
public function testAutoReopenValid()
{
@@ -294,11 +301,12 @@ public function testAutoReopenValid()
/**
* @testdox autoReopen() throws an exception if its argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage autoReopen() expects a boolean
*/
public function testAutoReopenInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('autoReopen() expects a boolean');
+
$ruleset = new Ruleset;
$ruleset->autoReopen('foo');
}
@@ -314,6 +322,7 @@ public function testAutoReopenChainable()
/**
* @testdox breakParagraph() accepts a boolean
+ * @doesNotPerformAssertions
*/
public function testBreakParagraphValid()
{
@@ -323,11 +332,12 @@ public function testBreakParagraphValid()
/**
* @testdox breakParagraph() throws an exception if its argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage breakParagraph() expects a boolean
*/
public function testBreakParagraphInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('breakParagraph() expects a boolean');
+
$ruleset = new Ruleset;
$ruleset->breakParagraph('foo');
}
@@ -343,11 +353,12 @@ public function testBreakParagraphChainable()
/**
* @testdox closeAncestor() throws an exception on invalid tag name
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid tag name 'foo#bar'
*/
public function testCloseAncestorInvalidTagName()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid tag name 'foo#bar'");
+
$ruleset = new Ruleset;
$ruleset->closeAncestor('foo#bar');
}
@@ -398,11 +409,12 @@ public function testCloseParentChainable()
/**
* @testdox createChild() throws an exception on invalid tag name
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid tag name 'foo#bar'
*/
public function testCreateChildInvalidTagName()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid tag name 'foo#bar'");
+
$ruleset = new Ruleset;
$ruleset->createChild('foo#bar');
}
@@ -436,6 +448,7 @@ public function testCreateChildChainable()
/**
* @testdox createParagraphs() accepts a boolean
+ * @doesNotPerformAssertions
*/
public function testCreateParagraphsValid()
{
@@ -445,11 +458,12 @@ public function testCreateParagraphsValid()
/**
* @testdox createParagraphs() throws an exception if its argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage createParagraphs() expects a boolean
*/
public function testCreateParagraphsInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('createParagraphs() expects a boolean');
+
$ruleset = new Ruleset;
$ruleset->createParagraphs('foo');
}
@@ -465,6 +479,7 @@ public function testCreateParagraphsChainable()
/**
* @testdox ignoreTags() accepts a boolean
+ * @doesNotPerformAssertions
*/
public function testIgnoreTagsValid()
{
@@ -474,11 +489,12 @@ public function testIgnoreTagsValid()
/**
* @testdox ignoreTags() throws an exception if its argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage ignoreTags() expects a boolean
*/
public function testIgnoreTagsInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('ignoreTags() expects a boolean');
+
$ruleset = new Ruleset;
$ruleset->ignoreTags('foo');
}
@@ -494,11 +510,12 @@ public function testIgnoreTagsChainable()
/**
* @testdox denyChild() throws an exception on invalid tag name
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid tag name 'foo#bar'
*/
public function testDenyChildInvalidTagName()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid tag name 'foo#bar'");
+
$ruleset = new Ruleset;
$ruleset->denyChild('foo#bar');
}
@@ -532,11 +549,12 @@ public function testDenyChildChainable()
/**
* @testdox denyDescendant() throws an exception on invalid tag name
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid tag name 'foo#bar'
*/
public function testDenyDescendantInvalidTagName()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid tag name 'foo#bar'");
+
$ruleset = new Ruleset;
$ruleset->denyDescendant('foo#bar');
}
@@ -570,6 +588,7 @@ public function testDenyDescendantChainable()
/**
* @testdox disableAutoLineBreaks() accepts a boolean
+ * @doesNotPerformAssertions
*/
public function testDisableAutoLineBreaksValid()
{
@@ -579,11 +598,12 @@ public function testDisableAutoLineBreaksValid()
/**
* @testdox disableAutoLineBreaks() throws an exception if its argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage disableAutoLineBreaks() expects a boolean
*/
public function testDisableAutoLineBreaksInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('disableAutoLineBreaks() expects a boolean');
+
$ruleset = new Ruleset;
$ruleset->disableAutoLineBreaks('foo');
}
@@ -599,6 +619,7 @@ public function testDisableAutoLineBreaksChainable()
/**
* @testdox enableAutoLineBreaks() accepts a boolean
+ * @doesNotPerformAssertions
*/
public function testEnableAutoLineBreaksValid()
{
@@ -608,11 +629,12 @@ public function testEnableAutoLineBreaksValid()
/**
* @testdox enableAutoLineBreaks() throws an exception if its argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage enableAutoLineBreaks() expects a boolean
*/
public function testEnableAutoLineBreaksInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('enableAutoLineBreaks() expects a boolean');
+
$ruleset = new Ruleset;
$ruleset->enableAutoLineBreaks('foo');
}
@@ -628,11 +650,12 @@ public function testEnableAutoLineBreaksChainable()
/**
* @testdox fosterParent() throws an exception on invalid tag name
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid tag name 'foo#bar'
*/
public function testFosterParentInvalidTagName()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid tag name 'foo#bar'");
+
$ruleset = new Ruleset;
$ruleset->fosterParent('foo#bar');
}
@@ -666,6 +689,7 @@ public function testFosterParentChainable()
/**
* @testdox ignoreText() accepts a boolean
+ * @doesNotPerformAssertions
*/
public function testIgnoreTextValid()
{
@@ -675,11 +699,12 @@ public function testIgnoreTextValid()
/**
* @testdox ignoreText() throws an exception if its argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage ignoreText() expects a boolean
*/
public function testIgnoreTextInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('ignoreText() expects a boolean');
+
$ruleset = new Ruleset;
$ruleset->ignoreText('foo');
}
@@ -695,6 +720,7 @@ public function testIgnoreTextChainable()
/**
* @testdox isTransparent() accepts a boolean
+ * @doesNotPerformAssertions
*/
public function testIsTransparentValid()
{
@@ -704,11 +730,12 @@ public function testIsTransparentValid()
/**
* @testdox isTransparent() throws an exception if its argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage isTransparent() expects a boolean
*/
public function testIsTransparentInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('isTransparent() expects a boolean');
+
$ruleset = new Ruleset;
$ruleset->isTransparent('foo');
}
@@ -724,6 +751,7 @@ public function testIsTransparentChainable()
/**
* @testdox ignoreSurroundingWhitespace() accepts a boolean
+ * @doesNotPerformAssertions
*/
public function testIgnoreSurroundingWhitespaceValid()
{
@@ -733,11 +761,12 @@ public function testIgnoreSurroundingWhitespaceValid()
/**
* @testdox ignoreSurroundingWhitespace() throws an exception if its argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage ignoreSurroundingWhitespace() expects a boolean
*/
public function testIgnoreSurroundingWhitespaceInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('ignoreSurroundingWhitespace() expects a boolean');
+
$ruleset = new Ruleset;
$ruleset->ignoreSurroundingWhitespace('foo');
}
@@ -753,6 +782,7 @@ public function testIgnoreSurroundingWhitespaceChainable()
/**
* @testdox preventLineBreaks() accepts a boolean
+ * @doesNotPerformAssertions
*/
public function testPreventLineBreaksValid()
{
@@ -762,11 +792,12 @@ public function testPreventLineBreaksValid()
/**
* @testdox preventLineBreaks() throws an exception if its argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage preventLineBreaks() expects a boolean
*/
public function testPreventLineBreaksInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('preventLineBreaks() expects a boolean');
+
$ruleset = new Ruleset;
$ruleset->preventLineBreaks('foo');
}
@@ -782,11 +813,12 @@ public function testPreventLineBreaksChainable()
/**
* @testdox requireAncestor() throws an exception on invalid tag name
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid tag name 'foo#bar'
*/
public function testRequireAncestorInvalidTagName()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid tag name 'foo#bar'");
+
$ruleset = new Ruleset;
$ruleset->requireAncestor('foo#bar');
}
@@ -820,11 +852,12 @@ public function testRequireAncestorChainable()
/**
* @testdox requireParent() throws an exception on invalid tag name
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid tag name 'foo#bar'
*/
public function testRequireParentInvalidTagName()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid tag name 'foo#bar'");
+
$ruleset = new Ruleset;
$ruleset->requireParent('foo#bar');
}
@@ -858,6 +891,7 @@ public function testRequireParentChainable()
/**
* @testdox suspendAutoLineBreaks() accepts a boolean
+ * @doesNotPerformAssertions
*/
public function testSuspendAutoLineBreaksValid()
{
@@ -867,11 +901,12 @@ public function testSuspendAutoLineBreaksValid()
/**
* @testdox suspendAutoLineBreaks() throws an exception if its argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage suspendAutoLineBreaks() expects a boolean
*/
public function testSuspendAutoLineBreaksInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('suspendAutoLineBreaks() expects a boolean');
+
$ruleset = new Ruleset;
$ruleset->suspendAutoLineBreaks('foo');
}
@@ -887,6 +922,7 @@ public function testSuspendAutoLineBreaksChainable()
/**
* @testdox trimFirstLine() accepts a boolean
+ * @doesNotPerformAssertions
*/
public function testTrimWhitespaceValid()
{
@@ -896,11 +932,12 @@ public function testTrimWhitespaceValid()
/**
* @testdox trimFirstLine() throws an exception if its argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage trimFirstLine() expects a boolean
*/
public function testTrimWhitespaceInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('trimFirstLine() expects a boolean');
+
$ruleset = new Ruleset;
$ruleset->trimFirstLine('foo');
}
@@ -976,11 +1013,12 @@ public function testMergeInstanceOfRulesetIsTransparent()
/**
* @testdox merge() throws an InvalidArgumentException if its argument is not an array or an instance of Ruleset
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage merge() expects an array or an instance of Ruleset
*/
public function testSetRulesInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('merge() expects an array or an instance of Ruleset');
+
$ruleset = new Ruleset;
$ruleset->merge(false);
}
diff --git a/tests/Configurator/Collections/SchemeListTest.php b/tests/Configurator/Collections/SchemeListTest.php
index ddd297c431..c81a778153 100644
--- a/tests/Configurator/Collections/SchemeListTest.php
+++ b/tests/Configurator/Collections/SchemeListTest.php
@@ -59,11 +59,12 @@ public function testAsConfigRegexpMatch()
/**
* @testdox add('*invalid*') throws an exception
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid scheme name '*invalid*'
*/
public function testInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid scheme name '*invalid*'");
+
$list = new SchemeList;
$list->add('*invalid*');
}
diff --git a/tests/Configurator/Collections/TagCollectionTest.php b/tests/Configurator/Collections/TagCollectionTest.php
index bc3b8f4ee6..0ae7dbf5ab 100644
--- a/tests/Configurator/Collections/TagCollectionTest.php
+++ b/tests/Configurator/Collections/TagCollectionTest.php
@@ -95,11 +95,12 @@ public function testDuplicateDefault()
/**
* @testdox Throws an meaningful exception message when creating a Tag that already exists
- * @expectedException RuntimeException
- * @expectedExceptionMessage Tag 'X' already exists
*/
public function testDuplicateError()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Tag 'X' already exists");
+
$collection = new TagCollection;
$collection->onDuplicate('error');
$collection->add('X');
@@ -108,11 +109,12 @@ public function testDuplicateError()
/**
* @testdox Throws an exception when accessing a Tag that does not exist
- * @expectedException RuntimeException
- * @expectedExceptionMessage Tag 'X' does not exist
*/
public function testNotExist()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Tag 'X' does not exist");
+
$collection = new TagCollection;
$collection->get('X');
}
diff --git a/tests/Configurator/Collections/TagFilterChainTest.php b/tests/Configurator/Collections/TagFilterChainTest.php
index ce199cdf73..3d7a11cb8e 100644
--- a/tests/Configurator/Collections/TagFilterChainTest.php
+++ b/tests/Configurator/Collections/TagFilterChainTest.php
@@ -18,44 +18,48 @@ public function doNothing() {}
/**
* @testdox append() throws an InvalidArgumentException on invalid callbacks
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Filter '*invalid*' is neither callable nor an instance of s9e\TextFormatter\Configurator\Items\TagFilter
*/
public function testAppendInvalidCallback()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Filter '*invalid*' is neither callable nor an instance of s9e\\TextFormatter\\Configurator\\Items\\TagFilter");
+
$filterChain = new TagFilterChain;
$filterChain->append('*invalid*');
}
/**
* @testdox prepend() throws an InvalidArgumentException on invalid callbacks
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Filter '*invalid*' is neither callable nor an instance of s9e\TextFormatter\Configurator\Items\TagFilter
*/
public function testPrependInvalidCallback()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Filter '*invalid*' is neither callable nor an instance of s9e\\TextFormatter\\Configurator\\Items\\TagFilter");
+
$filterChain = new TagFilterChain;
$filterChain->prepend('*invalid*');
}
/**
* @testdox append() throws an InvalidArgumentException on uncallable callbacks
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage is neither callable nor an instance of s9e\TextFormatter\Configurator\Items\TagFilter
*/
public function testAppendUncallableCallback()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('is neither callable nor an instance of s9e\\TextFormatter\\Configurator\\Items\\TagFilter');
+
$filterChain = new TagFilterChain;
$filterChain->append([__CLASS__, 'privateMethod']);
}
/**
* @testdox prepend() throws an InvalidArgumentException on uncallable callbacks
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage is neither callable nor an instance of s9e\TextFormatter\Configurator\Items\TagFilter
*/
public function testPrependUncallableCallback()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('is neither callable nor an instance of s9e\\TextFormatter\\Configurator\\Items\\TagFilter');
+
$filterChain = new TagFilterChain;
$filterChain->prepend([__CLASS__, 'privateMethod']);
}
diff --git a/tests/Configurator/Collections/TemplateParameterCollectionTest.php b/tests/Configurator/Collections/TemplateParameterCollectionTest.php
index ef0838cd99..00b978bd60 100644
--- a/tests/Configurator/Collections/TemplateParameterCollectionTest.php
+++ b/tests/Configurator/Collections/TemplateParameterCollectionTest.php
@@ -34,10 +34,11 @@ public function testAdd()
/**
* @testdox add('foo bar') throws an exception
- * @expectedException InvalidArgumentException
*/
public function testAddInvalid()
{
+ $this->expectException('InvalidArgumentException');
+
$collection = new TemplateParameterCollection;
$collection->add('foo bar');
}
diff --git a/tests/Configurator/Helpers/AVTHelperTest.php b/tests/Configurator/Helpers/AVTHelperTest.php
index 8a3a76846d..34d5f49e81 100644
--- a/tests/Configurator/Helpers/AVTHelperTest.php
+++ b/tests/Configurator/Helpers/AVTHelperTest.php
@@ -127,7 +127,9 @@ public function testSerialize($tokens, $expected)
{
if ($expected instanceof Exception)
{
- $this->setExpectedException(get_class($expected), $expected->getMessage());
+ $this->expectException(get_class($expected));
+ $this->expectExceptionMessage($expected->getMessage());
+
}
$this->assertSame($expected, AVTHelper::serialize($tokens));
@@ -188,7 +190,9 @@ public function testReplace($xml, $callback, $expected)
{
if ($expected instanceof Exception)
{
- $this->setExpectedException(get_class($expected), $expected->getMessage());
+ $this->expectException(get_class($expected));
+ $this->expectExceptionMessage($expected->getMessage());
+
}
$dom = new DOMDocument;
diff --git a/tests/Configurator/Helpers/ConfigHelperTest.php b/tests/Configurator/Helpers/ConfigHelperTest.php
index a23dd7acb1..e5270f827a 100644
--- a/tests/Configurator/Helpers/ConfigHelperTest.php
+++ b/tests/Configurator/Helpers/ConfigHelperTest.php
@@ -202,11 +202,12 @@ public function testConfigProviderDeep()
/**
* @testdox toArray() throws an exception for objects in deep arrays that are not Traversable and do not implement ConfigProvider
- * @expectedException RuntimeException
- * @expectedExceptionMessage Cannot convert an instance of stdClass to array
*/
public function testInvalidObject()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Cannot convert an instance of stdClass to array');
+
ConfigHelper::toArray([new stdClass]);
}
diff --git a/tests/Configurator/Helpers/ContextSafenessTest.php b/tests/Configurator/Helpers/ContextSafenessTest.php
index 1776861147..eb2ccbe4d7 100644
--- a/tests/Configurator/Helpers/ContextSafenessTest.php
+++ b/tests/Configurator/Helpers/ContextSafenessTest.php
@@ -16,11 +16,11 @@ class ContextSafenessTest extends Test
public function testGetDisallowedCharactersAsURL ()
{
$disallowedChars = ContextSafeness::getDisallowedCharactersAsURL();
- $this->assertInternalType('array', $disallowedChars);
+ $this->assertIsArray($disallowedChars);
foreach ($disallowedChars as $char)
{
- $this->assertInternalType('string', $char);
+ $this->assertIsString($char);
}
}
@@ -30,11 +30,11 @@ public function testGetDisallowedCharactersAsURL ()
public function testGetDisallowedCharactersInCSS ()
{
$disallowedChars = ContextSafeness::getDisallowedCharactersInCSS();
- $this->assertInternalType('array', $disallowedChars);
+ $this->assertIsArray($disallowedChars);
foreach ($disallowedChars as $char)
{
- $this->assertInternalType('string', $char);
+ $this->assertIsString($char);
}
}
@@ -44,11 +44,11 @@ public function testGetDisallowedCharactersInCSS ()
public function testGetDisallowedCharactersInJS ()
{
$disallowedChars = ContextSafeness::getDisallowedCharactersInJS();
- $this->assertInternalType('array', $disallowedChars);
+ $this->assertIsArray($disallowedChars);
foreach ($disallowedChars as $char)
{
- $this->assertInternalType('string', $char);
+ $this->assertIsString($char);
}
}
}
\ No newline at end of file
diff --git a/tests/Configurator/Helpers/RegexpBuilderTest.php b/tests/Configurator/Helpers/RegexpBuilderTest.php
index 859a68eafc..8e33cdd124 100644
--- a/tests/Configurator/Helpers/RegexpBuilderTest.php
+++ b/tests/Configurator/Helpers/RegexpBuilderTest.php
@@ -1008,12 +1008,13 @@ protected function fromListTestCase($k)
}
/**
- * @expectedException RuntimeException
- * @expectedExceptionMessage Invalid UTF-8 string
* @testdox fromList() throws a RuntimeException if any word is not legal UTF-8
*/
public function testUTF8Exception()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Invalid UTF-8 string');
+
RegexpBuilder::fromList(["\xff\xff"]);
}
diff --git a/tests/Configurator/Helpers/RegexpParserTest.php b/tests/Configurator/Helpers/RegexpParserTest.php
index 90d6229aca..4b6bec9815 100644
--- a/tests/Configurator/Helpers/RegexpParserTest.php
+++ b/tests/Configurator/Helpers/RegexpParserTest.php
@@ -30,11 +30,12 @@ public function testCanParseRegexps1()
/**
* @testdox parse() throws a RuntimeException if delimiters can't be parsed
- * @expectedException RuntimeException
- * @expectedExceptionMessage Could not parse regexp delimiters
*/
public function testInvalidRegexpsException1()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Could not parse regexp delimiters');
+
RegexpParser::parse('#foo/iD');
}
@@ -162,11 +163,12 @@ public function testCanParseRegexps5()
/**
* @testdox parse() throws a RuntimeException if a character class is not properly closed
- * @expectedException RuntimeException
- * @expectedExceptionMessage Could not find matching bracket from pos 0
*/
public function testInvalidRegexpsException2()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Could not find matching bracket from pos 0');
+
RegexpParser::parse('#[a-z)#');
}
@@ -542,31 +544,34 @@ public function testCanParseRegexps15()
/**
* @testdox parse() throws a RuntimeException if an unmatched right parenthesis is found
- * @expectedException RuntimeException
- * @expectedExceptionMessage Could not find matching pattern start for right parenthesis at pos 3
*/
public function testInvalidRegexpsException4()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Could not find matching pattern start for right parenthesis at pos 3');
+
RegexpParser::parse('#a-z)#');
}
/**
* @testdox parse() throws a RuntimeException if an unmatched left parenthesis is found
- * @expectedException RuntimeException
- * @expectedExceptionMessage Could not find matching pattern end for left parenthesis at pos 0
*/
public function testInvalidRegexpsException5()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Could not find matching pattern end for left parenthesis at pos 0');
+
RegexpParser::parse('#(a-z#');
}
/**
* @testdox parse() throws a RuntimeException on unsupported subpatterns
- * @expectedException RuntimeException
- * @expectedExceptionMessage Unsupported subpattern type at pos 0
*/
public function testInvalidRegexpsUnsupportedSubpatternException()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Unsupported subpattern type at pos 0');
+
RegexpParser::parse('#(?(condition)yes-pattern|no-pattern)#');
}
diff --git a/tests/Configurator/Helpers/TemplateHelperTest.php b/tests/Configurator/Helpers/TemplateHelperTest.php
index bbe2f6d80b..1f821a0eb9 100644
--- a/tests/Configurator/Helpers/TemplateHelperTest.php
+++ b/tests/Configurator/Helpers/TemplateHelperTest.php
@@ -31,7 +31,9 @@ public function testGetParametersFromXSL($xsl, $expected)
{
if ($expected instanceof Exception)
{
- $this->setExpectedException(get_class($expected), $expected->getMessage());
+ $this->expectException(get_class($expected));
+ $this->expectExceptionMessage($expected->getMessage());
+
}
$this->assertSame(
diff --git a/tests/Configurator/Helpers/TemplateLoaderTest.php b/tests/Configurator/Helpers/TemplateLoaderTest.php
index b30c8236e0..9e0bd59ac7 100644
--- a/tests/Configurator/Helpers/TemplateLoaderTest.php
+++ b/tests/Configurator/Helpers/TemplateLoaderTest.php
@@ -20,7 +20,7 @@ public function testLoadText()
$dom = TemplateLoader::load($text);
$this->assertInstanceOf('DOMDocument', $dom);
- $this->assertContains($text, $dom->saveXML());
+ $this->assertStringContainsString($text, $dom->saveXML());
}
/**
@@ -43,7 +43,7 @@ public function testLoadXSL()
$dom = TemplateLoader::load($xsl);
$this->assertInstanceOf('DOMDocument', $dom);
- $this->assertContains($xsl, $dom->saveXML());
+ $this->assertStringContainsString($xsl, $dom->saveXML());
}
/**
@@ -99,7 +99,7 @@ public function testLoadHTML()
$dom = TemplateLoader::load($html);
$this->assertInstanceOf('DOMDocument', $dom);
- $this->assertContains($xml, $dom->saveXML());
+ $this->assertStringContainsString($xml, $dom->saveXML());
}
/**
@@ -113,7 +113,7 @@ public function testLoadHTMLSpecialChars()
$dom = TemplateLoader::load($html);
$this->assertInstanceOf('DOMDocument', $dom);
- $this->assertContains($xml, $dom->saveXML());
+ $this->assertStringContainsString($xml, $dom->saveXML());
}
/**
@@ -197,9 +197,9 @@ public function testLoadAttributeInvalidNamespaceXML()
$xml = $dom->saveXML($dom->documentElement->firstChild);
$this->assertInstanceOf('DOMDocument', $dom);
- $this->assertContains('title=""', $xml);
- $this->assertNotContains('foo:bar:baz', $xml);
- $this->assertNotContains('x:y:z', $xml);
+ $this->assertStringContainsString('title=""', $xml);
+ $this->assertStringNotContainsString('foo:bar:baz', $xml);
+ $this->assertStringNotContainsString('x:y:z', $xml);
}
/**
@@ -213,9 +213,9 @@ public function testLoadAttributeInvalidNamespaceHTML()
$xml = $dom->saveXML($dom->documentElement->firstChild);
$this->assertInstanceOf('DOMDocument', $dom);
- $this->assertContains('title=""', $xml);
- $this->assertNotContains('foo:bar:baz', $xml);
- $this->assertNotContains('x:y:z', $xml);
+ $this->assertStringContainsString('title=""', $xml);
+ $this->assertStringNotContainsString('foo:bar:baz', $xml);
+ $this->assertStringNotContainsString('x:y:z', $xml);
}
/**
@@ -231,11 +231,12 @@ public function testSaveHTML()
/**
* @testdox load() throws an exception on malformed XSL
- * @expectedException RuntimeException
- * @expectedExceptionMessage Invalid XSL: Premature end of data
*/
public function testLoadInvalidXSL()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Invalid XSL: Premature end of data');
+
$xsl = '';
TemplateLoader::load($xsl);
}
@@ -264,6 +265,6 @@ public function testLoadNoEntities()
$dom = TemplateLoader::load($text);
$this->assertInstanceOf('DOMDocument', $dom);
- $this->assertNotContains('XXX', $dom->saveXML());
+ $this->assertStringNotContainsString('XXX', $dom->saveXML());
}
}
\ No newline at end of file
diff --git a/tests/Configurator/Helpers/TemplateModifierTest.php b/tests/Configurator/Helpers/TemplateModifierTest.php
index ec6bf396b5..fd8ec20272 100644
--- a/tests/Configurator/Helpers/TemplateModifierTest.php
+++ b/tests/Configurator/Helpers/TemplateModifierTest.php
@@ -20,7 +20,9 @@ public function testReplaceTokens($template, $regexp, $fn, $expected)
{
if ($expected instanceof Exception)
{
- $this->setExpectedException(get_class($expected), $expected->getMessage());
+ $this->expectException(get_class($expected));
+ $this->expectExceptionMessage($expected->getMessage());
+
}
$this->assertSame(
diff --git a/tests/Configurator/Helpers/TemplateParserTest.php b/tests/Configurator/Helpers/TemplateParserTest.php
index 4153551663..06572d7093 100644
--- a/tests/Configurator/Helpers/TemplateParserTest.php
+++ b/tests/Configurator/Helpers/TemplateParserTest.php
@@ -47,31 +47,34 @@ public function getParseTests()
/**
* @testdox parse() throws an exception if it encounters a processing instruction in the stylesheet
- * @expectedException RuntimeException
- * @expectedExceptionMessage Cannot parse node 'pi'
*/
public function testPI()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Cannot parse node 'pi'");
+
TemplateParser::parse('', 'xml');
}
/**
* @testdox parse() throws an exception if it encounters an unsupported XSL element
- * @expectedException RuntimeException
- * @expectedExceptionMessage Element 'xsl:foo' is not supported
*/
public function testUnsupportedXSL()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Element 'xsl:foo' is not supported");
+
TemplateParser::parse('', 'xml');
}
/**
* @testdox parse() throws an exception if it encounters an unsupported expression
- * @expectedException RuntimeException
- * @expectedExceptionMessage Unsupported expression 'foo'
*/
public function testUnsupportedCopy()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Unsupported expression 'foo'");
+
TemplateParser::parse('', 'xml');
}
diff --git a/tests/Configurator/Helpers/XPathHelperTest.php b/tests/Configurator/Helpers/XPathHelperTest.php
index 0c4ee36828..b57ea6dce6 100644
--- a/tests/Configurator/Helpers/XPathHelperTest.php
+++ b/tests/Configurator/Helpers/XPathHelperTest.php
@@ -20,7 +20,9 @@ public function testGetVariables($expr, $expected)
{
if ($expected instanceof Exception)
{
- $this->setExpectedException(get_class($expected), $expected->getMessage());
+ $this->expectException(get_class($expected));
+ $this->expectExceptionMessage($expected->getMessage());
+
}
$this->assertSame($expected, XPathHelper::getVariables($expr));
@@ -91,7 +93,9 @@ public function testMinify($original, $expected)
{
if ($expected instanceof Exception)
{
- $this->setExpectedException(get_class($expected), $expected->getMessage());
+ $this->expectException(get_class($expected));
+ $this->expectExceptionMessage($expected->getMessage());
+
}
$this->assertSame($expected, XPathHelper::minify($original));
diff --git a/tests/Configurator/Items/AttributeFilters/ChoiceFilterTest.php b/tests/Configurator/Items/AttributeFilters/ChoiceFilterTest.php
index 9b0ba7e199..bf54b7ccd5 100644
--- a/tests/Configurator/Items/AttributeFilters/ChoiceFilterTest.php
+++ b/tests/Configurator/Items/AttributeFilters/ChoiceFilterTest.php
@@ -90,11 +90,12 @@ public function testSetValuesUnicode()
/**
* @testdox setValues() throws an exception if its second argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage must be a boolean
*/
public function testSetValuesInvalidBool()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('must be a boolean');
+
$filter = new ChoiceFilter;
$filter->setValues(['one', 'two'], 'notabool');
}
diff --git a/tests/Configurator/Items/AttributeFilters/HashmapFilterTest.php b/tests/Configurator/Items/AttributeFilters/HashmapFilterTest.php
index 77a1b61c51..192d2653e0 100644
--- a/tests/Configurator/Items/AttributeFilters/HashmapFilterTest.php
+++ b/tests/Configurator/Items/AttributeFilters/HashmapFilterTest.php
@@ -42,11 +42,12 @@ public function testConstructorArguments()
/**
* @testdox asConfig() throws an exception if the 'map' var is missing
- * @expectedException RuntimeException
- * @expectedExceptionMessage Hashmap filter is missing a 'map' value
*/
public function testMissingHashmap()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Hashmap filter is missing a 'map' value");
+
$filter = new HashmapFilter;
$filter->asConfig();
}
@@ -57,7 +58,7 @@ public function testMissingHashmap()
public function testAsConfig()
{
$filter = new HashmapFilter(['foo' => 'bar']);
- $this->assertInternalType('array', $filter->asConfig());
+ $this->assertIsArray($filter->asConfig());
}
/**
@@ -86,11 +87,12 @@ public function testSetHashmapSparse()
/**
* @testdox Throws an exception if the second argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage must be a boolean
*/
public function testStrictNotBool()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('must be a boolean');
+
new HashmapFilter(['foo' => 'bar'], 'notbool');
}
diff --git a/tests/Configurator/Items/AttributeFilters/MapFilterTest.php b/tests/Configurator/Items/AttributeFilters/MapFilterTest.php
index e44aae02fd..ce2d7ff59e 100644
--- a/tests/Configurator/Items/AttributeFilters/MapFilterTest.php
+++ b/tests/Configurator/Items/AttributeFilters/MapFilterTest.php
@@ -42,11 +42,12 @@ public function testConstructorArguments()
/**
* @testdox asConfig() throws an exception if the 'map' var is missing
- * @expectedException RuntimeException
- * @expectedExceptionMessage Map filter is missing a 'map' value
*/
public function testMissingMap()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Map filter is missing a 'map' value");
+
$filter = new MapFilter;
$filter->asConfig();
}
@@ -57,7 +58,7 @@ public function testMissingMap()
public function testAsConfig()
{
$filter = new MapFilter(['foo' => 'bar']);
- $this->assertInternalType('array', $filter->asConfig());
+ $this->assertIsArray($filter->asConfig());
}
/**
@@ -127,22 +128,24 @@ public function testSetMapUnicode()
/**
* @testdox setMap() throws an exception if the second argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage must be a boolean
*/
public function testSetMapNotBool2()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('must be a boolean');
+
$filter = new MapFilter;
$filter->setMap(['foo' => 'bar'], 'notbool');
}
/**
* @testdox setMap() throws an exception if the third argument is not a boolean
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage must be a boolean
*/
public function testSetMapNotBool3()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('must be a boolean');
+
$filter = new MapFilter;
$filter->setMap(['foo' => 'bar'], true, 'notbool');
}
diff --git a/tests/Configurator/Items/AttributeFilters/RangeFilterTest.php b/tests/Configurator/Items/AttributeFilters/RangeFilterTest.php
index 8062a3b079..be011af505 100644
--- a/tests/Configurator/Items/AttributeFilters/RangeFilterTest.php
+++ b/tests/Configurator/Items/AttributeFilters/RangeFilterTest.php
@@ -69,11 +69,12 @@ public function testConstructorArguments()
/**
* @testdox asConfig() throws an exception if the 'min' var is missing
- * @expectedException RuntimeException
- * @expectedExceptionMessage Range filter is missing a 'min' value
*/
public function testMissingMin()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Range filter is missing a 'min' value");
+
$filter = new RangeFilter;
$filter->setVars(['max' => 0]);
$filter->asConfig();
@@ -81,11 +82,12 @@ public function testMissingMin()
/**
* @testdox asConfig() throws an exception if the 'max' var is missing
- * @expectedException RuntimeException
- * @expectedExceptionMessage Range filter is missing a 'max' value
*/
public function testMissingMax()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Range filter is missing a 'max' value");
+
$filter = new RangeFilter;
$filter->setVars(['min' => 0]);
$filter->asConfig();
@@ -99,7 +101,7 @@ public function testAsConfig()
$filter = new RangeFilter;
$filter->setRange(1, 5);
- $this->assertInternalType('array', $filter->asConfig());
+ $this->assertIsArray($filter->asConfig());
}
/**
@@ -118,11 +120,12 @@ public function testSetRange()
/**
* @testdox setRange() throws an exception if the first argument is not a number
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Argument 1 passed to s9e\TextFormatter\Configurator\Items\AttributeFilters\RangeFilter::setRange must be an integer
*/
public function testSetRangeInvalidMin()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Argument 1 passed to s9e\\TextFormatter\\Configurator\\Items\\AttributeFilters\\RangeFilter::setRange must be an integer');
+
$filter = new RangeFilter;
$filter->setRange('foo', 5);
@@ -130,11 +133,12 @@ public function testSetRangeInvalidMin()
/**
* @testdox setRange() throws an exception if the second argument is not a number
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Argument 2 passed to s9e\TextFormatter\Configurator\Items\AttributeFilters\RangeFilter::setRange must be an integer
*/
public function testSetRangeInvalidMax()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Argument 2 passed to s9e\\TextFormatter\\Configurator\\Items\\AttributeFilters\\RangeFilter::setRange must be an integer');
+
$filter = new RangeFilter;
$filter->setRange(1, 'foo');
@@ -142,11 +146,12 @@ public function testSetRangeInvalidMax()
/**
* @testdox setRange() throws an exception if the min value is greater than the max value
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid range
*/
public function testSetRangeInvalidRange()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Invalid range');
+
$filter = new RangeFilter;
$filter->setRange(5, 1);
}
diff --git a/tests/Configurator/Items/AttributeFilters/RegexpFilterTest.php b/tests/Configurator/Items/AttributeFilters/RegexpFilterTest.php
index 2910af1a4a..5bd2a80973 100644
--- a/tests/Configurator/Items/AttributeFilters/RegexpFilterTest.php
+++ b/tests/Configurator/Items/AttributeFilters/RegexpFilterTest.php
@@ -322,11 +322,12 @@ public function testSetRegexp()
/**
* @testdox setRegexp() throws an exception if the regexp is invalid
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid regular expression '???'
*/
public function testSetRegexpInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid regular expression '???'");
+
$filter = new RegexpFilter;
$filter->setRegexp('???');
}
@@ -339,16 +340,17 @@ public function testAsConfig()
$filter = new RegexpFilter;
$filter->setRegexp('/x/');
- $this->assertInternalType('array', $filter->asConfig());
+ $this->assertIsArray($filter->asConfig());
}
/**
* @testdox asConfig() throws an exception if the 'regexp' var is missing
- * @expectedException RuntimeException
- * @expectedExceptionMessage Regexp filter is missing a 'regexp' value
*/
public function testMissingRegexp()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Regexp filter is missing a 'regexp' value");
+
$filter = new RegexpFilter;
$filter->asConfig();
}
diff --git a/tests/Configurator/Items/AttributePreprocessorTest.php b/tests/Configurator/Items/AttributePreprocessorTest.php
index 7049419937..b6a39ba78b 100644
--- a/tests/Configurator/Items/AttributePreprocessorTest.php
+++ b/tests/Configurator/Items/AttributePreprocessorTest.php
@@ -12,11 +12,12 @@ class AttributePreprocessorTest extends Test
{
/**
* @testdox __construct() throws an InvalidArgumentException if the regexp is not valid
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid regular expression
*/
public function testInvalidRegexp()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Invalid regular expression');
+
new AttributePreprocessor('(?)');
}
diff --git a/tests/Configurator/Items/ProgrammableCallbackTest.php b/tests/Configurator/Items/ProgrammableCallbackTest.php
index faa51945ed..1864501279 100644
--- a/tests/Configurator/Items/ProgrammableCallbackTest.php
+++ b/tests/Configurator/Items/ProgrammableCallbackTest.php
@@ -14,11 +14,12 @@ class ProgrammableCallbackTest extends Test
{
/**
* @testdox __construct() throws an InvalidArgumentException if its argument is not callable
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage s9e\TextFormatter\Configurator\Items\ProgrammableCallback::__construct() expects a callback
*/
public function testInvalidCallback()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('s9e\\TextFormatter\\Configurator\\Items\\ProgrammableCallback::__construct() expects a callback');
+
new ProgrammableCallback('*invalid*');
}
@@ -111,11 +112,12 @@ public function testAddParameterByName()
/**
* @testdox addParameterByName() throws an exception when the same parameter is added twice
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Parameter 'foobar' already exists
*/
public function testAddParameterByNameDuplicated()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Parameter 'foobar' already exists");
+
$pc = new ProgrammableCallback('strtolower');
$pc->addParameterByName('foobar');
$pc->addParameterByName('foobar');
diff --git a/tests/Configurator/Items/RegexpTest.php b/tests/Configurator/Items/RegexpTest.php
index 1c481e64de..0f3525c098 100644
--- a/tests/Configurator/Items/RegexpTest.php
+++ b/tests/Configurator/Items/RegexpTest.php
@@ -13,11 +13,12 @@ class RegexpTest extends Test
{
/**
* @testdox __construct() throws an InvalidArgumentException if the regexp is not valid
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid regular expression
*/
public function testInvalidRegexp()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Invalid regular expression');
+
new Regexp('(?)');
}
diff --git a/tests/Configurator/Items/TagTest.php b/tests/Configurator/Items/TagTest.php
index 210d034aab..1e4decdc32 100644
--- a/tests/Configurator/Items/TagTest.php
+++ b/tests/Configurator/Items/TagTest.php
@@ -109,22 +109,24 @@ public function testNestingLimitString()
/**
* @testdox $tag->nestingLimit rejects non-numbers
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage nestingLimit must be a number greater than 0
*/
public function testNestingLimitNonNumber()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('nestingLimit must be a number greater than 0');
+
$tag = new Tag;
$tag->nestingLimit = 'invalid';
}
/**
* @testdox $tag->nestingLimit rejects numbers less than 1
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage nestingLimit must be a number greater than 0
*/
public function testNestingLimitLessThanOne()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('nestingLimit must be a number greater than 0');
+
$tag = new Tag;
$tag->nestingLimit = -1;
}
@@ -190,22 +192,24 @@ public function testTagLimitString()
/**
* @testdox $tag->tagLimit rejects non-numbers
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage tagLimit must be a number greater than 0
*/
public function testTagLimitNonNumber()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('tagLimit must be a number greater than 0');
+
$tag = new Tag;
$tag->tagLimit = 'invalid';
}
/**
* @testdox $tag->tagLimit rejects numbers less than 1
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage tagLimit must be a number greater than 0
*/
public function testTagLimitLessThanOne()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('tagLimit must be a number greater than 0');
+
$tag = new Tag;
$tag->tagLimit = -1;
}
@@ -218,10 +222,9 @@ public function testSetTemplate()
$tag = new Tag;
$tag->template = 'foo';
- $this->assertAttributeInstanceOf(
+ $this->assertInstanceOf(
's9e\\TextFormatter\\Configurator\\Items\\Template',
- 'template',
- $tag
+ $this->getObjectProperty($tag, 'template')
);
}
@@ -316,7 +319,7 @@ public function testFilterChainConfigOmitsUnusedFilter()
foreach ($config['filterChain'] as $filter)
{
- $this->assertNotContains('executeAttributePreprocessors', $filter['callback']);
+ $this->assertStringNotContainsString('executeAttributePreprocessors', $filter['callback']);
}
}
diff --git a/tests/Configurator/Items/TemplateTest.php b/tests/Configurator/Items/TemplateTest.php
index 868f458fec..da8d221370 100644
--- a/tests/Configurator/Items/TemplateTest.php
+++ b/tests/Configurator/Items/TemplateTest.php
@@ -43,7 +43,7 @@ public function testAsDOM()
$template = new Template($xml);
$this->assertInstanceOf('DOMDocument', $template->asDOM());
- $this->assertContains($xml, $template->asDOM()->saveXML());
+ $this->assertStringContainsString($xml, $template->asDOM()->saveXML());
}
/**
diff --git a/tests/Configurator/JavaScript/EncoderTest.php b/tests/Configurator/JavaScript/EncoderTest.php
index e354fab41b..aa2d10d547 100644
--- a/tests/Configurator/JavaScript/EncoderTest.php
+++ b/tests/Configurator/JavaScript/EncoderTest.php
@@ -125,7 +125,7 @@ public function testLegalProps()
$js = $encoder->encode(array_flip($legal));
foreach ($legal as $name)
{
- $this->assertContains($name . ':', $js);
+ $this->assertStringContainsString($name . ':', $js);
}
}
@@ -153,28 +153,30 @@ public function testIllegalProps()
$js = $encoder->encode(array_flip($illegal));
foreach ($illegal as $name)
{
- $this->assertContains(json_encode($name) . ':', $js);
+ $this->assertStringContainsString(json_encode($name) . ':', $js);
}
}
/**
* @testdox encode() throws an exception on unsupported types
- * @expectedException RuntimeException
- * @expectedExceptionMessage Cannot encode resource value
*/
public function testEncodeUnsupportedType()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Cannot encode resource value');
+
$encoder = new Encoder;
$encoder->encode(fopen('php://stdin', 'rb'));
}
/**
* @testdox encode() throws an exception on unsupported objects
- * @expectedException RuntimeException
- * @expectedExceptionMessage Cannot encode instance of Closure
*/
public function testEncodeUnsupportedObjects()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Cannot encode instance of Closure');
+
$encoder = new Encoder;
$encoder->encode(function(){});
}
diff --git a/tests/Configurator/JavaScript/FunctionProviderTest.php b/tests/Configurator/JavaScript/FunctionProviderTest.php
index 30953501ff..2d4217fa44 100644
--- a/tests/Configurator/JavaScript/FunctionProviderTest.php
+++ b/tests/Configurator/JavaScript/FunctionProviderTest.php
@@ -10,7 +10,7 @@
*/
class FunctionProviderTest extends Test
{
- public function tearDown()
+ protected function tearDown(): void
{
unset(FunctionProvider::$cache['foo']);
}
@@ -38,11 +38,12 @@ public function testReturnFromFilesystem()
/**
* @testdox get() will throw an exception if the function can't be sourced
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Unknown function 'foobar'
*/
public function testInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Unknown function 'foobar'");
+
unset(FunctionProvider::$cache['foobar']);
FunctionProvider::get('foobar');
}
diff --git a/tests/Configurator/JavaScript/HintGeneratorTest.php b/tests/Configurator/JavaScript/HintGeneratorTest.php
index 671c203754..0444ef8ca7 100644
--- a/tests/Configurator/JavaScript/HintGeneratorTest.php
+++ b/tests/Configurator/JavaScript/HintGeneratorTest.php
@@ -25,7 +25,7 @@ public function assertHintsContain($str)
$generator->setPlugins($this->configurator->plugins);
$generator->setXSL($xsl);
- $this->assertContains($str, $generator->getHints());
+ $this->assertStringContainsString($str, $generator->getHints());
}
/**
diff --git a/tests/Configurator/JavaScript/MinifierTest.php b/tests/Configurator/JavaScript/MinifierTest.php
index c724efb242..54216ad5e7 100644
--- a/tests/Configurator/JavaScript/MinifierTest.php
+++ b/tests/Configurator/JavaScript/MinifierTest.php
@@ -11,12 +11,12 @@
*/
class MinifierTest extends Test
{
- public function setUp()
+ protected function setUp(): void
{
array_map('unlink', self::getCacheFiles());
}
- public static function tearDownAfterClass()
+ public static function tearDownAfterClass(): void
{
array_map('unlink', self::getCacheFiles());
}
@@ -91,10 +91,12 @@ public function testFromCache()
/**
* @testdox get() rethrows exception thrown during minification by default
- * @expectedException Exception foo
*/
public function testGetRethrow()
{
+ $this->expectException('Exception');
+ $this->expectExceptionMessage('foo');
+
$minifier = new DummyThrowingMinifier;
$minifier->get('alert("Hi")');
}
diff --git a/tests/Configurator/JavaScript/Minifiers/ClosureCompilerApplicationTest.php b/tests/Configurator/JavaScript/Minifiers/ClosureCompilerApplicationTest.php
index 1eca5ec1f7..7e65f3d1f1 100644
--- a/tests/Configurator/JavaScript/Minifiers/ClosureCompilerApplicationTest.php
+++ b/tests/Configurator/JavaScript/Minifiers/ClosureCompilerApplicationTest.php
@@ -10,13 +10,13 @@
*/
class ClosureCompilerApplicationTest extends Test
{
- public static function setUpBeforeClass()
+ public static function setUpBeforeClass(): void
{
file_put_contents(sys_get_temp_dir() . '/test.compiler.jar', '1');
file_put_contents(sys_get_temp_dir() . '/test2.compiler.jar', '2');
}
- public static function tearDownAfterClass()
+ public static function tearDownAfterClass(): void
{
unlink(sys_get_temp_dir() . '/test.compiler.jar');
unlink(sys_get_temp_dir() . '/test2.compiler.jar');
@@ -76,22 +76,24 @@ public function testConstructorJar()
/**
* @testdox Throws an exception if the Closure Compiler's filepath is not set at minification time
- * @expectedException RuntimeException
- * @expectedExceptionMessage No path set for Closure Compiler
*/
public function testNoPathRuntime()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('No path set for Closure Compiler');
+
$minifier = new ClosureCompilerApplication;
$minifier->minify('alert(1)');
}
/**
* @testdox Throws an exception if the Closure Compiler's file does not exist at minification time
- * @expectedException RuntimeException
- * @expectedExceptionMessage Cannot find Closure Compiler at /does/not/exist
*/
public function testInvalidPathRuntime()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Cannot find Closure Compiler at /does/not/exist');
+
$minifier = new ClosureCompilerApplication;
$minifier->closureCompilerBin = '/does/not/exist';
$minifier->minify('alert(1)');
@@ -99,12 +101,13 @@ public function testInvalidPathRuntime()
/**
* @testdox Throws an exception if the JavaScript is invalid
- * @expectedException RuntimeException
- * @expectedExceptionMessage An error occured during minification
* @group slow
*/
public function testInvalidJavaScript()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('An error occured during minification');
+
$minifier = $this->getMinifier();
$minifier->compilationLevel = 'WHITESPACE_ONLY';
$minifier->minify('foo bar');
@@ -215,12 +218,13 @@ public function testWorks()
/**
* @testdox minify() throws an exception if an error occurs during minification
- * @expectedException RuntimeException
- * @expectedExceptionMessage An error occured during minification
* @group slow
*/
public function testMinifyError()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('An error occured during minification');
+
$minifier = $this->getMinifier();
$minifier->compilationLevel = 'WHITESPACE_ONLY';
$minifier->options = '--env=CUSTOM';
diff --git a/tests/Configurator/JavaScript/Minifiers/ClosureCompilerServiceTest.php b/tests/Configurator/JavaScript/Minifiers/ClosureCompilerServiceTest.php
index 1bfeb015aa..444efef013 100644
--- a/tests/Configurator/JavaScript/Minifiers/ClosureCompilerServiceTest.php
+++ b/tests/Configurator/JavaScript/Minifiers/ClosureCompilerServiceTest.php
@@ -52,7 +52,7 @@ public function testCompilationLevelDefault()
$minifier->httpClient = new ClosureCompilerServiceTestClient;
$minifier->minify('');
- $this->assertContains(
+ $this->assertStringContainsString(
'compilation_level=ADVANCED_OPTIMIZATIONS',
$minifier->httpClient->body
);
@@ -67,7 +67,7 @@ public function testExcludesDefaultExternsByDefault()
$minifier->httpClient = new ClosureCompilerServiceTestClient;
$minifier->minify('');
- $this->assertContains(
+ $this->assertStringContainsString(
'exclude_default_externs=true',
$minifier->httpClient->body
);
@@ -84,7 +84,7 @@ public function testCustomExterns()
$minifier->httpClient = new ClosureCompilerServiceTestClient;
$minifier->minify('');
- $this->assertContains(
+ $this->assertStringContainsString(
'js_externs=' . urlencode($externs),
$minifier->httpClient->body
);
@@ -145,11 +145,12 @@ public function testCacheKeyCustomExterns()
/**
* @testdox Throws an exception in case of a request failure
- * @expectedException RuntimeException
- * @expectedExceptionMessage Could not contact the Closure Compiler service
*/
public function testRequestFailure()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Could not contact the Closure Compiler service');
+
$minifier = new ClosureCompilerService;
$minifier->httpClient = new ClosureCompilerServiceTestClient;
$minifier->httpClient->willReturn = false;
@@ -158,11 +159,12 @@ public function testRequestFailure()
/**
* @testdox Throws an exception if the response isn't valid JSON
- * @expectedException RuntimeException
- * @expectedExceptionMessage Closure Compiler service returned invalid JSON: Syntax error
*/
public function testJSONError()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Closure Compiler service returned invalid JSON: Syntax error');
+
$minifier = new ClosureCompilerService;
$minifier->httpClient = new ClosureCompilerServiceTestClient;
$minifier->httpClient->willReturn = 'not JSON';
@@ -171,11 +173,12 @@ public function testJSONError()
/**
* @testdox Throws an exception in case of a server error
- * @expectedException RuntimeException
- * @expectedExceptionMessage Server error 4: Unknown compression level: UNKNOWN
*/
public function testServerError()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Server error 4: Unknown compression level: UNKNOWN');
+
$minifier = new ClosureCompilerService;
$minifier->compilationLevel = 'UNKNOWN';
$minifier->httpClient = new ClosureCompilerServiceTestClient;
@@ -186,11 +189,12 @@ public function testServerError()
/**
* @testdox Throws an exception in case of a compilation error
- * @expectedException RuntimeException
- * @expectedExceptionMessage Parse error. Semi-colon expected
*/
public function testCompilationError()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Parse error. Semi-colon expected');
+
$minifier = new ClosureCompilerService;
$minifier->httpClient = new ClosureCompilerServiceTestClient;
$minifier->httpClient->willReturn = '{"compiledCode":"","errors":[{"type":"JSC_PARSE_ERROR","file":"Input_0","lineno":1,"charno":5,"error":"Parse error. Semi-colon expected","line":"This should fail"}]}';
diff --git a/tests/Configurator/JavaScript/Minifiers/FirstAvailableTest.php b/tests/Configurator/JavaScript/Minifiers/FirstAvailableTest.php
index 13f07b6da5..2c934754d8 100644
--- a/tests/Configurator/JavaScript/Minifiers/FirstAvailableTest.php
+++ b/tests/Configurator/JavaScript/Minifiers/FirstAvailableTest.php
@@ -88,22 +88,24 @@ public function testSecond()
/**
* @testdox minify() throws an exception if no minifier is set
- * @expectedException RuntimeException
- * @expectedExceptionMessage No minifier available
*/
public function testNoMinifier()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('No minifier available');
+
$minifier = new FirstAvailable;
$minifier->minify('');
}
/**
* @testdox minify() throws an exception if no minifier success
- * @expectedException RuntimeException
- * @expectedExceptionMessage No minifier available
*/
public function testAllMinifiersFail()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('No minifier available');
+
$minifier1 = $this->getMockBuilder('s9e\\TextFormatter\\Configurator\\JavaScript\\Minifier')
->getMock();
$minifier1->expects($this->once())
diff --git a/tests/Configurator/JavaScript/Minifiers/MatthiasMullieMinifyTest.php b/tests/Configurator/JavaScript/Minifiers/MatthiasMullieMinifyTest.php
index 42bc53e23a..1170e11214 100644
--- a/tests/Configurator/JavaScript/Minifiers/MatthiasMullieMinifyTest.php
+++ b/tests/Configurator/JavaScript/Minifiers/MatthiasMullieMinifyTest.php
@@ -10,7 +10,7 @@
*/
class MatthiasMullieMinifyTest extends Test
{
- public function setUp()
+ protected function setUp(): void
{
if (!class_exists('MatthiasMullie\\Minify\\JS'))
{
diff --git a/tests/Configurator/JavaScript/RegexpConvertorTest.php b/tests/Configurator/JavaScript/RegexpConvertorTest.php
index a4dc022cb0..691072ea1b 100644
--- a/tests/Configurator/JavaScript/RegexpConvertorTest.php
+++ b/tests/Configurator/JavaScript/RegexpConvertorTest.php
@@ -113,11 +113,12 @@ public function testConvertRegexp5b()
/**
* @testdox toJS() throws a RuntimeException on options (?i)
- * @expectedException RuntimeException
- * @expectedExceptionMessage Regexp options are not supported
*/
public function testConvertRegexpException1()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Regexp options are not supported');
+
RegexpConvertor::toJS('#(?i)x#');
}
@@ -131,11 +132,12 @@ public function testConvertRegexpOption()
/**
* @testdox toJS() throws a RuntimeException on subpattern options (?i:)
- * @expectedException RuntimeException
- * @expectedExceptionMessage Subpattern options are not supported
*/
public function testConvertRegexpException2()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Subpattern options are not supported');
+
RegexpConvertor::toJS('#(?i:x)#');
}
@@ -266,21 +268,23 @@ public function testConvertRegexpNegativeLookahead()
/**
* @testdox toJS() throws a RuntimeException on lookbehind assertions
- * @expectedException RuntimeException
- * @expectedExceptionMessage Unsupported token type 'lookbehindAssertionStart'
*/
public function testConvertRegexpExceptionOnLookbehind()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Unsupported token type 'lookbehindAssertionStart'");
+
RegexpConvertor::toJS('#(?<=foo)x#');
}
/**
* @testdox toJS() throws a RuntimeException on negative lookbehind assertions
- * @expectedException RuntimeException
- * @expectedExceptionMessage Unsupported token type 'negativeLookbehindAssertionStart'
*/
public function testConvertRegexpExceptionOnNegativeLookbehind()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Unsupported token type 'negativeLookbehindAssertionStart'");
+
RegexpConvertor::toJS('#(?configurator->enableJavaScript();
}
@@ -109,7 +109,7 @@ public function testMinifierReturn()
$this->configurator->enableJavaScript();
$this->configurator->javascript->setMinifier($mock);
- $this->assertContains('/**/', $this->configurator->javascript->getParser());
+ $this->assertStringContainsString('/**/', $this->configurator->javascript->getParser());
}
/**
@@ -123,12 +123,12 @@ public function testGetParserWithConfig()
$this->configurator->enableJavaScript();
- $this->assertNotContains(
+ $this->assertStringNotContainsString(
'FOO',
$this->configurator->javascript->getParser()
);
- $this->assertContains(
+ $this->assertStringContainsString(
'FOO',
$this->configurator->javascript->getParser($configurator->asConfig())
);
@@ -141,7 +141,7 @@ public function testQuickMatchUTF8()
{
$this->configurator->plugins->load('Escaper', ['quickMatch' => 'foo']);
- $this->assertContains(
+ $this->assertStringContainsString(
'quickMatch:"foo"',
$this->configurator->javascript->getParser()
);
@@ -154,7 +154,7 @@ public function testQuickMatchUTF8Bad()
{
$this->configurator->plugins->load('Escaper', ['quickMatch' => "\xC0"]);
- $this->assertNotContains(
+ $this->assertStringNotContainsString(
'quickMatch:',
$this->configurator->javascript->getParser()
);
@@ -167,7 +167,7 @@ public function testQuickMatchUTF8Partial()
{
$this->configurator->plugins->load('Escaper', ['quickMatch' => "\xC0xÿz"]);
- $this->assertContains(
+ $this->assertStringContainsString(
'quickMatch:"x\\u00ffz"',
$this->configurator->javascript->getParser()
);
@@ -180,7 +180,7 @@ public function testPluginNoParser()
{
$this->configurator->plugins['Foobar'] = new NoJSPluginConfigurator($this->configurator);
- $this->assertNotContains(
+ $this->assertStringNotContainsString(
'Foobar',
$this->configurator->javascript->getParser()
);
@@ -188,11 +188,12 @@ public function testPluginNoParser()
/**
* @testdox getParser() throws an exception if it encounters a value that cannot be encoded into JavaScript
- * @expectedException RuntimeException
- * @expectedExceptionMessage Cannot encode instance of stdClass
*/
public function testNonScalarConfigException()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('Cannot encode instance of stdClass');
+
$this->configurator->registeredVars['foo'] = new NonScalarConfigThing;
$this->configurator->javascript->getParser();
}
@@ -209,7 +210,7 @@ public function testAttributeFilterBuiltIn()
$js = $this->configurator->javascript->getParser();
- $this->assertContains(
+ $this->assertStringContainsString(
'function(attrValue,attrName){return NumericFilter.filterInt(attrValue);}',
$js
);
@@ -227,7 +228,7 @@ public function testAttributeFilterBuiltInCallback()
$js = $this->configurator->javascript->getParser();
- $this->assertContains(
+ $this->assertStringContainsString(
'function(tag,tagConfig){return filterAttributes(tag,tagConfig,registeredVars,logger);}',
$js
);
@@ -245,7 +246,7 @@ function() {}
$js = $this->configurator->javascript->getParser();
- $this->assertContains('filterChain:[returnFalse]', $js);
+ $this->assertStringContainsString('filterChain:[returnFalse]', $js);
}
/**
@@ -255,7 +256,7 @@ public function testRegisteredVarBracket()
{
$this->configurator->registeredVars = ['foo' => 'bar'];
- $this->assertContains(
+ $this->assertStringContainsString(
'registeredVars={"foo":"bar"}',
$this->configurator->javascript->getParser()
);
@@ -270,8 +271,8 @@ public function testRegisteredVarCacheDir()
$src = $this->configurator->javascript->getParser();
- $this->assertContains('registeredVars={"foo":"bar"}', $src);
- $this->assertNotContains('cacheDir', $src);
+ $this->assertStringContainsString('registeredVars={"foo":"bar"}', $src);
+ $this->assertStringNotContainsString('cacheDir', $src);
}
/**
@@ -283,7 +284,7 @@ public function testOmitClassName()
$src = $this->configurator->javascript->getParser();
- $this->assertNotContains('className', $src);
+ $this->assertStringNotContainsString('className', $src);
}
/**
@@ -299,7 +300,7 @@ public function testCallbackRegisteredVarBracket()
->resetParameters()
->addParameterByName('foo');
- $this->assertContains(
+ $this->assertStringContainsString(
'registeredVars["foo"]',
$this->configurator->javascript->getParser()
);
@@ -312,12 +313,12 @@ public function testLoggerDefault()
{
$js = $this->configurator->javascript->getParser();
- $this->assertContains(
+ $this->assertStringContainsString(
file_get_contents(__DIR__ . '/../../src/Parser/Logger.js'),
$js
);
- $this->assertNotContains(
+ $this->assertStringNotContainsString(
file_get_contents(__DIR__ . '/../../src/Parser/NullLogger.js'),
$js
);
@@ -331,12 +332,12 @@ public function testNullLogger()
$this->configurator->javascript->exports = ['preview'];
$js = $this->configurator->javascript->getParser();
- $this->assertNotContains(
+ $this->assertStringNotContainsString(
file_get_contents(__DIR__ . '/../../src/Parser/Logger.js'),
$js
);
- $this->assertContains(
+ $this->assertStringContainsString(
file_get_contents(__DIR__ . '/../../src/Parser/NullLogger.js'),
$js
);
@@ -354,7 +355,7 @@ public function testCallbackValue()
->addParameterByValue('foo')
->addParameterByValue(42);
- $this->assertContains(
+ $this->assertStringContainsString(
'("foo",42)',
$this->configurator->javascript->getParser()
);
@@ -372,8 +373,8 @@ public function testOptimizeWholeTag()
$this->configurator->javascript->exports = ['preview'];
$js = $this->configurator->javascript->getParser();
- $this->assertNotContains('"X":{', $js);
- $this->assertNotContains('"Y":{', $js);
+ $this->assertStringNotContainsString('"X":{', $js);
+ $this->assertStringNotContainsString('"Y":{', $js);
$this->assertRegexp('(tagsConfig=\\{"X":(\\w+),"Y":\\1)', $js);
}
@@ -383,7 +384,7 @@ public function testOptimizeWholeTag()
public function testExport()
{
$this->configurator->javascript->exports = ['preview'];
- $this->assertContains("window['s9e']", $this->configurator->javascript->getParser());
+ $this->assertStringContainsString("window['s9e']", $this->configurator->javascript->getParser());
}
/**
@@ -392,7 +393,7 @@ public function testExport()
public function testNoExport()
{
$this->configurator->javascript->exports = [];
- $this->assertNotContains("window['s9e']['TextFormatter']", $this->configurator->javascript->getParser());
+ $this->assertStringNotContainsString("window['s9e']['TextFormatter']", $this->configurator->javascript->getParser());
}
/**
@@ -432,7 +433,7 @@ public function testLivePreviewAttributes()
{
$this->configurator->tags->add('X')->template = '';
- $this->assertContains('data-s9e-livepreview-ignore-attrs', $this->configurator->javascript->getParser());
+ $this->assertStringContainsString('data-s9e-livepreview-ignore-attrs', $this->configurator->javascript->getParser());
}
}
diff --git a/tests/Configurator/RendererGenerators/PHP/QuickTest.php b/tests/Configurator/RendererGenerators/PHP/QuickTest.php
index 4a75430d69..0f85ed6320 100644
--- a/tests/Configurator/RendererGenerators/PHP/QuickTest.php
+++ b/tests/Configurator/RendererGenerators/PHP/QuickTest.php
@@ -18,7 +18,7 @@ class QuickTest extends Test
{
use RendererTests;
- public function setUp()
+ protected function setUp(): void
{
$this->configurator->rendering->engine = 'PHP';
$this->configurator->rendering->engine->enableQuickRenderer = true;
@@ -63,20 +63,24 @@ public function testQuickRendererUnknownSelfClosingTag()
/**
* @testdox The quick renderer can handle comments
- * @expectedException InvalidArgumentException comments
*/
public function testQuickRendererComment()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('comments');
+
$renderer = $this->getRenderer();
$this->assertSame('unknown', $renderer->render('unknown'));
}
/**
* @testdox The quick renderer can handle processing instructions
- * @expectedException InvalidArgumentException Processing
*/
public function testQuickRendererProcessingInstruction()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Processing');
+
$renderer = $this->getRenderer();
$this->assertSame('unknown', $renderer->render('unknown'));
}
@@ -700,7 +704,7 @@ public function testSource($templates, $contains, $setup = null)
$compiledTemplates[$tagName] = self::getPHP($template);
}
- $this->assertContains($contains, Quick::getSource($compiledTemplates));
+ $this->assertStringContainsString($contains, Quick::getSource($compiledTemplates));
}
public function getSourceTests()
diff --git a/tests/Configurator/RendererGenerators/PHP/SerializerTest.php b/tests/Configurator/RendererGenerators/PHP/SerializerTest.php
index 042c573646..5db269b376 100644
--- a/tests/Configurator/RendererGenerators/PHP/SerializerTest.php
+++ b/tests/Configurator/RendererGenerators/PHP/SerializerTest.php
@@ -46,7 +46,9 @@ public function testSerialize($xml, $expected, $setup = null)
$serializer = new Serializer;
if ($expected instanceof Exception)
{
- $this->setExpectedException(get_class($expected), $expected->getMessage());
+ $this->expectException(get_class($expected));
+ $this->expectExceptionMessage($expected->getMessage());
+
}
if (isset($setup))
{
diff --git a/tests/Configurator/RendererGenerators/PHP/XPathConvertorTest.php b/tests/Configurator/RendererGenerators/PHP/XPathConvertorTest.php
index ee4e77dfdd..8ef767e7f2 100644
--- a/tests/Configurator/RendererGenerators/PHP/XPathConvertorTest.php
+++ b/tests/Configurator/RendererGenerators/PHP/XPathConvertorTest.php
@@ -23,7 +23,9 @@ public function testConvertXPathBasic($original, $expected)
$convertor = new XPathConvertor;
if ($expected instanceof Exception)
{
- $this->setExpectedException(get_class($expected), $expected->getMessage());
+ $this->expectException(get_class($expected));
+ $this->expectExceptionMessage($expected->getMessage());
+
}
$this->assertSame($expected, $convertor->convertXPath($original));
}
diff --git a/tests/Configurator/RendererGenerators/PHPTest.php b/tests/Configurator/RendererGenerators/PHPTest.php
index 724c09b041..a17fbf57cf 100644
--- a/tests/Configurator/RendererGenerators/PHPTest.php
+++ b/tests/Configurator/RendererGenerators/PHPTest.php
@@ -17,12 +17,12 @@
*/
class PHPTest extends Test
{
- protected function setUp()
+ protected function setUp(): void
{
$this->configurator->rendering->engine = 'PHP';
}
- protected function tearDown()
+ protected function tearDown(): void
{
array_map('unlink', glob(sys_get_temp_dir() . '/*enderer_*.php'));
}
@@ -109,7 +109,7 @@ public function testNamespacedClass()
$renderer = $this->configurator->rendering->getRenderer();
$this->assertInstanceOf($className, $renderer);
- $this->assertContains("namespace foo\\bar;\n\nclass renderer_", $this->getRendererSource());
+ $this->assertStringContainsString("namespace foo\\bar;\n\nclass renderer_", $this->getRendererSource());
}
/**
@@ -223,7 +223,7 @@ public function testComment()
{
$this->configurator->tags->add('X')->template = '';
- $this->assertNotContains(
+ $this->assertStringNotContainsString(
'Nothing',
$this->getRendererSource()
);
@@ -231,32 +231,35 @@ public function testComment()
/**
* @testdox Throws an exception if a template contains a processing instruction
- * @expectedException RuntimeException
*/
public function testPI()
{
+ $this->expectException('RuntimeException');
+
$this->configurator->tags->add('X')->template = '';
$this->configurator->rendering->getRenderer();
}
/**
* @testdox Throws an exception when encountering unsupported XSL elements
- * @expectedException RuntimeException
- * @expectedExceptionMessage Element 'xsl:foo' is not supported
*/
public function testUnsupported()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Element 'xsl:foo' is not supported");
+
$this->configurator->tags->add('X')->template = '';
$this->configurator->rendering->getRenderer();
}
/**
* @testdox Throws an exception on that does not copy an attribute
- * @expectedException RuntimeException
- * @expectedExceptionMessage Unsupported expression 'current()'
*/
public function testUnsupportedCopyOf()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Unsupported expression 'current()'");
+
$this->configurator->tags->add('X')->template = '';
$this->configurator->rendering->getRenderer();
}
@@ -822,7 +825,7 @@ protected function runCodeTest($template, $contains, $notContains, $setup = null
{
foreach ((array) $contains as $str)
{
- $this->assertContains($str, $this->getRendererSource());
+ $this->assertStringContainsString($str, $this->getRendererSource());
}
}
@@ -830,7 +833,7 @@ protected function runCodeTest($template, $contains, $notContains, $setup = null
{
foreach ((array) $notContains as $str)
{
- $this->assertNotContains($str, $this->getRendererSource());
+ $this->assertStringNotContainsString($str, $this->getRendererSource());
}
}
}
@@ -959,6 +962,7 @@ public function testCallsOptimizer()
/**
* @testdox Can run without an optimizer
+ * @doesNotPerformAssertions
*/
public function testNoOptimizer()
{
@@ -984,6 +988,7 @@ public function testCallsControlStructuresOptimizer()
/**
* @testdox Can run without a control structures optimizer
+ * @doesNotPerformAssertions
*/
public function testNoControlStructuresOptimizer()
{
@@ -1624,7 +1629,7 @@ public function testQuickRenderer()
$this->configurator->rendering->engine->enableQuickRenderer = true;
$this->configurator->tags->add('B')->template = '';
- $this->assertContains(
+ $this->assertStringContainsString(
'public $enableQuickRenderer=true;',
$this->getRendererSource()
);
@@ -1638,7 +1643,7 @@ public function testNoQuickRenderer()
$this->configurator->rendering->engine->enableQuickRenderer = false;
$this->configurator->tags->add('B')->template = '';
- $this->assertNotContains(
+ $this->assertStringNotContainsString(
'$enableQuickRenderer=true;',
$this->getRendererSource()
);
diff --git a/tests/Configurator/RendererGenerators/XSLTTest.php b/tests/Configurator/RendererGenerators/XSLTTest.php
index 8b8391d452..4227f4062c 100644
--- a/tests/Configurator/RendererGenerators/XSLTTest.php
+++ b/tests/Configurator/RendererGenerators/XSLTTest.php
@@ -36,7 +36,7 @@ public function testMergesDuplicateTemplates()
$this->configurator->tags->add('X')->template = 'X';
$this->configurator->tags->add('Y')->template = 'X';
- $this->assertContains(
+ $this->assertStringContainsString(
'X',
$this->getXSL()
);
@@ -47,7 +47,7 @@ public function testMergesDuplicateTemplates()
*/
public function testEmptyTemplates()
{
- $this->assertContains(
+ $this->assertStringContainsString(
'',
$this->getXSL()
);
@@ -61,7 +61,7 @@ public function testDeclaresNamespaces()
$this->configurator->tags->add('X:A')->template = 'X';
$this->configurator->tags->add('Y:B')->template = 'Y';
- $this->assertContains(
+ $this->assertStringContainsString(
'xmlns:X="urn:s9e:TextFormatter:X" xmlns:Y="urn:s9e:TextFormatter:Y"',
$this->getXSL()
);
@@ -75,7 +75,7 @@ public function testExcludesPrefixes()
$this->configurator->tags->add('X:A')->template = 'X';
$this->configurator->tags->add('Y:B')->template = 'Y';
- $this->assertContains(
+ $this->assertStringContainsString(
'exclude-result-prefixes="X Y"',
$this->getXSL()
);
@@ -89,12 +89,12 @@ public function testParameters()
$this->configurator->rendering->parameters->add('foo');
$this->configurator->rendering->parameters->add('bar');
- $this->assertContains(
+ $this->assertStringContainsString(
'getXSL()
);
- $this->assertContains(
+ $this->assertStringContainsString(
'getXSL()
);
@@ -107,7 +107,7 @@ public function testParameterValue()
{
$this->configurator->rendering->parameters->add('foo', 'bar');
- $this->assertContains(
+ $this->assertStringContainsString(
'bar',
$this->getXSL()
);
@@ -120,7 +120,7 @@ public function testParameterValueEscaped()
{
$this->configurator->rendering->parameters->add('foo', '\'"&<>');
- $this->assertContains(
+ $this->assertStringContainsString(
'\'"&<>',
$this->getXSL()
);
@@ -137,14 +137,14 @@ public function testSimpleTemplates()
$xsl = $this->getXSL();
- $this->assertContains(
+ $this->assertStringContainsString(
'',
$xsl
);
foreach ($this->configurator->tags as $tag)
{
- $this->assertNotContains((string) $tag->template, $xsl);
+ $this->assertStringNotContainsString((string) $tag->template, $xsl);
}
}
@@ -171,8 +171,8 @@ public function testOptimizerCalls()
$xsl = $this->getXSL();
- $this->assertContains('x', $xsl);
- $this->assertContains('y', $xsl);
+ $this->assertStringContainsString('x', $xsl);
+ $this->assertStringContainsString('y', $xsl);
}
/**
@@ -182,6 +182,6 @@ public function testRemovesLivePreviewAttributes()
{
$this->configurator->tags->add('X')->template = '';
- $this->assertNotContains('livepreview', $this->getXSL());
+ $this->assertStringNotContainsString('livepreview', $this->getXSL());
}
}
\ No newline at end of file
diff --git a/tests/Configurator/RenderingTest.php b/tests/Configurator/RenderingTest.php
index 6265eaba05..68b88c12df 100644
--- a/tests/Configurator/RenderingTest.php
+++ b/tests/Configurator/RenderingTest.php
@@ -40,10 +40,9 @@ public function testGetRendererArgs()
{
$this->configurator->rendering->setEngine('PHP', '/tmp');
- $this->assertAttributeSame(
+ $this->assertSame(
'/tmp',
- 'cacheDir',
- $this->configurator->rendering->engine
+ $this->getObjectProperty($this->configurator->rendering->engine, 'cacheDir')
);
}
diff --git a/tests/Configurator/TemplateCheckerTest.php b/tests/Configurator/TemplateCheckerTest.php
index 67bcfb66f8..d57edd2dc8 100644
--- a/tests/Configurator/TemplateCheckerTest.php
+++ b/tests/Configurator/TemplateCheckerTest.php
@@ -38,141 +38,155 @@ public function testImplementsIterator()
/**
* @testdox Disallows attribute sets by default
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of attribute sets
*/
public function testDefaultAttributeSets()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Cannot assess the safety of attribute sets');
+
$this->checkTemplate('');
}
/**
* @testdox Disallows by default
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of an 'xsl:copy' element
*/
public function testDefaultCopy()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of an 'xsl:copy' element");
+
$this->checkTemplate('');
}
/**
* @testdox Disallows disabling output escaping by default
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage The template contains a 'disable-output-escaping' attribute
*/
public function testDefaultDisableOutputEscaping()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("The template contains a 'disable-output-escaping' attribute");
+
$this->checkTemplate('');
}
/**
* @testdox Disallows dynamic attribute names by default
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Dynamic names are disallowed
*/
public function testDefaultDynamicAttributeNames()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Dynamic names are disallowed');
+
$this->checkTemplate('');
}
/**
* @testdox Disallows dynamic element names by default
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Dynamic names are disallowed
*/
public function testDefaultDynamicElementNames()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Dynamic names are disallowed');
+
$this->checkTemplate('');
}
/**
* @testdox Disallows dynamic object param names by default
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage A 'param' element with a suspect name has been found
*/
public function testDefaultDynamicObjectParamNames()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("A 'param' element with a suspect name has been found");
+
$this->checkTemplate('');
}
/**
* @testdox Disallows PHP tags by default
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage PHP tags are not allowed in the template
*/
public function testDefaultPHPTags()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('PHP tags are not allowed in the template');
+
$this->checkTemplate('');
}
/**
* @testdox Disallows outputing PHP tags by default
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage PHP tags are not allowed in the output
*/
public function testDefaultGeneratedPHPTags()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('PHP tags are not allowed in the output');
+
$this->checkTemplate('');
}
/**
* @testdox Disallows potentially unsafe by default
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of 'xsl:copy-of' select expression 'FOO'
*/
public function testDefaultCopyOf()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of 'xsl:copy-of' select expression 'FOO'");
+
$this->checkTemplate('');
}
/**
* @testdox Disallows potentially unsafe dynamic CSS by default
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'foo'
*/
public function testDefaultDynamicCSS()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'foo'");
+
$this->checkTemplate('...');
}
/**
* @testdox Disallows potentially unsafe dynamic JS by default
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'foo'
*/
public function testDefaultDynamicJS()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'foo'");
+
$this->checkTemplate('...');
}
/**
* @testdox Disallows potentially unsafe dynamic URLs by default
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'foo'
*/
public function testDefaultDynamicURL()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'foo'");
+
$this->checkTemplate('...');
}
/**
* @testdox Disallows document() in XPath by default
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage An XPath expression uses the document() function
*/
public function testDefaultDocumentXPath()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('An XPath expression uses the document() function');
+
$this->checkTemplate('');
}
/**
* @testdox Restricts Flash's allowScriptAccess to "sameDomain" (or lower) by default, in objects that use dynamic values
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowScriptAccess setting 'always' exceeds restricted value 'sameDomain'
*/
public function testDefaultFlashScriptAccess()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowScriptAccess setting 'always' exceeds restricted value 'sameDomain'");
+
$templateChecker = new TemplateChecker;
$tag = new Tag;
@@ -184,17 +198,19 @@ public function testDefaultFlashScriptAccess()
/**
* @testdox Disallows by default
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Element 'sax:output' is disallowed
* @link https://bugs.php.net/bug.php?id=54446
*/
public function testDefaultSaxOutput()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Element 'sax:output' is disallowed");
+
$this->checkTemplate('');
}
/**
* @testdox checkTag() doesn't do anything if the template is safe
+ * @doesNotPerformAssertions
*/
public function testSafe()
{
@@ -207,6 +223,7 @@ public function testSafe()
/**
* @testdox checkTag() doesn't check templates that are marked as unsafe
+ * @doesNotPerformAssertions
*/
public function testUnsafeTemplate()
{
@@ -220,6 +237,7 @@ public function testUnsafeTemplate()
/**
* @testdox Can be reset and reconfigured with different checks
* @depends testDefaultDisableOutputEscaping
+ * @doesNotPerformAssertions
*/
public function testReconfigure()
{
@@ -246,6 +264,7 @@ public function testReconfigure()
/**
* @testdox disable() disables all checks
* @depends testDefaultDisableOutputEscaping
+ * @doesNotPerformAssertions
*/
public function testDisable()
{
@@ -258,11 +277,12 @@ public function testDisable()
/**
* @testdox enable() re-enables all checks
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
* @depends testDefaultDisableOutputEscaping
*/
public function testEnable()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+
$template = '';
$templateChecker = new TemplateChecker;
diff --git a/tests/Configurator/TemplateChecks/AbstractDynamicContentCheckTest.php b/tests/Configurator/TemplateChecks/AbstractDynamicContentCheckTest.php
index 60ff7a772c..74c733b3b5 100644
--- a/tests/Configurator/TemplateChecks/AbstractDynamicContentCheckTest.php
+++ b/tests/Configurator/TemplateChecks/AbstractDynamicContentCheckTest.php
@@ -30,6 +30,7 @@ protected function loadTemplate($template)
/**
* @testdox Stylesheet parameters are considered safe
+ * @doesNotPerformAssertions
*/
public function testTemplateParameter()
{
@@ -41,11 +42,12 @@ public function testTemplateParameter()
/**
* @testdox Variables pointing to an unknown attribute are unsafe
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'foo'
*/
public function testVarUnknown()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'foo'");
+
$node = $this->loadTemplate('');
$check = new DummyContentCheck;
@@ -54,6 +56,7 @@ public function testVarUnknown()
/**
* @testdox Variables pointing to an unknown attribute are ignored if ignoreUnknownAttributes() is called
+ * @doesNotPerformAssertions
*/
public function testVarUnknownIgnored()
{
@@ -66,11 +69,12 @@ public function testVarUnknownIgnored()
/**
* @testdox Variables pointing to an unknown attribute are detected if detectUnknownAttributes() is called after ignoreUnknownAttributes()
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'foo'
*/
public function testVarUnknownDetected()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'foo'");
+
$node = $this->loadTemplate('');
$check = new DummyContentCheck;
@@ -81,6 +85,7 @@ public function testVarUnknownDetected()
/**
* @testdox Variables pointing to a safe attribute are safe
+ * @doesNotPerformAssertions
*/
public function testVarSafe()
{
@@ -95,11 +100,12 @@ public function testVarSafe()
/**
* @testdox Variables pointing to an unsafe attribute are unsafe
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'foo' is not properly sanitized to be used in this context
*/
public function testVarUnsafe()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'foo' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('');
$tag = new Tag;
@@ -124,6 +130,7 @@ public function testVarUnsafe()
/**
* @testdox Variables pointing to a safe variable are safe
+ * @doesNotPerformAssertions
*/
public function testVarVarSafe()
{
@@ -138,11 +145,12 @@ public function testVarVarSafe()
/**
* @testdox Variables pointing to an unsafe variable are unsafe
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'foo' is not properly sanitized to be used in this context
*/
public function testVarVarUnsafe()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'foo' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('');
$tag = new Tag;
@@ -167,6 +175,7 @@ public function testVarVarUnsafe()
/**
* @testdox Variables pointing to a stylesheet parameter are safe
+ * @doesNotPerformAssertions
*/
public function testVarParamSafe()
{
@@ -178,6 +187,7 @@ public function testVarParamSafe()
/**
* @testdox Variables pointing to a stylesheet parameter of the same name are safe
+ * @doesNotPerformAssertions
*/
public function testVarParamSameName()
{
@@ -189,11 +199,12 @@ public function testVarParamSameName()
/**
* @testdox Local parameters pointing to an unknown attribute are unsafe
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'foo'
*/
public function testParamUnknown()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'foo'");
+
$node = $this->loadTemplate('');
$check = new DummyContentCheck;
@@ -202,6 +213,7 @@ public function testParamUnknown()
/**
* @testdox Local parameters pointing to a safe attribute are safe
+ * @doesNotPerformAssertions
*/
public function testParamSafe()
{
@@ -216,11 +228,12 @@ public function testParamSafe()
/**
* @testdox Attributes are not safe if the tag's filterChain is cleared
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'foo' is not properly sanitized to be used in this context
*/
public function testUnfilteredAttribute()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'foo' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('');
$tag = new Tag;
@@ -233,11 +246,12 @@ public function testUnfilteredAttribute()
/**
* @testdox Attributes are not safe if the tag's filterChain does not contain the default attribute filter
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'foo' is not properly sanitized to be used in this context
*/
public function testMisfilteredAttribute()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'foo' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('');
$tag = new Tag;
@@ -250,6 +264,7 @@ public function testMisfilteredAttribute()
/**
* @testdox Attributes can be safe with the tag's default filterChain
+ * @doesNotPerformAssertions
*/
public function testFilteredAttribute()
{
@@ -264,6 +279,7 @@ public function testFilteredAttribute()
/**
* @testdox Multiple attributes can be safe
+ * @doesNotPerformAssertions
*/
public function testCopyOfAttributesSafe()
{
@@ -279,11 +295,12 @@ public function testCopyOfAttributesSafe()
/**
* @testdox Multiple attributes can be unsafe
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'unsafe' is not properly sanitized to be used in this context
*/
public function testCopyOfAttributesUnsafe()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'unsafe' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('');
$tag = new Tag;
diff --git a/tests/Configurator/TemplateChecks/DisallowAttributeSetsTest.php b/tests/Configurator/TemplateChecks/DisallowAttributeSetsTest.php
index 76a4ef34a0..6a1bfd1421 100644
--- a/tests/Configurator/TemplateChecks/DisallowAttributeSetsTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowAttributeSetsTest.php
@@ -28,11 +28,12 @@ protected function loadTemplate($template)
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of attribute sets
*/
public function test()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Cannot assess the safety of attribute sets');
+
$node = $this->loadTemplate('');
try
@@ -54,6 +55,7 @@ public function test()
/**
* @testdox Allowed: ...
+ * @doesNotPerformAssertions
*/
public function testAllowed()
{
diff --git a/tests/Configurator/TemplateChecks/DisallowCopyTest.php b/tests/Configurator/TemplateChecks/DisallowCopyTest.php
index f03c7db73e..e26911db1d 100644
--- a/tests/Configurator/TemplateChecks/DisallowCopyTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowCopyTest.php
@@ -28,11 +28,12 @@ protected function loadTemplate($template)
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of an 'xsl:copy' element
*/
public function test()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of an 'xsl:copy' element");
+
$node = $this->loadTemplate('');
try
@@ -54,6 +55,7 @@ public function test()
/**
* @testdox Allowed: ...
+ * @doesNotPerformAssertions
*/
public function testAllowed()
{
diff --git a/tests/Configurator/TemplateChecks/DisallowDisableOutputEscapingTest.php b/tests/Configurator/TemplateChecks/DisallowDisableOutputEscapingTest.php
index 92841827bc..e0e9f31214 100644
--- a/tests/Configurator/TemplateChecks/DisallowDisableOutputEscapingTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowDisableOutputEscapingTest.php
@@ -28,11 +28,12 @@ protected function loadTemplate($template)
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage The template contains a 'disable-output-escaping' attribute
*/
public function test()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("The template contains a 'disable-output-escaping' attribute");
+
$node = $this->loadTemplate('');
try
@@ -54,6 +55,7 @@ public function test()
/**
* @testdox Allowed: ...
+ * @doesNotPerformAssertions
*/
public function testAllowed()
{
diff --git a/tests/Configurator/TemplateChecks/DisallowDynamicAttributeNamesTest.php b/tests/Configurator/TemplateChecks/DisallowDynamicAttributeNamesTest.php
index dcd53dbac6..ed53f53d42 100644
--- a/tests/Configurator/TemplateChecks/DisallowDynamicAttributeNamesTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowDynamicAttributeNamesTest.php
@@ -28,11 +28,12 @@ protected function loadTemplate($template)
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Dynamic names are disallowed
*/
public function testDisallowed()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Dynamic names are disallowed');
+
$node = $this->loadTemplate('');
try
@@ -54,6 +55,7 @@ public function testDisallowed()
/**
* @testdox Allowed:
+ * @doesNotPerformAssertions
*/
public function testAllowed()
{
diff --git a/tests/Configurator/TemplateChecks/DisallowDynamicElementNamesTest.php b/tests/Configurator/TemplateChecks/DisallowDynamicElementNamesTest.php
index 977cad8c35..4a4aeb4a37 100644
--- a/tests/Configurator/TemplateChecks/DisallowDynamicElementNamesTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowDynamicElementNamesTest.php
@@ -28,11 +28,12 @@ protected function loadTemplate($template)
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Dynamic names are disallowed
*/
public function testDisallowed()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Dynamic names are disallowed');
+
$node = $this->loadTemplate('');
try
@@ -54,6 +55,7 @@ public function testDisallowed()
/**
* @testdox Allowed:
+ * @doesNotPerformAssertions
*/
public function testAllowed()
{
diff --git a/tests/Configurator/TemplateChecks/DisallowElementNSTest.php b/tests/Configurator/TemplateChecks/DisallowElementNSTest.php
index 403384fd16..fd0b668515 100644
--- a/tests/Configurator/TemplateChecks/DisallowElementNSTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowElementNSTest.php
@@ -28,11 +28,12 @@ protected function loadTemplate($template)
/**
* @testdox DisallowElementNS('http://www.w3.org/2000/svg', 'svg') disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Element 'svg:svg' is disallowed
*/
public function testDisallowed()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Element 'svg:svg' is disallowed");
+
$node = $this->loadTemplate('');
try
@@ -54,11 +55,12 @@ public function testDisallowed()
/**
* @testdox DisallowElementNS('http://www.w3.org/2000/svg', 'svg') disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Element 'svg' is disallowed
*/
public function testDisallowedDefaultNS()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Element 'svg' is disallowed");
+
$node = $this->loadTemplate('');
try
@@ -80,6 +82,7 @@ public function testDisallowedDefaultNS()
/**
* @testdox DisallowElementNS('urn:foo', 'script') allows
+ * @doesNotPerformAssertions
*/
public function testAllowed()
{
diff --git a/tests/Configurator/TemplateChecks/DisallowElementTest.php b/tests/Configurator/TemplateChecks/DisallowElementTest.php
index 0c5cb14e01..56a8431c30 100644
--- a/tests/Configurator/TemplateChecks/DisallowElementTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowElementTest.php
@@ -29,11 +29,12 @@ protected function loadTemplate($template)
/**
* @testdox DisallowElement('script') disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Element 'script' is disallowed
*/
public function testDisallowed()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Element 'script' is disallowed");
+
$node = $this->loadTemplate('');
try
@@ -55,11 +56,12 @@ public function testDisallowed()
/**
* @testdox DisallowElement('svg') disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Element 'svg' is disallowed
*/
public function testDisallowedNS()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Element 'svg' is disallowed");
+
$node = $this->loadTemplate('');
try
@@ -81,6 +83,7 @@ public function testDisallowedNS()
/**
* @testdox DisallowElement('script') allows
+ * @doesNotPerformAssertions
*/
public function testAllowed()
{
@@ -92,11 +95,12 @@ public function testAllowed()
/**
* @testdox DisallowElement('script') disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Element 'script' is disallowed
*/
public function testDisallowedUppercase()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Element 'script' is disallowed");
+
$node = $this->loadTemplate('');
try
@@ -118,11 +122,12 @@ public function testDisallowedUppercase()
/**
* @testdox DisallowElement('script') disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Element 'script' is disallowed
*/
public function testDisallowedDynamic()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Element 'script' is disallowed");
+
$node = $this->loadTemplate('');
try
diff --git a/tests/Configurator/TemplateChecks/DisallowFlashFullScreenTest.php b/tests/Configurator/TemplateChecks/DisallowFlashFullScreenTest.php
index 5cc6738125..6e8294019c 100644
--- a/tests/Configurator/TemplateChecks/DisallowFlashFullScreenTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowFlashFullScreenTest.php
@@ -29,11 +29,12 @@ protected function loadTemplate($template)
/**
* @testdox Disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowFullScreen setting 'true' exceeds restricted value 'false'
*/
public function test1a()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowFullScreen setting 'true' exceeds restricted value 'false'");
+
$node = $this->loadTemplate('');
try
@@ -55,6 +56,7 @@ public function test1a()
/**
* @testdox Allows
+ * @doesNotPerformAssertions
*/
public function test1b()
{
@@ -65,6 +67,7 @@ public function test1b()
/**
* @testdox Allows
+ * @doesNotPerformAssertions
*/
public function test1d()
{
@@ -75,11 +78,12 @@ public function test1d()
/**
* @testdox Disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Unknown allowFullScreen value 'unknown'
*/
public function test1e()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Unknown allowFullScreen value 'unknown'");
+
$node = $this->loadTemplate('');
try
@@ -101,11 +105,12 @@ public function test1e()
/**
* @testdox Disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess allowFullScreen setting '{@foo}'
+@foo}'
*/
public function test1f()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess allowFullScreen setting '{");
$node = $this->loadTemplate('');
try
@@ -127,11 +132,12 @@ public function test1f()
/**
* @testdox Disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of dynamic attributes
*/
public function test3()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Cannot assess the safety of dynamic attributes');
+
$node = $this->loadTemplate('');
try
@@ -153,11 +159,12 @@ public function test3()
/**
* @testdox Disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowFullScreen setting 'true' exceeds restricted value 'false'
*/
public function test4a()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowFullScreen setting 'true' exceeds restricted value 'false'");
+
$node = $this->loadTemplate('');
try
@@ -179,6 +186,7 @@ public function test4a()
/**
* @testdox Allows
+ * @doesNotPerformAssertions
*/
public function test4b()
{
@@ -189,6 +197,7 @@ public function test4b()
/**
* @testdox Allows
+ * @doesNotPerformAssertions
*/
public function test4d()
{
@@ -199,11 +208,12 @@ public function test4d()
/**
* @testdox Disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Unknown allowFullScreen value 'unknown'
*/
public function test4e()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Unknown allowFullScreen value 'unknown'");
+
$node = $this->loadTemplate('');
try
@@ -225,11 +235,12 @@ public function test4e()
/**
* @testdox Disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess allowFullScreen setting '{@foo}'
+@foo}'
*/
public function test4f()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess allowFullScreen setting '{");
$node = $this->loadTemplate('');
try
@@ -251,11 +262,12 @@ public function test4f()
/**
* @testdox Disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of dynamic attributes
*/
public function test7()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Cannot assess the safety of dynamic attributes');
+
$node = $this->loadTemplate('');
try
@@ -277,6 +289,7 @@ public function test7()
/**
* @testdox DisallowFlashFullScreen(true) allows
+ * @doesNotPerformAssertions
*/
public function test8a()
{
@@ -287,11 +300,12 @@ public function test8a()
/**
* @testdox DisallowFlashFullScreen(false) disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowFullScreen setting 'true' exceeds restricted value 'false'
*/
public function test8b()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowFullScreen setting 'true' exceeds restricted value 'false'");
+
$node = $this->loadTemplate('');
try
@@ -313,11 +327,12 @@ public function test8b()
/**
* @testdox DisallowFlashFullScreen(true) disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowFullScreen setting 'true' exceeds restricted value 'false'
*/
public function test8c()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowFullScreen setting 'true' exceeds restricted value 'false'");
+
$node = $this->loadTemplate('');
try
@@ -339,11 +354,12 @@ public function test8c()
/**
* @testdox DisallowFlashFullScreen(true) disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowFullScreen setting 'true' exceeds restricted value 'false'
*/
public function test8d()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowFullScreen setting 'true' exceeds restricted value 'false'");
+
$node = $this->loadTemplate('');
try
@@ -365,6 +381,7 @@ public function test8d()
/**
* @testdox DisallowFlashFullScreen(true) allows
+ * @doesNotPerformAssertions
*/
public function test9a()
{
@@ -375,11 +392,12 @@ public function test9a()
/**
* @testdox DisallowFlashFullScreen(false) disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowFullScreen setting 'true' exceeds restricted value 'false'
*/
public function test9b()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowFullScreen setting 'true' exceeds restricted value 'false'");
+
$node = $this->loadTemplate('');
try
@@ -401,11 +419,12 @@ public function test9b()
/**
* @testdox DisallowFlashFullScreen(true) disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowFullScreen setting 'true' exceeds restricted value 'false'
*/
public function test9c()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowFullScreen setting 'true' exceeds restricted value 'false'");
+
$node = $this->loadTemplate('');
try
@@ -427,11 +446,12 @@ public function test9c()
/**
* @testdox DisallowFlashFullScreen(true) disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowFullScreen setting 'true' exceeds restricted value 'false'
*/
public function test9d()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowFullScreen setting 'true' exceeds restricted value 'false'");
+
$node = $this->loadTemplate('');
try
diff --git a/tests/Configurator/TemplateChecks/DisallowNodeByXPathTest.php b/tests/Configurator/TemplateChecks/DisallowNodeByXPathTest.php
index b4fb1042e4..6d451937ae 100644
--- a/tests/Configurator/TemplateChecks/DisallowNodeByXPathTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowNodeByXPathTest.php
@@ -28,11 +28,12 @@ protected function loadTemplate($template)
/**
* @testdox '//script[@src]' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Node 'script' is disallowed because it matches '//script[@src]'
*/
public function testDisallowed()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Node 'script' is disallowed because it matches '//script[@src]'");
+
$node = $this->loadTemplate('');
try
@@ -54,6 +55,7 @@ public function testDisallowed()
/**
* @testdox '//script[@src]' allows
+ * @doesNotPerformAssertions
*/
public function testAllowed()
{
diff --git a/tests/Configurator/TemplateChecks/DisallowObjectParamsWithGeneratedNameTest.php b/tests/Configurator/TemplateChecks/DisallowObjectParamsWithGeneratedNameTest.php
index fa4ead1828..c9a22d635f 100644
--- a/tests/Configurator/TemplateChecks/DisallowObjectParamsWithGeneratedNameTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowObjectParamsWithGeneratedNameTest.php
@@ -28,6 +28,7 @@ protected function loadTemplate($template)
/**
* @testdox Allowed:
+ * @doesNotPerformAssertions
*/
public function testAllowed()
{
@@ -39,11 +40,12 @@ public function testAllowed()
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage A 'param' element with a suspect name has been found
*/
public function testDisallowedInline()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("A 'param' element with a suspect name has been found");
+
$node = $this->loadTemplate('');
try
@@ -65,11 +67,12 @@ public function testDisallowedInline()
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage A 'param' element with a suspect name has been found
*/
public function testDisallowedGenerated()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("A 'param' element with a suspect name has been found");
+
$node = $this->loadTemplate('');
try
diff --git a/tests/Configurator/TemplateChecks/DisallowPHPTagsTest.php b/tests/Configurator/TemplateChecks/DisallowPHPTagsTest.php
index eb838e478a..aff804aeac 100644
--- a/tests/Configurator/TemplateChecks/DisallowPHPTagsTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowPHPTagsTest.php
@@ -28,11 +28,12 @@ protected function loadTemplate($template)
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage PHP tags are not allowed in the template
*/
public function testTemplate()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('PHP tags are not allowed in the template');
+
$node = $this->loadTemplate('');
try
@@ -54,11 +55,12 @@ public function testTemplate()
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage PHP tags are not allowed in the template
*/
public function testTemplateCase()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('PHP tags are not allowed in the template');
+
$node = $this->loadTemplate('');
try
@@ -80,11 +82,12 @@ public function testTemplateCase()
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage PHP tags are not allowed in the output
*/
public function testOutput()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('PHP tags are not allowed in the output');
+
$node = $this->loadTemplate('');
try
@@ -106,11 +109,12 @@ public function testOutput()
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage PHP tags are not allowed in the output
*/
public function testOutputCase()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('PHP tags are not allowed in the output');
+
$node = $this->loadTemplate('');
try
@@ -132,11 +136,12 @@ public function testOutputCase()
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Dynamic processing instructions are not allowed
*/
public function testDynamic()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Dynamic processing instructions are not allowed');
+
$node = $this->loadTemplate('');
try
@@ -158,6 +163,7 @@ public function testDynamic()
/**
* @testdox Allowed:
+ * @doesNotPerformAssertions
*/
public function testAllowedTemplate()
{
@@ -168,6 +174,7 @@ public function testAllowedTemplate()
/**
* @testdox Allowed:
+ * @doesNotPerformAssertions
*/
public function testAllowedOutput()
{
@@ -178,6 +185,7 @@ public function testAllowedOutput()
/**
* @testdox Allowed:
+ * @doesNotPerformAssertions
*/
public function testAllowedScript()
{
@@ -188,11 +196,12 @@ public function testAllowedScript()
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage PHP tags are not allowed in the template
*/
public function testDisallowedScript()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('PHP tags are not allowed in the template');
+
$node = $this->loadTemplate('');
try
@@ -214,11 +223,12 @@ public function testDisallowedScript()
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage PHP tags are not allowed in the template
*/
public function testDisallowedScriptCaseInsensitive()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('PHP tags are not allowed in the template');
+
$node = $this->loadTemplate('');
try
diff --git a/tests/Configurator/TemplateChecks/DisallowUnsafeCopyOfTest.php b/tests/Configurator/TemplateChecks/DisallowUnsafeCopyOfTest.php
index ca7eeb814d..fd0f260c0a 100644
--- a/tests/Configurator/TemplateChecks/DisallowUnsafeCopyOfTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowUnsafeCopyOfTest.php
@@ -28,6 +28,7 @@ protected function loadTemplate($template)
/**
* @testdox Allowed:
+ * @doesNotPerformAssertions
*/
public function testAllowed()
{
@@ -39,6 +40,7 @@ public function testAllowed()
/**
* @testdox Allowed:
+ * @doesNotPerformAssertions
*/
public function testAllowedDash()
{
@@ -50,6 +52,7 @@ public function testAllowedDash()
/**
* @testdox Allowed:
+ * @doesNotPerformAssertions
*/
public function testAllowedMultipleAttributes()
{
@@ -61,11 +64,12 @@ public function testAllowedMultipleAttributes()
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of 'xsl:copy-of' select expression 'FOO'
*/
public function testDisallowed()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of 'xsl:copy-of' select expression 'FOO'");
+
$node = $this->loadTemplate('');
try
diff --git a/tests/Configurator/TemplateChecks/DisallowUnsafeDynamicCSSTest.php b/tests/Configurator/TemplateChecks/DisallowUnsafeDynamicCSSTest.php
index b497b08f8a..3b982712dc 100644
--- a/tests/Configurator/TemplateChecks/DisallowUnsafeDynamicCSSTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowUnsafeDynamicCSSTest.php
@@ -30,6 +30,7 @@ protected function loadTemplate($template)
/**
* @testdox Allowed:
+ * @doesNotPerformAssertions
*/
public function testAllowedStaticElement()
{
@@ -41,6 +42,7 @@ public function testAllowedStaticElement()
/**
* @testdox Allowed: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedStaticAttribute()
{
@@ -52,6 +54,7 @@ public function testAllowedStaticAttribute()
/**
* @testdox Allowed if #color: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedDynamic()
{
@@ -66,11 +69,12 @@ public function testAllowedDynamic()
/**
* @testdox Disallowed if unknown: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'foo'
*/
public function testDisallowedUnknown()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'foo'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -94,11 +98,12 @@ public function testDisallowedUnknown()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'foo' is not properly sanitized to be used in this context
*/
public function testDisallowedUnfiltered()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'foo' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -123,11 +128,12 @@ public function testDisallowedUnfiltered()
/**
* @testdox Disallowed: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of expression '.'
*/
public function testDisallowedDot()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of expression '.'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -151,6 +157,7 @@ public function testDisallowedDot()
/**
* @testdox Allowed if #color: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedCopyOf()
{
@@ -165,11 +172,12 @@ public function testAllowedCopyOf()
/**
* @testdox Disallowed if unknown: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'style'
*/
public function testDisallowedUnknownCopyOf()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'style'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -193,11 +201,12 @@ public function testDisallowedUnknownCopyOf()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'style' is not properly sanitized to be used in this context
*/
public function testDisallowedUnfilteredCopyOf()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'style' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -222,6 +231,7 @@ public function testDisallowedUnfilteredCopyOf()
/**
* @testdox Allowed if #color: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedValueOf()
{
@@ -236,11 +246,12 @@ public function testAllowedValueOf()
/**
* @testdox Disallowed if unknown: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'foo'
*/
public function testDisallowedUnknownValueOf()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'foo'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -264,11 +275,12 @@ public function testDisallowedUnknownValueOf()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'foo' is not properly sanitized to be used in this context
*/
public function testDisallowedUnfilteredValueOf()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'foo' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -293,11 +305,12 @@ public function testDisallowedUnfilteredValueOf()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of expression '.'
*/
public function testDisallowedValueOfDot()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of expression '.'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -321,11 +334,12 @@ public function testDisallowedValueOfDot()
/**
* @testdox Disallowed: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot allow unfiltered data in this context
*/
public function testDisallowedApplyTemplates()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Cannot allow unfiltered data in this context');
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -349,11 +363,12 @@ public function testDisallowedApplyTemplates()
/**
* @testdox Disallowed: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess context due to 'xsl:for-each'
*/
public function testUnsafeContext()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess context due to 'xsl:for-each'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -377,6 +392,7 @@ public function testUnsafeContext()
/**
* @testdox Allowed: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedNumeric()
{
diff --git a/tests/Configurator/TemplateChecks/DisallowUnsafeDynamicJSTest.php b/tests/Configurator/TemplateChecks/DisallowUnsafeDynamicJSTest.php
index 5e65253d71..a510827685 100644
--- a/tests/Configurator/TemplateChecks/DisallowUnsafeDynamicJSTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowUnsafeDynamicJSTest.php
@@ -30,6 +30,7 @@ protected function loadTemplate($template)
/**
* @testdox Allowed:
+ * @doesNotPerformAssertions
*/
public function testAllowedStaticElement()
{
@@ -41,6 +42,7 @@ public function testAllowedStaticElement()
/**
* @testdox Allowed: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedStaticAttribute()
{
@@ -52,6 +54,7 @@ public function testAllowedStaticAttribute()
/**
* @testdox Allowed if #number: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedDynamic()
{
@@ -66,11 +69,12 @@ public function testAllowedDynamic()
/**
* @testdox Disallowed if unknown: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'foo'
*/
public function testDisallowedUnknown()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'foo'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -94,11 +98,12 @@ public function testDisallowedUnknown()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'foo' is not properly sanitized to be used in this context
*/
public function testDisallowedUnfiltered()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'foo' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -123,11 +128,12 @@ public function testDisallowedUnfiltered()
/**
* @testdox Disallowed: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of expression '.'
*/
public function testDisallowedDot()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of expression '.'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -151,6 +157,7 @@ public function testDisallowedDot()
/**
* @testdox Allowed if #number: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedCopyOf()
{
@@ -165,11 +172,12 @@ public function testAllowedCopyOf()
/**
* @testdox Disallowed if unknown: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'onclick'
*/
public function testDisallowedUnknownCopyOf()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'onclick'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -193,11 +201,12 @@ public function testDisallowedUnknownCopyOf()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'onclick' is not properly sanitized to be used in this context
*/
public function testDisallowedUnfilteredCopyOf()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'onclick' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -222,6 +231,7 @@ public function testDisallowedUnfilteredCopyOf()
/**
* @testdox Allowed if #number: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedValueOf()
{
@@ -236,11 +246,12 @@ public function testAllowedValueOf()
/**
* @testdox Disallowed if unknown: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'foo'
*/
public function testDisallowedUnknownValueOf()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'foo'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -264,11 +275,12 @@ public function testDisallowedUnknownValueOf()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'foo' is not properly sanitized to be used in this context
*/
public function testDisallowedUnfilteredValueOf()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'foo' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -293,11 +305,12 @@ public function testDisallowedUnfilteredValueOf()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of expression '.'
*/
public function testDisallowedValueOfDot()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of expression '.'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -321,11 +334,12 @@ public function testDisallowedValueOfDot()
/**
* @testdox Disallowed: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot allow unfiltered data in this context
*/
public function testDisallowedApplyTemplates()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Cannot allow unfiltered data in this context');
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -349,11 +363,12 @@ public function testDisallowedApplyTemplates()
/**
* @testdox Disallowed: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess context due to 'xsl:for-each'
*/
public function testUnsafeContext()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess context due to 'xsl:for-each'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -377,6 +392,7 @@ public function testUnsafeContext()
/**
* @testdox Allowed: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedNumeric()
{
diff --git a/tests/Configurator/TemplateChecks/DisallowUnsafeDynamicURLTest.php b/tests/Configurator/TemplateChecks/DisallowUnsafeDynamicURLTest.php
index 8eba46df29..0599eda9c1 100644
--- a/tests/Configurator/TemplateChecks/DisallowUnsafeDynamicURLTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowUnsafeDynamicURLTest.php
@@ -30,6 +30,7 @@ protected function loadTemplate($template)
/**
* @testdox Allowed: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedStaticAttribute()
{
@@ -41,6 +42,7 @@ public function testAllowedStaticAttribute()
/**
* @testdox Allowed if #url: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedDynamic()
{
@@ -55,6 +57,7 @@ public function testAllowedDynamic()
/**
* @testdox Allowed even if unknown: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedAnchoredScheme()
{
@@ -66,6 +69,7 @@ public function testAllowedAnchoredScheme()
/**
* @testdox Allowed even if unknown: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedAnchoredSchemeless()
{
@@ -77,6 +81,7 @@ public function testAllowedAnchoredSchemeless()
/**
* @testdox Allowed even if unknown: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedAnchoredLocalPart()
{
@@ -88,6 +93,7 @@ public function testAllowedAnchoredLocalPart()
/**
* @testdox Allowed even if unknown: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedAnchoredFragment()
{
@@ -99,11 +105,12 @@ public function testAllowedAnchoredFragment()
/**
* @testdox Disallowed if unknown: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'foo'
*/
public function testDisallowedUnknown()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'foo'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -127,11 +134,12 @@ public function testDisallowedUnknown()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'foo' is not properly sanitized to be used in this context
*/
public function testDisallowedUnfiltered()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'foo' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -156,11 +164,12 @@ public function testDisallowedUnfiltered()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'foo' is not properly sanitized to be used in this context
*/
public function testDisallowedUnfilteredJavaScript()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'foo' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -185,11 +194,12 @@ public function testDisallowedUnfilteredJavaScript()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'foo' is not properly sanitized to be used in this context
*/
public function testDisallowedUnfilteredJavaScriptCase()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'foo' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -214,11 +224,12 @@ public function testDisallowedUnfilteredJavaScriptCase()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'foo' is not properly sanitized to be used in this context
*/
public function testDisallowedUnfilteredJavaScriptTab()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'foo' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate("...");
$tag = new Tag;
@@ -243,11 +254,12 @@ public function testDisallowedUnfilteredJavaScriptTab()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'foo' is not properly sanitized to be used in this context
*/
public function testDisallowedUnfilteredVbcript()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'foo' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -272,11 +284,12 @@ public function testDisallowedUnfilteredVbcript()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'foo' is not properly sanitized to be used in this context
*/
public function testDisallowedUnfilteredData()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'foo' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -301,11 +314,12 @@ public function testDisallowedUnfilteredData()
/**
* @testdox Disallowed: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of expression '.'
*/
public function testDisallowedDot()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of expression '.'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -329,6 +343,7 @@ public function testDisallowedDot()
/**
* @testdox Allowed if #url: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedCopyOf()
{
@@ -343,11 +358,12 @@ public function testAllowedCopyOf()
/**
* @testdox Disallowed if unknown: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'href'
*/
public function testDisallowedUnknownCopyOf()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'href'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -371,11 +387,12 @@ public function testDisallowedUnknownCopyOf()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'href' is not properly sanitized to be used in this context
*/
public function testDisallowedUnfilteredCopyOf()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'href' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -400,6 +417,7 @@ public function testDisallowedUnfilteredCopyOf()
/**
* @testdox Allowed if #url: ...
+ * @doesNotPerformAssertions
*/
public function testAllowedValueOf()
{
@@ -414,11 +432,12 @@ public function testAllowedValueOf()
/**
* @testdox Disallowed if unknown: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'foo'
*/
public function testDisallowedUnknownValueOf()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'foo'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -442,6 +461,7 @@ public function testDisallowedUnknownValueOf()
/**
* @testdox Allowed even if unknown: http://...
+ * @doesNotPerformAssertions
*/
public function testAllowedValueOfAnchored()
{
@@ -453,11 +473,12 @@ public function testAllowedValueOfAnchored()
/**
* @testdox Disallowed if unknown: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of unknown attribute 'foo'
*/
public function testDisallowedUnknownValueOfJavaScript()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of unknown attribute 'foo'");
+
$node = $this->loadTemplate('javascript:...');
$tag = new Tag;
@@ -481,11 +502,12 @@ public function testDisallowedUnknownValueOfJavaScript()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Attribute 'foo' is not properly sanitized to be used in this context
*/
public function testDisallowedUnfilteredValueOf()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Attribute 'foo' is not properly sanitized to be used in this context");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -510,11 +532,12 @@ public function testDisallowedUnfilteredValueOf()
/**
* @testdox Disallowed if unfiltered: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of expression '.'
*/
public function testDisallowedValueOfDot()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess the safety of expression '.'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -538,11 +561,12 @@ public function testDisallowedValueOfDot()
/**
* @testdox Disallowed: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot allow unfiltered data in this context
*/
public function testDisallowedApplyTemplates()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Cannot allow unfiltered data in this context');
+
$node = $this->loadTemplate('...');
$tag = new Tag;
@@ -566,11 +590,12 @@ public function testDisallowedApplyTemplates()
/**
* @testdox Disallowed: ...
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess context due to 'xsl:for-each'
*/
public function testUnsafeContext()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess context due to 'xsl:for-each'");
+
$node = $this->loadTemplate('...');
$tag = new Tag;
diff --git a/tests/Configurator/TemplateChecks/DisallowXPathFunctionTest.php b/tests/Configurator/TemplateChecks/DisallowXPathFunctionTest.php
index 152589b38a..e410b73886 100644
--- a/tests/Configurator/TemplateChecks/DisallowXPathFunctionTest.php
+++ b/tests/Configurator/TemplateChecks/DisallowXPathFunctionTest.php
@@ -28,11 +28,12 @@ protected function loadTemplate($template)
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage An XPath expression uses the document() function
*/
public function test1()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('An XPath expression uses the document() function');
+
$node = $this->loadTemplate('');
try
@@ -54,11 +55,12 @@ public function test1()
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage An XPath expression uses the php:function() function
*/
public function test1b()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('An XPath expression uses the php:function() function');
+
$node = $this->loadTemplate('');
try
@@ -80,11 +82,12 @@ public function test1b()
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage An XPath expression uses the php:function() function
*/
public function test1c()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('An XPath expression uses the php:function() function');
+
$node = $this->loadTemplate('');
try
@@ -106,11 +109,12 @@ public function test1c()
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage An XPath expression uses the document() function
*/
public function test2()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('An XPath expression uses the document() function');
+
$node = $this->loadTemplate('');
try
@@ -132,11 +136,12 @@ public function test2()
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage An XPath expression uses the document() function
*/
public function test3()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('An XPath expression uses the document() function');
+
$node = $this->loadTemplate('');
try
@@ -158,11 +163,12 @@ public function test3()
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage An XPath expression uses the document() function
*/
public function test4()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('An XPath expression uses the document() function');
+
$node = $this->loadTemplate('');
try
@@ -184,11 +190,12 @@ public function test4()
/**
* @testdox Disallowed:
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage An XPath expression uses the document() function
*/
public function test5()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('An XPath expression uses the document() function');
+
$node = $this->loadTemplate('');
try
@@ -210,6 +217,7 @@ public function test5()
/**
* @testdox Allowed:
+ * @doesNotPerformAssertions
*/
public function test6()
{
@@ -221,6 +229,7 @@ public function test6()
/**
* @testdox Allowed:
+ * @doesNotPerformAssertions
*/
public function test7()
{
diff --git a/tests/Configurator/TemplateChecks/RestrictFlashNetworkingTest.php b/tests/Configurator/TemplateChecks/RestrictFlashNetworkingTest.php
index 9ef7b986ab..ba7e4c87ad 100644
--- a/tests/Configurator/TemplateChecks/RestrictFlashNetworkingTest.php
+++ b/tests/Configurator/TemplateChecks/RestrictFlashNetworkingTest.php
@@ -29,11 +29,12 @@ protected function loadTemplate($template)
/**
* @testdox 'internal' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowNetworking setting 'all' exceeds restricted value 'internal'
*/
public function test1a()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowNetworking setting 'all' exceeds restricted value 'internal'");
+
$node = $this->loadTemplate('');
try
@@ -55,6 +56,7 @@ public function test1a()
/**
* @testdox 'internal' allows
+ * @doesNotPerformAssertions
*/
public function test1b()
{
@@ -65,6 +67,7 @@ public function test1b()
/**
* @testdox 'internal' allows
+ * @doesNotPerformAssertions
*/
public function test1c()
{
@@ -75,11 +78,12 @@ public function test1c()
/**
* @testdox 'internal' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowNetworking setting 'all' exceeds restricted value 'internal'
*/
public function test1d()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowNetworking setting 'all' exceeds restricted value 'internal'");
+
$node = $this->loadTemplate('');
try
@@ -101,11 +105,12 @@ public function test1d()
/**
* @testdox 'internal' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Unknown allowNetworking value 'unknown'
*/
public function test1e()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Unknown allowNetworking value 'unknown'");
+
$node = $this->loadTemplate('');
try
@@ -127,11 +132,12 @@ public function test1e()
/**
* @testdox 'internal' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess allowNetworking setting '{@foo}'
+@foo}'
*/
public function test1f()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess allowNetworking setting '{");
$node = $this->loadTemplate('');
try
@@ -153,11 +159,12 @@ public function test1f()
/**
* @testdox 'none' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowNetworking setting 'all' exceeds restricted value 'none'
*/
public function test2a()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowNetworking setting 'all' exceeds restricted value 'none'");
+
$node = $this->loadTemplate('');
try
@@ -179,11 +186,12 @@ public function test2a()
/**
* @testdox 'none' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowNetworking setting 'internal' exceeds restricted value 'none'
*/
public function test2b()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowNetworking setting 'internal' exceeds restricted value 'none'");
+
$node = $this->loadTemplate('');
try
@@ -205,6 +213,7 @@ public function test2b()
/**
* @testdox 'none' allows
+ * @doesNotPerformAssertions
*/
public function test2c()
{
@@ -215,11 +224,12 @@ public function test2c()
/**
* @testdox 'none' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowNetworking setting 'internal' exceeds restricted value 'none'
*/
public function test2d()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowNetworking setting 'internal' exceeds restricted value 'none'");
+
$node = $this->loadTemplate('');
try
@@ -241,11 +251,12 @@ public function test2d()
/**
* @testdox 'internal' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of dynamic attributes
*/
public function test3()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Cannot assess the safety of dynamic attributes');
+
$node = $this->loadTemplate('');
try
@@ -267,11 +278,12 @@ public function test3()
/**
* @testdox 'internal' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowNetworking setting 'all' exceeds restricted value 'internal'
*/
public function test4a()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowNetworking setting 'all' exceeds restricted value 'internal'");
+
$node = $this->loadTemplate('');
try
@@ -293,6 +305,7 @@ public function test4a()
/**
* @testdox 'internal' allows if onlyIfDynamic is TRUE
+ * @doesNotPerformAssertions
*/
public function test4aIfDynamic()
{
@@ -304,6 +317,7 @@ public function test4aIfDynamic()
/**
* @testdox 'internal' allows
+ * @doesNotPerformAssertions
*/
public function test4b()
{
@@ -314,6 +328,7 @@ public function test4b()
/**
* @testdox 'internal' allows
+ * @doesNotPerformAssertions
*/
public function test4c()
{
@@ -324,11 +339,12 @@ public function test4c()
/**
* @testdox 'internal' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowNetworking setting 'all' exceeds restricted value 'internal'
*/
public function test4d()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowNetworking setting 'all' exceeds restricted value 'internal'");
+
$node = $this->loadTemplate('');
try
@@ -350,11 +366,12 @@ public function test4d()
/**
* @testdox 'internal' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Unknown allowNetworking value 'unknown'
*/
public function test4e()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Unknown allowNetworking value 'unknown'");
+
$node = $this->loadTemplate('');
try
@@ -376,11 +393,12 @@ public function test4e()
/**
* @testdox 'internal' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess allowNetworking setting '{@foo}'
+@foo}'
*/
public function test4f()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess allowNetworking setting '{");
$node = $this->loadTemplate('');
try
@@ -402,11 +420,12 @@ public function test4f()
/**
* @testdox 'internal' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowNetworking setting 'all' exceeds restricted value 'internal'
*/
public function test5a()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowNetworking setting 'all' exceeds restricted value 'internal'");
+
$node = $this->loadTemplate('');
try
@@ -428,6 +447,7 @@ public function test5a()
/**
* @testdox 'internal' allows
+ * @doesNotPerformAssertions
*/
public function test5b()
{
@@ -438,6 +458,7 @@ public function test5b()
/**
* @testdox 'internal' allows
+ * @doesNotPerformAssertions
*/
public function test5c()
{
@@ -448,11 +469,12 @@ public function test5c()
/**
* @testdox 'internal' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Unknown allowNetworking value 'unknown'
*/
public function test5e()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Unknown allowNetworking value 'unknown'");
+
$node = $this->loadTemplate('');
try
@@ -474,11 +496,12 @@ public function test5e()
/**
* @testdox 'none' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowNetworking setting 'all' exceeds restricted value 'none'
*/
public function test6()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowNetworking setting 'all' exceeds restricted value 'none'");
+
$node = $this->loadTemplate('');
try
@@ -500,11 +523,12 @@ public function test6()
/**
* @testdox 'none' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of dynamic attributes
*/
public function test7()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Cannot assess the safety of dynamic attributes');
+
$node = $this->loadTemplate('');
try
@@ -526,6 +550,7 @@ public function test7()
/**
* @testdox 'none',true allows
+ * @doesNotPerformAssertions
*/
public function test8a()
{
@@ -536,11 +561,12 @@ public function test8a()
/**
* @testdox 'none',false disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowNetworking setting 'all' exceeds restricted value 'none'
*/
public function test8b()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowNetworking setting 'all' exceeds restricted value 'none'");
+
$node = $this->loadTemplate('');
try
@@ -562,11 +588,12 @@ public function test8b()
/**
* @testdox 'none',true disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowNetworking setting 'all' exceeds restricted value 'none'
*/
public function test8c()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowNetworking setting 'all' exceeds restricted value 'none'");
+
$node = $this->loadTemplate('');
try
@@ -588,11 +615,12 @@ public function test8c()
/**
* @testdox 'none',true disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowNetworking setting 'all' exceeds restricted value 'none'
*/
public function test8d()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowNetworking setting 'all' exceeds restricted value 'none'");
+
$node = $this->loadTemplate('');
try
@@ -614,6 +642,7 @@ public function test8d()
/**
* @testdox 'none',true allows
+ * @doesNotPerformAssertions
*/
public function test9a()
{
@@ -624,11 +653,12 @@ public function test9a()
/**
* @testdox 'none',false disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowNetworking setting 'all' exceeds restricted value 'none'
*/
public function test9b()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowNetworking setting 'all' exceeds restricted value 'none'");
+
$node = $this->loadTemplate('');
try
@@ -650,11 +680,12 @@ public function test9b()
/**
* @testdox 'none',true disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowNetworking setting 'all' exceeds restricted value 'none'
*/
public function test9c()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowNetworking setting 'all' exceeds restricted value 'none'");
+
$node = $this->loadTemplate('');
try
@@ -676,11 +707,12 @@ public function test9c()
/**
* @testdox 'none',true disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowNetworking setting 'all' exceeds restricted value 'none'
*/
public function test9d()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowNetworking setting 'all' exceeds restricted value 'none'");
+
$node = $this->loadTemplate('');
try
diff --git a/tests/Configurator/TemplateChecks/RestrictFlashScriptAccessTest.php b/tests/Configurator/TemplateChecks/RestrictFlashScriptAccessTest.php
index b4e54dc70b..3994c391fc 100644
--- a/tests/Configurator/TemplateChecks/RestrictFlashScriptAccessTest.php
+++ b/tests/Configurator/TemplateChecks/RestrictFlashScriptAccessTest.php
@@ -29,11 +29,12 @@ protected function loadTemplate($template)
/**
* @testdox 'sameDomain' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowScriptAccess setting 'always' exceeds restricted value 'sameDomain'
*/
public function test1a()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowScriptAccess setting 'always' exceeds restricted value 'sameDomain'");
+
$node = $this->loadTemplate('');
try
@@ -55,6 +56,7 @@ public function test1a()
/**
* @testdox 'sameDomain' allows
+ * @doesNotPerformAssertions
*/
public function test1b()
{
@@ -65,6 +67,7 @@ public function test1b()
/**
* @testdox 'sameDomain' allows
+ * @doesNotPerformAssertions
*/
public function test1c()
{
@@ -75,6 +78,7 @@ public function test1c()
/**
* @testdox 'sameDomain' allows
+ * @doesNotPerformAssertions
*/
public function test1d()
{
@@ -85,11 +89,12 @@ public function test1d()
/**
* @testdox 'sameDomain' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Unknown allowScriptAccess value 'unknown'
*/
public function test1e()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Unknown allowScriptAccess value 'unknown'");
+
$node = $this->loadTemplate('');
try
@@ -111,11 +116,12 @@ public function test1e()
/**
* @testdox 'sameDomain' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess allowScriptAccess setting '{@foo}'
+@foo}'
*/
public function test1f()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess allowScriptAccess setting '{");
$node = $this->loadTemplate('');
try
@@ -137,11 +143,12 @@ public function test1f()
/**
* @testdox 'never' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowScriptAccess setting 'always' exceeds restricted value 'never'
*/
public function test2a()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowScriptAccess setting 'always' exceeds restricted value 'never'");
+
$node = $this->loadTemplate('');
try
@@ -163,11 +170,12 @@ public function test2a()
/**
* @testdox 'never' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'
*/
public function test2b()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'");
+
$node = $this->loadTemplate('');
try
@@ -189,6 +197,7 @@ public function test2b()
/**
* @testdox 'never' allows
+ * @doesNotPerformAssertions
*/
public function test2c()
{
@@ -199,11 +208,12 @@ public function test2c()
/**
* @testdox 'never' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'
*/
public function test2d()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'");
+
$node = $this->loadTemplate('');
try
@@ -225,11 +235,12 @@ public function test2d()
/**
* @testdox Disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of dynamic attributes
*/
public function test3()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Cannot assess the safety of dynamic attributes');
+
$node = $this->loadTemplate('');
try
@@ -251,11 +262,12 @@ public function test3()
/**
* @testdox 'sameDomain' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowScriptAccess setting 'always' exceeds restricted value 'sameDomain'
*/
public function test4a()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowScriptAccess setting 'always' exceeds restricted value 'sameDomain'");
+
$node = $this->loadTemplate('');
try
@@ -277,6 +289,7 @@ public function test4a()
/**
* @testdox 'sameDomain' allows
+ * @doesNotPerformAssertions
*/
public function test4b()
{
@@ -287,6 +300,7 @@ public function test4b()
/**
* @testdox 'sameDomain' allows
+ * @doesNotPerformAssertions
*/
public function test4c()
{
@@ -297,6 +311,7 @@ public function test4c()
/**
* @testdox 'sameDomain' allows
+ * @doesNotPerformAssertions
*/
public function test4d()
{
@@ -307,11 +322,12 @@ public function test4d()
/**
* @testdox 'sameDomain' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Unknown allowScriptAccess value 'unknown'
*/
public function test4e()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Unknown allowScriptAccess value 'unknown'");
+
$node = $this->loadTemplate('');
try
@@ -333,11 +349,12 @@ public function test4e()
/**
* @testdox 'sameDomain' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess allowScriptAccess setting '{@foo}'
+@foo}'
*/
public function test4f()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Cannot assess allowScriptAccess setting '{");
$node = $this->loadTemplate('');
try
@@ -359,11 +376,12 @@ public function test4f()
/**
* @testdox 'sameDomain' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowScriptAccess setting 'always' exceeds restricted value 'sameDomain'
*/
public function test5a()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowScriptAccess setting 'always' exceeds restricted value 'sameDomain'");
+
$node = $this->loadTemplate('');
try
@@ -385,6 +403,7 @@ public function test5a()
/**
* @testdox 'sameDomain' allows
+ * @doesNotPerformAssertions
*/
public function test5b()
{
@@ -395,6 +414,7 @@ public function test5b()
/**
* @testdox 'sameDomain' allows
+ * @doesNotPerformAssertions
*/
public function test5c()
{
@@ -405,6 +425,7 @@ public function test5c()
/**
* @testdox 'sameDomain' allows
+ * @doesNotPerformAssertions
*/
public function test5d()
{
@@ -415,11 +436,12 @@ public function test5d()
/**
* @testdox 'sameDomain' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Unknown allowScriptAccess value 'unknown'
*/
public function test5e()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("Unknown allowScriptAccess value 'unknown'");
+
$node = $this->loadTemplate('');
try
@@ -441,11 +463,12 @@ public function test5e()
/**
* @testdox 'never' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'
*/
public function test6()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'");
+
$node = $this->loadTemplate('');
try
@@ -467,11 +490,12 @@ public function test6()
/**
* @testdox 'never' disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage Cannot assess the safety of dynamic attributes
*/
public function test7()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage('Cannot assess the safety of dynamic attributes');
+
$node = $this->loadTemplate('');
try
@@ -493,6 +517,7 @@ public function test7()
/**
* @testdox 'never',true allows
+ * @doesNotPerformAssertions
*/
public function test8a()
{
@@ -503,11 +528,12 @@ public function test8a()
/**
* @testdox 'never',false disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'
*/
public function test8b()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'");
+
$node = $this->loadTemplate('');
try
@@ -529,11 +555,12 @@ public function test8b()
/**
* @testdox 'never',true disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'
*/
public function test8c()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'");
+
$node = $this->loadTemplate('');
try
@@ -555,11 +582,12 @@ public function test8c()
/**
* @testdox 'never',true disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'
*/
public function test8d()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'");
+
$node = $this->loadTemplate('');
try
@@ -581,6 +609,7 @@ public function test8d()
/**
* @testdox 'never',true allows
+ * @doesNotPerformAssertions
*/
public function test9a()
{
@@ -591,11 +620,12 @@ public function test9a()
/**
* @testdox 'never',false disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'
*/
public function test9b()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'");
+
$node = $this->loadTemplate('');
try
@@ -617,11 +647,12 @@ public function test9b()
/**
* @testdox 'never',true disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'
*/
public function test9c()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'");
+
$node = $this->loadTemplate('');
try
@@ -643,11 +674,12 @@ public function test9c()
/**
* @testdox 'never',true disallows
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
- * @expectedExceptionMessage allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'
*/
public function test9d()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+ $this->expectExceptionMessage("allowScriptAccess setting 'sameDomain' exceeds restricted value 'never'");
+
$node = $this->loadTemplate('');
try
diff --git a/tests/Configurator/TemplateNormalizations/AbstractNormalizationTest.php b/tests/Configurator/TemplateNormalizations/AbstractNormalizationTest.php
index 572cdaa840..2adccff07e 100644
--- a/tests/Configurator/TemplateNormalizations/AbstractNormalizationTest.php
+++ b/tests/Configurator/TemplateNormalizations/AbstractNormalizationTest.php
@@ -40,6 +40,7 @@ protected function getTemplateElement()
/**
* @testdox Nothing happens if the normalization doesn't override any method or set any query
+ * @doesNotPerformAssertions
*/
public function testNothingHappens()
{
@@ -49,6 +50,7 @@ public function testNothingHappens()
/**
* @testdox Nothing happens if the normalization doesn't override any method but set an element query
+ * @doesNotPerformAssertions
*/
public function testNothingHappensElement()
{
@@ -58,6 +60,7 @@ public function testNothingHappensElement()
/**
* @testdox Nothing happens if the normalization doesn't override any method but set an attribute query
+ * @doesNotPerformAssertions
*/
public function testNothingHappensAttribute()
{
diff --git a/tests/Configurator/TemplateNormalizations/AbstractTest.php b/tests/Configurator/TemplateNormalizations/AbstractTest.php
index 95b488cdf4..0bf87ade6b 100644
--- a/tests/Configurator/TemplateNormalizations/AbstractTest.php
+++ b/tests/Configurator/TemplateNormalizations/AbstractTest.php
@@ -28,7 +28,11 @@ public function test($template, $expected)
{
if ($expected instanceof Exception)
{
- $this->setExpectedException(get_class($expected), $expected->getMessage() ?: null);
+ $this->expectException(get_class($expected));
+ if ($expected->getMessage())
+ {
+ $this->expectExceptionMessage($expected->getMessage());
+ }
}
$xml = ''
diff --git a/tests/Configurator/TemplateNormalizations/MinifyXPathExpressionsTest.php b/tests/Configurator/TemplateNormalizations/MinifyXPathExpressionsTest.php
index 312c02a227..f31ee178bb 100644
--- a/tests/Configurator/TemplateNormalizations/MinifyXPathExpressionsTest.php
+++ b/tests/Configurator/TemplateNormalizations/MinifyXPathExpressionsTest.php
@@ -9,11 +9,12 @@ class MinifyXPathExpressionsTest extends AbstractTest
{
/**
* @testdox Throws an exception if a string isn't properly closed
- * @expectedException RuntimeException
- * @expectedExceptionMessage Cannot parse XPath expression 'foo = "bar'
*/
public function testInvalidXPath()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Cannot parse XPath expression 'foo = \"bar'");
+
$this->test('!', null);
}
diff --git a/tests/Configurator/Traits/CollectionProxyTest.php b/tests/Configurator/Traits/CollectionProxyTest.php
index 3db1354acd..0879bb01e3 100644
--- a/tests/Configurator/Traits/CollectionProxyTest.php
+++ b/tests/Configurator/Traits/CollectionProxyTest.php
@@ -17,7 +17,7 @@ class CollectionProxyTest extends Test
protected $mock;
protected $proxy;
- public function setUp()
+ protected function setUp(): void
{
$this->mock = $this->getMockBuilder(
's9e\\TextFormatter\\Configurator\\Collections\\NormalizedCollection'
diff --git a/tests/Configurator/Traits/ConfigurableTest.php b/tests/Configurator/Traits/ConfigurableTest.php
index a3f1ecb795..cd4fa0c70d 100644
--- a/tests/Configurator/Traits/ConfigurableTest.php
+++ b/tests/Configurator/Traits/ConfigurableTest.php
@@ -33,11 +33,12 @@ public function testMagicGet()
/**
* @testdox __get() throws a RuntimeException if the property does not exist
- * @expectedException RuntimeException
- * @expectedExceptionMessage Property 'inexistent' does not exist
*/
public function testMagicGetInexistent()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Property 'inexistent' does not exist");
+
$dummy = new ConfigurableTestDummy;
$dummy->inexistent;
}
@@ -102,11 +103,12 @@ public function testMagicSetChildObject()
/**
* @testdox __set() throws an exception if an instance of Foo would be replaced by an instance of Bar
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Cannot replace property 'fooObject' of class 's9e\TextFormatter\Tests\Configurator\Traits\Foo' with instance of 's9e\TextFormatter\Tests\Configurator\Traits\Bar'
*/
public function testMagicSetDifferentObject()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Cannot replace property 'fooObject' of class 's9e\\TextFormatter\\Tests\\Configurator\\Traits\\Foo' with instance of 's9e\\TextFormatter\\Tests\\Configurator\\Traits\\Bar'");
+
$dummy = new ConfigurableTestDummy;
$bar = new Bar;
@@ -159,11 +161,12 @@ public function testMagicSetBoolStringFalse()
/**
* @testdox __set() throws an exception if a scalar value would be overwritten by a scalar value that cannot be losslessly cast to the same type
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Cannot replace property 'int' of type integer with value of type string
*/
public function testMagicSetIncompatibleType()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Cannot replace property 'int' of type integer with value of type string");
+
$dummy = new ConfigurableTestDummy;
$dummy->int = "55!";
@@ -191,11 +194,12 @@ public function testMagicSetNormalizedCollection()
/**
* @testdox __set() throws an exception if a NormalizedCollection would be overwritten by a non-array, non-Traversable value
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Property 'collection' expects an array or a traversable object to be passed
*/
public function testMagicSetNonTraversable()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Property 'collection' expects an array or a traversable object to be passed");
+
$dummy = new ConfigurableTestDummy;
$dummy->collection = 1;
@@ -263,6 +267,7 @@ public function testMagicUnsetCollection()
/**
* @testdox __unset('foo') has no effect unsetFoo() does not exist and the the property is not set
+ * @doesNotPerformAssertions
*/
public function testMagicUnsetNone()
{
@@ -273,11 +278,12 @@ public function testMagicUnsetNone()
/**
* @testdox __unset('foo') throws an exception if unsetFoo() does not exist and the property is set
- * @expectedException RuntimeException
- * @expectedExceptionMessage Property 'notUnsettable' cannot be unset
*/
public function testMagicUnsetFail()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Property 'notUnsettable' cannot be unset");
+
$dummy = new ConfigurableTestDummy;
unset($dummy->notUnsettable);
diff --git a/tests/Configurator/UrlConfigTest.php b/tests/Configurator/UrlConfigTest.php
index b5222f46e1..618aca3dec 100644
--- a/tests/Configurator/UrlConfigTest.php
+++ b/tests/Configurator/UrlConfigTest.php
@@ -10,7 +10,7 @@
*/
class UrlConfigTest extends Test
{
- public function setUp()
+ protected function setUp(): void
{
$this->urlConfig = new UrlConfig;
}
@@ -40,7 +40,7 @@ public function testDisallowedIDNsArePunycoded()
$urlConfig = $this->urlConfig->asConfig();
$this->assertArrayHasKey('disallowedHosts', $urlConfig);
- $this->assertContains('xn--pypal-4ve\\.com', (string) $urlConfig['disallowedHosts']);
+ $this->assertStringContainsString('xn--pypal-4ve\\.com', (string) $urlConfig['disallowedHosts']);
}
/**
@@ -271,31 +271,34 @@ public function testAllowSchemeFTP()
/**
* @testdox allowScheme('') throws an exception
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid scheme name ''
*/
public function testInvalidAllowScheme()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid scheme name ''");
+
$this->urlConfig->allowScheme('');
}
/**
* @testdox allowScheme('javascript') throws an exception
- * @expectedException RuntimeException
- * @expectedExceptionMessage The JavaScript URL scheme cannot be allowed
*/
public function testAllowSchemeJavaScript()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('The JavaScript URL scheme cannot be allowed');
+
$this->urlConfig->allowScheme('javascript');
}
/**
* @testdox allowScheme('javaScript') throws an exception
- * @expectedException RuntimeException
- * @expectedExceptionMessage The JavaScript URL scheme cannot be allowed
*/
public function testAllowSchemeJavaScriptCase()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('The JavaScript URL scheme cannot be allowed');
+
$this->urlConfig->allowScheme('javaScript');
}
}
\ No newline at end of file
diff --git a/tests/Configurator/Validators/AttributeNameTest.php b/tests/Configurator/Validators/AttributeNameTest.php
index 2185cb4304..bcb5e7bceb 100644
--- a/tests/Configurator/Validators/AttributeNameTest.php
+++ b/tests/Configurator/Validators/AttributeNameTest.php
@@ -12,11 +12,12 @@ class AttributeNameTest extends Test
{
/**
* @testdox normalize() throws an InvalidArgumentException if the name is invalid
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid attribute name '*invalid*'
*/
public function testInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid attribute name '*invalid*'");
+
AttributeName::normalize('*invalid*');
}
diff --git a/tests/Configurator/Validators/TagNameTest.php b/tests/Configurator/Validators/TagNameTest.php
index d5e0610bf1..be12dc5cb9 100644
--- a/tests/Configurator/Validators/TagNameTest.php
+++ b/tests/Configurator/Validators/TagNameTest.php
@@ -12,11 +12,12 @@ class TagNameTest extends Test
{
/**
* @testdox normalize() throws an InvalidArgumentException if the name is invalid
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid tag name '*invalid*'
*/
public function testInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid tag name '*invalid*'");
+
TagName::normalize('*invalid*');
}
diff --git a/tests/Configurator/Validators/TemplateParameterNameTest.php b/tests/Configurator/Validators/TemplateParameterNameTest.php
index c261ab038c..ab5b7f3631 100644
--- a/tests/Configurator/Validators/TemplateParameterNameTest.php
+++ b/tests/Configurator/Validators/TemplateParameterNameTest.php
@@ -12,11 +12,12 @@ class TemplateParameterNameTest extends Test
{
/**
* @testdox normalize() throws an InvalidArgumentException if the name is invalid
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid parameter name '*invalid*'
*/
public function testInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Invalid parameter name '*invalid*'");
+
TemplateParameterName::normalize('*invalid*');
}
diff --git a/tests/ConfiguratorTest.php b/tests/ConfiguratorTest.php
index 261d0b0342..34c6a98085 100644
--- a/tests/ConfiguratorTest.php
+++ b/tests/ConfiguratorTest.php
@@ -84,7 +84,7 @@ public function testPluginsInstance()
*/
public function testRegisteredVarsVisibility()
{
- $this->assertInternalType('array', $this->configurator->registeredVars);
+ $this->assertIsArray($this->configurator->registeredVars);
}
/**
@@ -174,7 +174,7 @@ public function testAsConfigNoFinalize()
public function testAsConfigRootContext()
{
$config = $this->configurator->asConfig();
- $this->assertInternalType('array', $config);
+ $this->assertIsArray($config);
$this->assertArrayHasKey('rootContext', $config);
}
@@ -184,7 +184,7 @@ public function testAsConfigRootContext()
public function testAsConfigRegisteredVars()
{
$config = $this->configurator->asConfig();
- $this->assertInternalType('array', $config);
+ $this->assertIsArray($config);
$this->assertArrayHasKey('registeredVars', $config);
$this->assertArrayHasKey('urlConfig', $config['registeredVars']);
}
@@ -322,7 +322,7 @@ public function testAsConfigRemovesJavaScriptTagFilters()
$this->configurator->tags->add('A')->filterChain->append($pc);
$parser = $this->getParser();
- $tagsConfig = $this->readAttribute($parser, 'tagsConfig');
+ $tagsConfig = $this->getObjectProperty($parser, 'tagsConfig');
$this->assertArrayNotHasKey(
'js',
@@ -341,7 +341,7 @@ public function testAsConfigRemovesJavaScriptAttributeFilters()
$this->configurator->tags->add('A')->attributes->add('a')->filterChain->append($filter);
$parser = $this->getParser();
- $tagsConfig = $this->readAttribute($parser, 'tagsConfig');
+ $tagsConfig = $this->getObjectProperty($parser, 'tagsConfig');
$this->assertArrayNotHasKey(
'js',
@@ -419,11 +419,12 @@ public function testMagicGetVar()
/**
* @testdox $configurator->foo throws an exception if $configurator->registeredVars['foo'] does not exist
- * @expectedException RuntimeException
- * @expectedExceptionMessage Undefined property 's9e\TextFormatter\Configurator::$foo'
*/
public function testMagicGetInexistentVar()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Undefined property 's9e\\TextFormatter\\Configurator::\$foo'");
+
$this->configurator->foo;
}
@@ -499,11 +500,12 @@ public function testAddHTML5RulesTagsNoOverwrite()
/**
* @testdox loadBundle('../Invalid') throws an exception
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid bundle name
*/
public function testLoadBundleInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Invalid bundle name');
+
$this->configurator->loadBundle('../Invalid');
}
@@ -528,7 +530,7 @@ public function testSaveBundle()
$file = file_get_contents($filepath);
$this->assertStringStartsWith('assertContains('class Foo', $file);
+ $this->assertStringContainsString('class Foo', $file);
}
/**
diff --git a/tests/Parser/FilterProcessingTest.php b/tests/Parser/FilterProcessingTest.php
index 541e0d7011..a6d765c1aa 100644
--- a/tests/Parser/FilterProcessingTest.php
+++ b/tests/Parser/FilterProcessingTest.php
@@ -102,6 +102,7 @@ public function testExecuteAttributePreprocessorsDoesNotUnsetSourceIfNoMatch()
/**
* @testdox executeAttributePreprocessors() returns TRUE even if no source attribute was present
+ * @doesNotPerformAssertions
*/
public function testExecuteAttributePreprocessorsReturnsTrue()
{
diff --git a/tests/Parser/PluginsHandlingTest.php b/tests/Parser/PluginsHandlingTest.php
index 4781e96d0e..4842607db5 100644
--- a/tests/Parser/PluginsHandlingTest.php
+++ b/tests/Parser/PluginsHandlingTest.php
@@ -286,11 +286,12 @@ public function testRegisterParserNew()
/**
* @testdox registerParser() throws an exception if its second argument is not callable
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage must be a valid callback
*/
public function testRegisterParserInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('must be a valid callback');
+
$dummy = new PluginsHandlingDummy;
$dummy->registerParser('Foo', '*invalid*');
}
diff --git a/tests/Parser/TagTest.php b/tests/Parser/TagTest.php
index 34ce8ffc13..5770c12f42 100644
--- a/tests/Parser/TagTest.php
+++ b/tests/Parser/TagTest.php
@@ -344,6 +344,7 @@ public function testInvalidateCascadeImmediate()
/**
* @testdox Mutual invalidation doesn't cause an infinite loop
+ * @doesNotPerformAssertions
*/
public function testInvalidateNoInfiniteLoop()
{
@@ -753,7 +754,7 @@ public function testSetFlags()
$tag = new Tag(Tag::START_TAG, 'X', 0, 0);
$tag->setFlags(4);
- $this->assertAttributeSame(4, 'flags', $tag);
+ $this->assertSame(4, $this->getObjectProperty($tag, 'flags'));
}
/**
diff --git a/tests/ParserTest.php b/tests/ParserTest.php
index 24a622d44b..9297b1bf7f 100644
--- a/tests/ParserTest.php
+++ b/tests/ParserTest.php
@@ -177,11 +177,12 @@ function () use ($parser)
/**
* @testdox parse() throws an exception if the input isn't valid UTF-8
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid UTF-8 input
*/
public function testParseInvalidUTF8()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Invalid UTF-8 input');
+
$this->getParser()->parse("x\xFF");
}
@@ -193,12 +194,12 @@ public function testDisableTag()
$this->configurator->tags->add('FOO');
$parser = $this->getParser();
- $tagsConfig = $this->readAttribute($parser, 'tagsConfig');
+ $tagsConfig = $this->getObjectProperty($parser, 'tagsConfig');
$this->assertTrue(empty($tagsConfig['FOO']['isDisabled']));
$parser->disableTag('FOO');
- $tagsConfig = $this->readAttribute($parser, 'tagsConfig');
+ $tagsConfig = $this->getObjectProperty($parser, 'tagsConfig');
$this->assertFalse(empty($tagsConfig['FOO']['isDisabled']));
}
@@ -215,7 +216,7 @@ public function testDisableTagReference()
$parser->disableTag('FOO');
- $tagsConfig = $this->readAttribute($parser, 'tagsConfig');
+ $tagsConfig = $this->getObjectProperty($parser, 'tagsConfig');
$this->assertFalse(empty($tagsConfig['FOO']['isDisabled']));
$this->assertTrue(empty($tagsConfig['BAR']['isDisabled']));
}
@@ -230,22 +231,23 @@ public function testEnableTag()
$parser->disableTag('FOO');
- $tagsConfig = $this->readAttribute($parser, 'tagsConfig');
+ $tagsConfig = $this->getObjectProperty($parser, 'tagsConfig');
$this->assertFalse(empty($tagsConfig['FOO']['isDisabled']));
$parser->enableTag('FOO');
- $tagsConfig = $this->readAttribute($parser, 'tagsConfig');
+ $tagsConfig = $this->getObjectProperty($parser, 'tagsConfig');
$this->assertTrue(empty($tagsConfig['FOO']['isDisabled']));
}
/**
* @testdox parse() throws an exception if the parser is reset during its execution
- * @expectedException RuntimeException
- * @expectedExceptionMessage The parser has been reset during execution
*/
public function testResetException()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('The parser has been reset during execution');
+
$parser = $this->getParser();
$parser->registerParser(
@@ -309,7 +311,7 @@ public function testSetTagLimitReference()
$parser->setTagLimit('FOO', 123);
$parser->setTagLimit('BAR', 456);
- $tagsConfig = $this->readAttribute($parser, 'tagsConfig');
+ $tagsConfig = $this->getObjectProperty($parser, 'tagsConfig');
$this->assertSame(123, $tagsConfig['FOO']['tagLimit']);
$this->assertSame(456, $tagsConfig['BAR']['tagLimit']);
}
@@ -361,7 +363,7 @@ public function testSetNestingLimitReference()
$parser->setNestingLimit('FOO', 123);
$parser->setNestingLimit('BAR', 456);
- $tagsConfig = $this->readAttribute($parser, 'tagsConfig');
+ $tagsConfig = $this->getObjectProperty($parser, 'tagsConfig');
$this->assertSame(123, $tagsConfig['FOO']['nestingLimit']);
$this->assertSame(456, $tagsConfig['BAR']['nestingLimit']);
}
diff --git a/tests/Plugins/BBCodes/Configurator/BBCodeCollectionTest.php b/tests/Plugins/BBCodes/Configurator/BBCodeCollectionTest.php
index 7958434af4..e493cb813d 100644
--- a/tests/Plugins/BBCodes/Configurator/BBCodeCollectionTest.php
+++ b/tests/Plugins/BBCodes/Configurator/BBCodeCollectionTest.php
@@ -157,11 +157,12 @@ public function testDuplicateDefault()
/**
* @testdox Throws an meaningful exception message when creating a BBCode that already exists
- * @expectedException RuntimeException
- * @expectedExceptionMessage BBCode 'X' already exists
*/
public function testDuplicateError()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("BBCode 'X' already exists");
+
$collection = new BBCodeCollection;
$collection->onDuplicate('error');
$collection->add('X');
@@ -170,11 +171,12 @@ public function testDuplicateError()
/**
* @testdox Throws an exception when accessing a BBCode that does not exist
- * @expectedException RuntimeException
- * @expectedExceptionMessage BBCode 'X' does not exist
*/
public function testNotExist()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("BBCode 'X' does not exist");
+
$collection = new BBCodeCollection;
$collection->get('X');
}
diff --git a/tests/Plugins/BBCodes/Configurator/BBCodeMonkeyTest.php b/tests/Plugins/BBCodes/Configurator/BBCodeMonkeyTest.php
index 7fe0233eb0..bbefc964f7 100644
--- a/tests/Plugins/BBCodes/Configurator/BBCodeMonkeyTest.php
+++ b/tests/Plugins/BBCodes/Configurator/BBCodeMonkeyTest.php
@@ -37,7 +37,7 @@ public function testAllowedFiltersPublic()
$bbcodeMonkey = new BBCodeMonkey(new Configurator);
$allowedFilters = $bbcodeMonkey->allowedFilters;
- $this->assertInternalType('array', $allowedFilters);
+ $this->assertIsArray($allowedFilters);
$this->assertContains('strrev', $allowedFilters);
}
@@ -86,7 +86,9 @@ public function testCreate($usage, $template, $expected)
{
if ($expected instanceof Exception)
{
- $this->setExpectedException(get_class($expected), $expected->getMessage());
+ $this->expectException(get_class($expected));
+ $this->expectExceptionMessage($expected->getMessage());
+
}
$bbcodeMonkey = new BBCodeMonkey(new Configurator);
diff --git a/tests/Plugins/BBCodes/Configurator/BBCodeTest.php b/tests/Plugins/BBCodes/Configurator/BBCodeTest.php
index d66367e9df..c9c057a968 100644
--- a/tests/Plugins/BBCodes/Configurator/BBCodeTest.php
+++ b/tests/Plugins/BBCodes/Configurator/BBCodeTest.php
@@ -38,11 +38,12 @@ public function testNormalizeNameValid()
/**
* @testdox BBCode::normalizeName('*invalid*') throws an exception
- * @expectedException Exception
- * @expectedExceptionMessage Invalid BBCode name
*/
public function testNormalizeNameInvalid()
{
+ $this->expectException('Exception');
+ $this->expectExceptionMessage('Invalid BBCode name');
+
BBCode::normalizeName('*invalid*');
}
diff --git a/tests/Plugins/BBCodes/Configurator/RepositoryTest.php b/tests/Plugins/BBCodes/Configurator/RepositoryTest.php
index 20bed30792..49424ce97c 100644
--- a/tests/Plugins/BBCodes/Configurator/RepositoryTest.php
+++ b/tests/Plugins/BBCodes/Configurator/RepositoryTest.php
@@ -16,6 +16,7 @@ class RepositoryTest extends Test
{
/**
* @testdox __construct() accepts the path to an XML file as argument
+ * @doesNotPerformAssertions
*/
public function testConstructorFile()
{
@@ -24,6 +25,7 @@ public function testConstructorFile()
/**
* @testdox __construct() accepts a DOMDocument as argument
+ * @doesNotPerformAssertions
*/
public function testConstructorDOMDocument()
{
@@ -35,37 +37,41 @@ public function testConstructorDOMDocument()
/**
* @testdox __construct() throws an exception if passed anything else
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage NULL is not a valid BBCode repository file
*/
public function testConstructorInvalidPath()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('NULL is not a valid BBCode repository file');
+
$repository = new Repository(null, new BBCodeMonkey(new Configurator));
}
/**
* @testdox __construct() throws an exception if passed the path to a file that is not valid XML
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage is not a valid BBCode repository file
*/
public function testConstructorInvalidFile()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('is not a valid BBCode repository file');
+
$repository = new Repository(__FILE__, new BBCodeMonkey(new Configurator));
}
/**
* @testdox get() throws an exception if the BBCode is not in repository
- * @expectedException RuntimeException
- * @expectedExceptionMessage Could not find 'FOOBAR' in repository
*/
public function testUnknownBBCode()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Could not find 'FOOBAR' in repository");
+
$repository = new Repository(__DIR__ . '/../../../../src/Plugins/BBCodes/Configurator/repository.xml', new BBCodeMonkey(new Configurator));
$repository->get('FOOBAR');
}
/**
* @testdox get() normalizes the name before retrieval
+ * @doesNotPerformAssertions
*/
public function testNameIsNormalized()
{
diff --git a/tests/Plugins/BBCodes/ConfiguratorTest.php b/tests/Plugins/BBCodes/ConfiguratorTest.php
index d9f6735621..bcf7da6d28 100644
--- a/tests/Plugins/BBCodes/ConfiguratorTest.php
+++ b/tests/Plugins/BBCodes/ConfiguratorTest.php
@@ -99,11 +99,12 @@ public function testAddFromRepositoryWithVars()
/**
* @testdox addFromRepository('B', 'foo') throws an exception if repository 'foo' does not exist
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Repository 'foo' does not exist
*/
public function testAddFromUnknownRepository()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage("Repository 'foo' does not exist");
+
$plugin = $this->configurator->plugins->load('BBCodes');
$plugin->addFromRepository('MYBOLD', 'foo');
}
@@ -174,10 +175,11 @@ public function testAddFromRepositoryNormalize()
/**
* @testdox addFromRepository() checks that the tag is safe before adding it
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
*/
public function testAddFromRepositoryCheckUnsafe()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+
$dom = new DOMDocument;
$dom->loadXML(
'
@@ -272,10 +274,11 @@ public function testAddCustomNormalize()
/**
* @testdox addCustom() checks that the tag is safe before adding it
- * @expectedException s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException
*/
public function testAddCustomCheckUnsafe()
{
+ $this->expectException('s9e\\TextFormatter\\Configurator\\Exceptions\\UnsafeTemplateException');
+
$plugin = $this->configurator->plugins->load('BBCodes');
try
diff --git a/tests/Plugins/Censor/ConfiguratorTest.php b/tests/Plugins/Censor/ConfiguratorTest.php
index 2b028cf0fe..0374463f34 100644
--- a/tests/Plugins/Censor/ConfiguratorTest.php
+++ b/tests/Plugins/Censor/ConfiguratorTest.php
@@ -189,7 +189,7 @@ public function testJavaScriptRegexpGrouping()
$config = $plugin->asConfig();
$regexp = $config['regexp']->getJS();
- $this->assertNotContains('(?>', $regexp);
+ $this->assertStringNotContainsString('(?>', $regexp);
}
/**
@@ -247,6 +247,7 @@ public function testGetHelperNoWords()
/**
* @testdox add() does not throw an exception on duplicates
+ * @doesNotPerformAssertions
*/
public function testAddDuplicate()
{
diff --git a/tests/Plugins/ConfiguratorBaseTest.php b/tests/Plugins/ConfiguratorBaseTest.php
index 749f8ed77d..b2ddf25659 100644
--- a/tests/Plugins/ConfiguratorBaseTest.php
+++ b/tests/Plugins/ConfiguratorBaseTest.php
@@ -50,11 +50,12 @@ public function testSetUpAfterProps()
/**
* @testdox An exception is thrown if an unknown property is being set by the constructor
- * @expectedException RuntimeException
- * @expectedExceptionMessage Unknown property 'baz'
*/
public function testUnknownProperty()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Unknown property 'baz'");
+
new DummyPluginConfigurator($this->configurator, ['baz' => 'baz']);
}
@@ -78,21 +79,23 @@ public function testTagNameNormalize()
/**
* @testdox Constructor throws an exception if we attempt to set an attribute name but the property does not exist
- * @expectedException RuntimeException
- * @expectedExceptionMessage Unknown property 'attrName'
*/
public function testAttrNameNotExist()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Unknown property 'attrName'");
+
new EmptyPluginConfigurator($this->configurator, ['attrName' => 'XXX']);
}
/**
* @testdox Constructor throws an exception if we attempt to set a tag name but the property does not exist
- * @expectedException RuntimeException
- * @expectedExceptionMessage Unknown property 'tagName'
*/
public function testTagNameNotExist()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Unknown property 'tagName'");
+
new EmptyPluginConfigurator($this->configurator, ['tagName' => 'XXX']);
}
@@ -156,16 +159,17 @@ public function testSetQuickMatch()
{
$dummy = new DummyPluginConfigurator($this->configurator);
$dummy->setQuickMatch('@');
- $this->assertAttributeEquals('@', 'quickMatch', $dummy);
+ $this->assertEquals('@', $this->getObjectProperty($dummy, 'quickMatch'));
}
/**
* @testdox setQuickMatch() throws an exception on non-strings
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage quickMatch must be a string
*/
public function testSetQuickMatchInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('quickMatch must be a string');
+
$dummy = new DummyPluginConfigurator($this->configurator);
$dummy->setQuickMatch(null);
}
@@ -178,7 +182,7 @@ public function testDisableQuickMatch()
$dummy = new DummyPluginConfigurator($this->configurator);
$dummy->setQuickMatch('@');
$dummy->disableQuickMatch();
- $this->assertAttributeEquals(false, 'quickMatch', $dummy);
+ $this->assertFalse($this->getObjectProperty($dummy, 'quickMatch'));
}
/**
@@ -188,16 +192,17 @@ public function testSetRegexpLimit()
{
$dummy = new DummyPluginConfigurator($this->configurator);
$dummy->setRegexpLimit(1234);
- $this->assertAttributeEquals(1234, 'regexpLimit', $dummy);
+ $this->assertEquals(1234, $this->getObjectProperty($dummy, 'regexpLimit'));
}
/**
* @testdox setRegexpLimit() throws an exception on invalid values
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage regexpLimit must be a number greater than 0
*/
public function testSetRegexpLimitInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('regexpLimit must be a number greater than 0');
+
$dummy = new DummyPluginConfigurator($this->configurator);
$dummy->setRegexpLimit(null);
}
@@ -223,6 +228,7 @@ public function testAsConfig()
/**
* @testdox Has a default finalize() method that doesn't do anything
+ * @doesNotPerformAssertions
*/
public function testFinalize()
{
@@ -273,11 +279,12 @@ public function testGetTag()
/**
* @testdox getTag() throws an exception if the plugin does not have a tagName property set
- * @expectedException RuntimeException
- * @expectedExceptionMessage No tag associated with this plugin
*/
public function testGetTagError()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('No tag associated with this plugin');
+
$dummy = new EmptyPluginConfigurator($this->configurator);
$dummy->getTag();
@@ -304,7 +311,7 @@ public function setFoo()
$this->foo = 'baz';
}
- protected function setUp()
+ protected function setUp(): void
{
parent::setUp();
$this->setup = $this->bar;
@@ -316,7 +323,7 @@ class TagCreatingPluginConfigurator extends ConfiguratorBase
public $tagName = 'FOO';
public $attrName = 'BAR';
- protected function setUp()
+ protected function setUp(): void
{
$this->configurator->tags->add($this->tagName);
}
diff --git a/tests/Plugins/Emoji/ConfiguratorTest.php b/tests/Plugins/Emoji/ConfiguratorTest.php
index 7969379634..6c4c196497 100644
--- a/tests/Plugins/Emoji/ConfiguratorTest.php
+++ b/tests/Plugins/Emoji/ConfiguratorTest.php
@@ -151,7 +151,7 @@ public function testConfigAliasesNoQuickMatch()
public function testDefaultTemplateEmojiOne()
{
$this->configurator->Emoji;
- $this->assertContains('emojione', (string) $this->configurator->tags['EMOJI']->template);
+ $this->assertStringContainsString('emojione', (string) $this->configurator->tags['EMOJI']->template);
}
/**
diff --git a/tests/Plugins/Emoticons/Configurator/EmoticonCollectionTest.php b/tests/Plugins/Emoticons/Configurator/EmoticonCollectionTest.php
index bae58b80df..7e784d12db 100644
--- a/tests/Plugins/Emoticons/Configurator/EmoticonCollectionTest.php
+++ b/tests/Plugins/Emoticons/Configurator/EmoticonCollectionTest.php
@@ -23,10 +23,11 @@ public function testHTML()
/**
* @testdox Throws an exception when an invalid template is set
- * @expectedException RuntimeException
*/
public function testInvalid()
{
+ $this->expectException('RuntimeException');
+
$collection = new EmoticonCollection;
$collection->set(':)', '');
}
@@ -46,11 +47,12 @@ public function testDuplicateDefault()
/**
* @testdox Throws an meaningful exception message when creating an emoticon that already exists
- * @expectedException RuntimeException
- * @expectedExceptionMessage Emoticon ':)' already exists
*/
public function testDuplicateError()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Emoticon ':)' already exists");
+
$collection = new EmoticonCollection;
$collection->onDuplicate('error');
$collection->add(':)', ':(');
@@ -59,11 +61,12 @@ public function testDuplicateError()
/**
* @testdox Has a customized exception message on uninitialized access
- * @expectedException RuntimeException
- * @expectedExceptionMessage Emoticon ':)' does not exist
*/
public function testExceptionMissing()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Emoticon ':)' does not exist");
+
$collection = new EmoticonCollection;
$collection->get(':)');
}
diff --git a/tests/Plugins/Emoticons/ConfiguratorTest.php b/tests/Plugins/Emoticons/ConfiguratorTest.php
index 24a0f9c2b9..6cb6ee34aa 100644
--- a/tests/Plugins/Emoticons/ConfiguratorTest.php
+++ b/tests/Plugins/Emoticons/ConfiguratorTest.php
@@ -51,8 +51,8 @@ public function testSetXSL()
$xsl = $plugin->getTemplate();
- $this->assertContains(':)', $xsl);
- $this->assertContains('', $xsl);
+ $this->assertStringContainsString(':)', $xsl);
+ $this->assertStringContainsString('', $xsl);
}
/**
@@ -65,8 +65,8 @@ public function testSetHTML()
$xsl = $plugin->getTemplate();
- $this->assertContains(':)', $xsl);
- $this->assertContains('', $xsl);
+ $this->assertStringContainsString(':)', $xsl);
+ $this->assertStringContainsString('', $xsl);
}
/**
@@ -79,8 +79,8 @@ public function testSingleQuotes()
$xsl = $plugin->getTemplate();
- $this->assertContains(":')", $xsl);
- $this->assertContains('', $xsl);
+ $this->assertStringContainsString(":')", $xsl);
+ $this->assertStringContainsString('', $xsl);
}
/**
@@ -93,8 +93,8 @@ public function testDoubleQuotes()
$xsl = $plugin->getTemplate();
- $this->assertContains("'"_"'", $xsl);
- $this->assertContains('', $xsl);
+ $this->assertStringContainsString("'"_"'", $xsl);
+ $this->assertStringContainsString('', $xsl);
}
/**
@@ -107,7 +107,7 @@ public function testBothQuotes()
$xsl = $plugin->getTemplate();
- $this->assertContains('', $xsl);
+ $this->assertStringContainsString('', $xsl);
}
/**
diff --git a/tests/Plugins/HTMLElements/ConfiguratorTest.php b/tests/Plugins/HTMLElements/ConfiguratorTest.php
index 1de39cf417..42f01a3bb2 100644
--- a/tests/Plugins/HTMLElements/ConfiguratorTest.php
+++ b/tests/Plugins/HTMLElements/ConfiguratorTest.php
@@ -106,11 +106,12 @@ public function testCustomPrefix()
/**
* @testdox allowElement('script') throws an exception
- * @expectedException RuntimeException
- * @expectedExceptionMessage elements are unsafe
*/
public function testUnsafeElement()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('elements are unsafe');
+
$plugin = $this->configurator->plugins->load('HTMLElements');
$plugin->allowElement('script');
}
@@ -191,22 +192,24 @@ public function testFilter()
/**
* @testdox allowAttribute('b', 'title') throws an exception if 'b' was not explicitly allowed
- * @expectedException RuntimeException
- * @expectedExceptionMessage Element 'b' has not been allowed
*/
public function testAttributeOnUnknownElement()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Element 'b' has not been allowed");
+
$plugin = $this->configurator->plugins->load('HTMLElements');
$plugin->allowAttribute('b', 'title');
}
/**
* @testdox allowAttribute('span', 'onmouseover') throws an exception
- * @expectedException RuntimeException
- * @expectedExceptionMessage attributes are unsafe
*/
public function testUnsafeAttribute()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('attributes are unsafe');
+
$plugin = $this->configurator->plugins->load('HTMLElements');
$plugin->allowElement('span');
$plugin->allowAttribute('span', 'onmouseover');
@@ -214,11 +217,12 @@ public function testUnsafeAttribute()
/**
* @testdox allowAttribute('span', 'style') throws an exception
- * @expectedException RuntimeException
- * @expectedExceptionMessage attributes are unsafe
*/
public function testUnsafeAttribute2()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage('attributes are unsafe');
+
$plugin = $this->configurator->plugins->load('HTMLElements');
$plugin->allowElement('span');
$plugin->allowAttribute('span', 'style');
@@ -252,10 +256,12 @@ public function testAllowUnsafeAttributeInstance()
/**
* @testdox allowElement('*invalid*') throws an exception
- * @expectedException InvalidArgumentException invalid
*/
public function testInvalidElementName()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('invalid');
+
$plugin = $this->configurator->plugins->load('HTMLElements');
$plugin->allowElement('*invalid*');
}
@@ -274,10 +280,12 @@ public function testAttributeNameDash()
/**
* @testdox allowAttribute('b', '*invalid*') throws an exception
- * @expectedException InvalidArgumentException invalid
*/
public function testInvalidAttributeName()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('invalid');
+
$plugin = $this->configurator->plugins->load('HTMLElements');
$plugin->allowElement('b');
$plugin->allowAttribute('b', '*invalid*');
diff --git a/tests/Plugins/Litedown/ConfiguratorTest.php b/tests/Plugins/Litedown/ConfiguratorTest.php
index 668470fa7e..6764b8f8e6 100644
--- a/tests/Plugins/Litedown/ConfiguratorTest.php
+++ b/tests/Plugins/Litedown/ConfiguratorTest.php
@@ -47,7 +47,7 @@ public function testPreservesURL()
*/
public function testAsConfig()
{
- $this->assertInternalType('array', $this->configurator->Litedown->asConfig());
+ $this->assertIsArray($this->configurator->Litedown->asConfig());
}
/**
diff --git a/tests/Plugins/MediaEmbed/Configurator/Collections/CachedDefinitionCollectionTest.php b/tests/Plugins/MediaEmbed/Configurator/Collections/CachedDefinitionCollectionTest.php
index a3a52770c4..d382bfefae 100644
--- a/tests/Plugins/MediaEmbed/Configurator/Collections/CachedDefinitionCollectionTest.php
+++ b/tests/Plugins/MediaEmbed/Configurator/Collections/CachedDefinitionCollectionTest.php
@@ -31,11 +31,12 @@ public function testIssetFalse()
/**
* @testdox get('*invalid*') throws an exception
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid site ID
*/
public function testIssetInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Invalid site ID');
+
$collection = new CachedDefinitionCollection;
$collection->get('*invalid*');
}
@@ -47,7 +48,7 @@ public function testIsIterable()
{
$collection = new CachedDefinitionCollection;
$sites = iterator_to_array($collection);
- $this->assertInternalType('array', $sites);
+ $this->assertIsArray($sites);
$this->assertArrayHasKey('youtube', $sites);
}
@@ -58,29 +59,31 @@ public function testGet()
{
$collection = new CachedDefinitionCollection;
$siteConfig = $collection->get('youtube');
- $this->assertInternalType('array', $siteConfig);
+ $this->assertIsArray($siteConfig);
$this->assertArrayHasKey('host', $siteConfig);
$this->assertContains('youtube.com', $siteConfig['host']);
}
/**
* @testdox get('unknown') returns FALSE
- * @expectedException RuntimeException
- * @expectedExceptionMessage Media site 'unknown' does not exist
*/
public function testGetUnknown()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Media site 'unknown' does not exist");
+
$collection = new CachedDefinitionCollection;
$siteConfig = $collection->get('unknown');
}
/**
* @testdox get('*invalid*') throws an exception
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid site ID
*/
public function testGetInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Invalid site ID');
+
$collection = new CachedDefinitionCollection;
$siteConfig = $collection->get('*invalid*');
}
diff --git a/tests/Plugins/MediaEmbed/Configurator/Collections/SiteDefinitionCollectionTest.php b/tests/Plugins/MediaEmbed/Configurator/Collections/SiteDefinitionCollectionTest.php
index 6765bb0a7f..39271617a4 100644
--- a/tests/Plugins/MediaEmbed/Configurator/Collections/SiteDefinitionCollectionTest.php
+++ b/tests/Plugins/MediaEmbed/Configurator/Collections/SiteDefinitionCollectionTest.php
@@ -30,55 +30,60 @@ public function testWorks()
/**
* @testdox get() throws a meaningful exception if the site ID does not exist
- * @expectedException RuntimeException
- * @expectedExceptionMessage Media site 'foo' does not exist
*/
public function testUnknown()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Media site 'foo' does not exist");
+
$collection = new SiteDefinitionCollection;
$collection->get('foo');
}
/**
* @testdox Throws an exception if the site ID is not valid
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid site ID
*/
public function testInvalidID()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Invalid site ID');
+
$collection = new SiteDefinitionCollection;
$collection->set('*x*', []);
}
/**
* @testdox set() throws an exception if the site config is not an array
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid site definition type
*/
public function testInvalidType()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Invalid site definition type');
+
$collection = new SiteDefinitionCollection;
$collection->set('x', '');
}
/**
* @testdox set() throws an exception if the site config does not contain a host
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Missing host from site definition
*/
public function testMissingHost()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Missing host from site definition');
+
$collection = new SiteDefinitionCollection;
$collection->set('x', []);
}
/**
* @testdox add() throws a meaningful exception if the site ID already exists
- * @expectedException RuntimeException
- * @expectedExceptionMessage Media site 'foo' already exists
*/
public function testAlreadyExists()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Media site 'foo' already exists");
+
$collection = new SiteDefinitionCollection;
$collection->onDuplicate('error');
$collection->add('foo', ['host' => ['localhost']]);
diff --git a/tests/Plugins/MediaEmbed/Configurator/Collections/XmlFileDefinitionCollectionTest.php b/tests/Plugins/MediaEmbed/Configurator/Collections/XmlFileDefinitionCollectionTest.php
index 35a1d669c3..52cd9788cf 100644
--- a/tests/Plugins/MediaEmbed/Configurator/Collections/XmlFileDefinitionCollectionTest.php
+++ b/tests/Plugins/MediaEmbed/Configurator/Collections/XmlFileDefinitionCollectionTest.php
@@ -55,11 +55,12 @@ public function testIssetFalse()
/**
* @testdox isset('*invalid*') throws an exception
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid site ID
*/
public function testIssetInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Invalid site ID');
+
$collection = new XmlFileDefinitionCollection(sys_get_temp_dir());
isset($collection['*invalid*']);
}
@@ -84,7 +85,7 @@ public function testIsIterable()
$siteId = $this->generateDefinition();
$collection = new XmlFileDefinitionCollection(sys_get_temp_dir());
$sites = iterator_to_array($collection);
- $this->assertInternalType('array', $sites);
+ $this->assertIsArray($sites);
$this->assertArrayHasKey($siteId, $sites);
}
@@ -96,40 +97,43 @@ public function testGet()
$siteId = $this->generateDefinition();
$collection = new XmlFileDefinitionCollection(sys_get_temp_dir());
$siteConfig = $collection->get($siteId);
- $this->assertInternalType('array', $siteConfig);
+ $this->assertIsArray($siteConfig);
$this->assertArrayHasKey('host', $siteConfig);
$this->assertContains('localhost', $siteConfig['host']);
}
/**
* @testdox get('unknown') throws an exception
- * @expectedException RuntimeException
- * @expectedExceptionMessage Media site 'unknown' does not exist
*/
public function testGetUnknown()
{
+ $this->expectException('RuntimeException');
+ $this->expectExceptionMessage("Media site 'unknown' does not exist");
+
$collection = new XmlFileDefinitionCollection(sys_get_temp_dir());
$siteConfig = $collection->get('unknown');
}
/**
* @testdox get('*invalid*') throws an exception
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid site ID
*/
public function testGetInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Invalid site ID');
+
$collection = new XmlFileDefinitionCollection(sys_get_temp_dir());
$siteConfig = $collection->get('*invalid*');
}
/**
* @testdox The constructor throws an exception if the dir does not exist
- * @expectedException InvalidArgumentException
- * @expectedExceptionMessage Invalid site directory
*/
public function testPathInvalid()
{
+ $this->expectException('InvalidArgumentException');
+ $this->expectExceptionMessage('Invalid site directory');
+
new XmlFileDefinitionCollection('/invalid/path');
}
@@ -141,7 +145,7 @@ public function testGetMultipleNodes()
$siteId = $this->generateDefinition();
$collection = new XmlFileDefinitionCollection(sys_get_temp_dir());
$siteConfig = $collection->get($siteId);
- $this->assertInternalType('array', $siteConfig);
+ $this->assertIsArray($siteConfig);
$this->assertArrayHasKey('host', $siteConfig);
$this->assertContains('localhost', $siteConfig['host']);
$this->assertContains('127.0.0.1', $siteConfig['host']);
@@ -156,7 +160,7 @@ public function testNoWhitespace()
$collection = new XmlFileDefinitionCollection(sys_get_temp_dir());
$siteConfig = $collection->get($siteId);
$this->assertArrayHasKey('attributes', $siteConfig);
- $this->assertInternalType('array', $siteConfig['attributes']);
+ $this->assertIsArray( $siteConfig['attributes']);
$this->assertArrayHasKey('volume', $siteConfig['attributes']);
}
@@ -169,7 +173,7 @@ public function testCDATA()
$collection = new XmlFileDefinitionCollection(sys_get_temp_dir());
$siteConfig = $collection->get($siteId);
$this->assertArrayHasKey('onload', $siteConfig['iframe']);
- $this->assertInternalType('string', $siteConfig['iframe']['onload']);
+ $this->assertIsString($siteConfig['iframe']['onload']);
$this->assertSame('alert(1)', $siteConfig['iframe']['onload']);
}
diff --git a/tests/Plugins/MediaEmbed/Configurator/TemplateBuilderTest.php b/tests/Plugins/MediaEmbed/Configurator/TemplateBuilderTest.php
index 24a88eaf9b..227799218c 100644
--- a/tests/Plugins/MediaEmbed/Configurator/TemplateBuilderTest.php
+++ b/tests/Plugins/MediaEmbed/Configurator/TemplateBuilderTest.php
@@ -25,7 +25,7 @@ public function testEmpty()
public function testFlash()
{
$templateBuilder = new TemplateBuilder;
- $this->assertContains('