summaryrefslogtreecommitdiff
path: root/xfa/fxfa/fm2js/cxfa_fmparse.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_fmparse.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_fmparse.cpp')
-rw-r--r--xfa/fxfa/fm2js/cxfa_fmparse.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/xfa/fxfa/fm2js/cxfa_fmparse.cpp b/xfa/fxfa/fm2js/cxfa_fmparse.cpp
index cac7ad1b59..6e80a40d0c 100644
--- a/xfa/fxfa/fm2js/cxfa_fmparse.cpp
+++ b/xfa/fxfa/fm2js/cxfa_fmparse.cpp
@@ -26,6 +26,20 @@ CXFA_FMParse::CXFA_FMParse(const CFX_WideStringC& wsFormcalc,
CXFA_FMParse::~CXFA_FMParse() {}
+std::unique_ptr<CXFA_FMFunctionDefinition> CXFA_FMParse::Parse() {
+ NextToken();
+ if (HasError())
+ return nullptr;
+
+ auto expressions = ParseTopExpression();
+ if (HasError())
+ return nullptr;
+
+ std::vector<CFX_WideStringC> arguments;
+ return pdfium::MakeUnique<CXFA_FMFunctionDefinition>(
+ 1, true, L"", std::move(arguments), std::move(expressions));
+}
+
void CXFA_FMParse::NextToken() {
m_pToken = m_lexer->NextToken();
while (m_pToken->m_type == TOKreserver) {