mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-27 03:57:21 +00:00
Testcase widget should only run tests if expected results are specified
Fixes #8218
This commit is contained in:
parent
9756b79683
commit
1b6e8e1a79
@ -77,8 +77,13 @@ TestCaseWidget.prototype.render = function(parent,nextSibling) {
|
|||||||
this.setVariable("transclusion",$tw.utils.hashString(jsonPayload));
|
this.setVariable("transclusion",$tw.utils.hashString(jsonPayload));
|
||||||
// Generate a `payloadTiddlers` variable that contains the payload in JSON format
|
// Generate a `payloadTiddlers` variable that contains the payload in JSON format
|
||||||
this.setVariable("payloadTiddlers",jsonPayload);
|
this.setVariable("payloadTiddlers",jsonPayload);
|
||||||
|
// Only run the tests if the testcase output and expected results were specified, and those tiddlers actually exist in the wiki
|
||||||
|
var shouldRunTests = false;
|
||||||
|
if(this.testcaseTestOutput && this.testcaseWiki.tiddlerExists(this.testcaseTestOutput) && this.testcaseTestExpectedResult && this.testcaseWiki.tiddlerExists(this.testcaseTestExpectedResult)) {
|
||||||
|
shouldRunTests = true;
|
||||||
|
}
|
||||||
// Render the test rendering if required
|
// Render the test rendering if required
|
||||||
if(this.testcaseTestOutput && this.testcaseTestExpectedResult) {
|
if(shouldRunTests) {
|
||||||
var testcaseOutputContainer = $tw.fakeDocument.createElement("div");
|
var testcaseOutputContainer = $tw.fakeDocument.createElement("div");
|
||||||
var testcaseOutputWidget = this.testcaseWiki.makeTranscludeWidget(this.testcaseTestOutput,{
|
var testcaseOutputWidget = this.testcaseWiki.makeTranscludeWidget(this.testcaseTestOutput,{
|
||||||
document: $tw.fakeDocument,
|
document: $tw.fakeDocument,
|
||||||
@ -101,7 +106,7 @@ TestCaseWidget.prototype.render = function(parent,nextSibling) {
|
|||||||
var testResult = "",
|
var testResult = "",
|
||||||
outputHTML = "",
|
outputHTML = "",
|
||||||
expectedHTML = "";
|
expectedHTML = "";
|
||||||
if(this.testcaseTestOutput && this.testcaseTestExpectedResult) {
|
if(shouldRunTests) {
|
||||||
outputHTML = testcaseOutputContainer.children[0].innerHTML;
|
outputHTML = testcaseOutputContainer.children[0].innerHTML;
|
||||||
expectedHTML = this.testcaseWiki.getTiddlerText(this.testcaseTestExpectedResult);
|
expectedHTML = this.testcaseWiki.getTiddlerText(this.testcaseTestExpectedResult);
|
||||||
if(outputHTML === expectedHTML) {
|
if(outputHTML === expectedHTML) {
|
||||||
|
@ -0,0 +1,12 @@
|
|||||||
|
title: TestCases/TestCaseWidget/NoExpectedResults
|
||||||
|
type: text/vnd.tiddlywiki-multiple
|
||||||
|
tags: [[$:/tags/wiki-test-spec]]
|
||||||
|
description: A testcase that does not specify expected results
|
||||||
|
|
||||||
|
title: Narrative
|
||||||
|
|
||||||
|
This testcase will display without the pass/fail icons because it does not include an `ExpectedResults` tiddler, and so will only be rendered, and not be executed as a test
|
||||||
|
+
|
||||||
|
title: Output
|
||||||
|
|
||||||
|
This is the output
|
Loading…
Reference in New Issue
Block a user