summaryrefslogtreecommitdiff
path: root/xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-05-17 09:39:04 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-05-17 16:21:44 +0000
commitc559156da52805513e11b1b2a057001b6fa63f90 (patch)
treeb8dc7114f1c630cbd9a17ce0ac5400e9f2fad77f /xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp
parent938f211b94abc259c1363e632f6e8c5cb5ec5b1b (diff)
downloadpdfium-c559156da52805513e11b1b2a057001b6fa63f90.tar.xz
Adding CXFA_Parse unittests
This CL adds the beginning of unittests for the CXFA_Parse code. Change-Id: I06e556f1a35405bc683c536d390071917ee330a6 Reviewed-on: https://pdfium-review.googlesource.com/5556 Reviewed-by: Nicolás Peña <npm@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp')
-rw-r--r--xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp b/xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp
index c9c0f4a379..b074a9aa57 100644
--- a/xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp
+++ b/xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp
@@ -18,7 +18,7 @@
#include "third_party/base/ptr_util.h"
#include "third_party/base/stl_util.h"
#include "xfa/fxfa/app/xfa_ffnotify.h"
-#include "xfa/fxfa/fm2js/cxfa_fmprogram.h"
+#include "xfa/fxfa/fm2js/cxfa_fmparse.h"
#include "xfa/fxfa/parser/cxfa_document.h"
#include "xfa/fxfa/parser/cxfa_localevalue.h"
#include "xfa/fxfa/parser/cxfa_node.h"
@@ -6119,8 +6119,18 @@ bool CXFA_FM2JSContext::Translate(const CFX_WideStringC& wsFormcalc,
return true;
}
- CXFA_FMProgram program(wsFormcalc);
- return program.ParseProgram() && program.TranslateProgram(*wsJavascript);
+ CXFA_FMErrorInfo errorInfo;
+ CXFA_FMParse parser(wsFormcalc, &errorInfo);
+
+ std::unique_ptr<CXFA_FMFunctionDefinition> func = parser.Parse();
+ if (!errorInfo.message.IsEmpty())
+ return false;
+
+ if (!func->ToJavaScript(*wsJavascript))
+ return false;
+
+ wsJavascript->AppendChar(0);
+ return true;
}
CXFA_FM2JSContext::CXFA_FM2JSContext(v8::Isolate* pScriptIsolate,