diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-05-17 09:39:04 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-05-17 16:21:44 +0000 |
commit | c559156da52805513e11b1b2a057001b6fa63f90 (patch) | |
tree | b8dc7114f1c630cbd9a17ce0ac5400e9f2fad77f /xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp | |
parent | 938f211b94abc259c1363e632f6e8c5cb5ec5b1b (diff) | |
download | pdfium-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.cpp | 16 |
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, |