mirror of
https://github.com/tc39/test262.git
synced 2025-05-24 00:30:29 +02:00
It's possible for an async test to throw a Symbol (harness/async-gc.js does this.) The Symbol ends up getting passed to $DONE in a .then($DONE, $DONE) call. Previously, $DONE would then throw an exception due to not being able to convert the Symbol to a string.
23 lines
625 B
JavaScript
23 lines
625 B
JavaScript
// Copyright (C) 2017 Ecma International. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
/*---
|
|
description: |
|
|
defines: [$DONE]
|
|
---*/
|
|
|
|
function __consolePrintHandle__(msg) {
|
|
print(msg);
|
|
}
|
|
|
|
function $DONE(error) {
|
|
if (error) {
|
|
if(typeof error === 'object' && error !== null && 'name' in error) {
|
|
__consolePrintHandle__('Test262:AsyncTestFailure:' + error.name + ': ' + error.message);
|
|
} else {
|
|
__consolePrintHandle__('Test262:AsyncTestFailure:Test262Error: ' + String(error));
|
|
}
|
|
} else {
|
|
__consolePrintHandle__('Test262:AsyncTestComplete');
|
|
}
|
|
}
|