summaryrefslogtreecommitdiffstats
path: root/src/uscxml
diff options
context:
space:
mode:
authoralexzhornyak <alexander.zhornyak@gmail.com>2017-05-07 19:00:01 (GMT)
committeralexzhornyak <alexander.zhornyak@gmail.com>2017-05-07 19:00:01 (GMT)
commit4f2dee08e0e77fcccd55a17add874f4a1ebc1be8 (patch)
treefb05845a4775427e14ff95dd1209dd57329669c1 /src/uscxml
parent43936ecb53a0eb582eaf3a56ec0c016f8c47ae7f (diff)
downloaduscxml-4f2dee08e0e77fcccd55a17add874f4a1ebc1be8.zip
uscxml-4f2dee08e0e77fcccd55a17add874f4a1ebc1be8.tar.gz
uscxml-4f2dee08e0e77fcccd55a17add874f4a1ebc1be8.tar.bz2
Issue with test 179
Corrected BasicContentExecutor to pass test 179
Diffstat (limited to 'src/uscxml')
-rw-r--r--src/uscxml/interpreter/BasicContentExecutor.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/uscxml/interpreter/BasicContentExecutor.cpp b/src/uscxml/interpreter/BasicContentExecutor.cpp
index 96777b1..a21255a 100644
--- a/src/uscxml/interpreter/BasicContentExecutor.cpp
+++ b/src/uscxml/interpreter/BasicContentExecutor.cpp
@@ -691,9 +691,19 @@ Data BasicContentExecutor::elementAsData(XERCESC_NS::DOMElement* element, bool a
contentSS << X((*textIter)->getNodeValue());
}
+ // this must be handled in getAsData
// test294, test562
if (LOCALNAME(element) == "content") {
- return Data(spaceNormalize(contentSS.str()), Data::VERBATIM);
+ // need first try getAsData because how to pass 179 ?
+ try {
+ // test153, we need to throw for test150 in promela
+ Data d = _callbacks->getAsData(contentSS.str());
+ if (!d.empty())
+ return d;
+ }
+ catch (ErrorEvent &) {
+ return Data(spaceNormalize(contentSS.str()), Data::VERBATIM);
+ }
}
if (asExpression) // not actually used, but likely expected