allow empty <@catch> to swallow errors (#1456)

This commit is contained in:
Michael Rawlings 2019-11-27 13:55:16 -08:00 committed by GitHub
parent 46ac4388f5
commit f5320ce3b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 32 additions and 3 deletions

View File

@ -186,8 +186,10 @@ module.exports = function awaitTag(input, out) {
}
if (err) {
if (errorRenderer) {
errorRenderer(asyncOut, err);
if (input.catch) {
if (errorRenderer) {
errorRenderer(asyncOut, err);
}
} else {
asyncOut.error(err);
}

View File

@ -0,0 +1 @@
BEFORE <!--FLUSH--> AFTER

View File

@ -0,0 +1,8 @@
---
BEFORE
<await(Promise.reject(new Error("Something went wrong!")))>
<@then|testData|>Success!</@then>
<@catch/>
</await>
AFTER
---

View File

@ -0,0 +1 @@
"BEFORE AFTER"

View File

@ -0,0 +1,7 @@
---
BEFORE
<await(Promise.reject(new Error("Something went wrong!")))>
<@then|testData|>Success!</@then>
</await>
AFTER
---

View File

@ -0,0 +1,8 @@
var expect = require("chai").expect;
exports.templateData = {};
exports.checkError = function(e) {
var message = e.toString();
expect(message).to.contain("Something went wrong");
};

View File

@ -78,9 +78,11 @@ async function runRenderTest(fixture) {
let e;
try {
isVDOM
let template = isVDOM
? browser.require(templatePath)
: marko.load(templatePath, loadOptions);
let templateData = Object.assign({}, main.templateData || {});
await template.render(templateData);
} catch (_e) {
e = _e;
let errorFile = path.join(dir, "error.txt");