diff --git a/DEPENDENCIES b/DEPENDENCIES index f473100..0adb636 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -4,4 +4,4 @@ jsontoolkit https://github.com/sourcemeta/jsontoolkit 7a398224cc2e76ea9ae8541a87 hydra https://github.com/sourcemeta/hydra a4a74f3cabd32f2f829f449d67339dac33f9910e alterschema https://github.com/sourcemeta/alterschema 92e370ce9c1f0582014b54d43e388ee012dfe13d jsonbinpack https://github.com/sourcemeta/jsonbinpack d777179441d3c703e1fda1187742541aa26836b5 -blaze https://github.com/sourcemeta/blaze 6b279890fe3f003e87eec55f7ced40e91c713050 +blaze https://github.com/sourcemeta/blaze f1dbcf3cf0a29f9889a5da5ba220a524a3d789e4 diff --git a/vendor/blaze/src/compiler/compile_describe.cc b/vendor/blaze/src/compiler/compile_describe.cc index 42da013..88ee8fa 100644 --- a/vendor/blaze/src/compiler/compile_describe.cc +++ b/vendor/blaze/src/compiler/compile_describe.cc @@ -1004,6 +1004,20 @@ struct DescribeVisitor { } auto operator()(const AssertionRegex &step) const -> std::string { + if (this->evaluate_path.size() > 1 && + this->evaluate_path.at(this->evaluate_path.size() - 2).is_property() && + this->evaluate_path.at(this->evaluate_path.size() - 2).to_property() == + "propertyNames" && + !this->instance_location.empty() && + this->instance_location.back().is_property()) { + std::ostringstream message; + message << "The property name " + << escape_string(this->instance_location.back().to_property()) + << " was expected to match the regular expression " + << escape_string(step_value(step).second); + return message.str(); + } + assert(this->target.is_string()); std::ostringstream message; message << "The string value " << escape_string(this->target.to_string())