diff options
Diffstat (limited to 'xfa/fxfa/fm2js/xfa_simpleexpression_unittest.cpp')
-rw-r--r-- | xfa/fxfa/fm2js/xfa_simpleexpression_unittest.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/xfa/fxfa/fm2js/xfa_simpleexpression_unittest.cpp b/xfa/fxfa/fm2js/xfa_simpleexpression_unittest.cpp index 160c4a12c4..b1b96e03d5 100644 --- a/xfa/fxfa/fm2js/xfa_simpleexpression_unittest.cpp +++ b/xfa/fxfa/fm2js/xfa_simpleexpression_unittest.cpp @@ -7,6 +7,7 @@ #include <memory> #include <utility> +#include "core/fxcrt/fx_string.h" #include "testing/gtest/include/gtest/gtest.h" #include "testing/test_support.h" #include "third_party/base/ptr_util.h" @@ -41,3 +42,35 @@ TEST(FMCallExpressionTest, more_than_32_arguments) { EXPECT_EQ(result.AsStringC(), js.AsStringC()); } + +TEST(FMStringExpressionTest, Empty) { + CFX_WideTextBuf accumulator; + CXFA_FMStringExpression(1, CFX_WideStringC()).ToJavaScript(accumulator); + EXPECT_EQ(L"", accumulator.AsStringC()); +} + +TEST(FMStringExpressionTest, Short) { + CFX_WideTextBuf accumulator; + CXFA_FMStringExpression(1, L"a").ToJavaScript(accumulator); + EXPECT_EQ(L"a", accumulator.AsStringC()); +} + +TEST(FMStringExpressionTest, Medium) { + CFX_WideTextBuf accumulator; + CXFA_FMStringExpression(1, L".abcd.").ToJavaScript(accumulator); + EXPECT_EQ(L"\"abcd\"", accumulator.AsStringC()); +} + +TEST(FMStringExpressionTest, Long) { + CFX_WideTextBuf accumulator; + std::vector<CFX_WideStringC::UnsignedType> vec(140000, L'A'); + CXFA_FMStringExpression(1, CFX_WideStringC(vec)).ToJavaScript(accumulator); + EXPECT_EQ(140000, accumulator.GetLength()); +} + +TEST(FMStringExpressionTest, Quoted) { + CFX_WideTextBuf accumulator; + CXFA_FMStringExpression(1, L".Simon says \"\"run\"\".") + .ToJavaScript(accumulator); + EXPECT_EQ(L"\"Simon says \\\"run\\\"\"", accumulator.AsStringC()); +} |