| // Copyright 2022 The PDFium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "fxjs/xfa/cfxjse_formcalc_context.h" |
| |
| #include "core/fxcrt/bytestring.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| TEST(FormCalcContextTest, GenerateSomExpression) { |
| ByteString result = |
| CFXJSE_FormCalcContext::GenerateSomExpression("", 0, 0, /*bIsStar=*/true); |
| EXPECT_EQ(result, "[*]"); |
| |
| result = CFXJSE_FormCalcContext::GenerateSomExpression("foo", 0, 0, |
| /*bIsStar=*/true); |
| EXPECT_EQ(result, "foo[*]"); |
| |
| result = CFXJSE_FormCalcContext::GenerateSomExpression("foo", 0, 0, |
| /*bIsStar=*/false); |
| EXPECT_EQ(result, "foo"); |
| |
| result = CFXJSE_FormCalcContext::GenerateSomExpression("fu", 1, 0, |
| /*bIsStar=*/false); |
| EXPECT_EQ(result, "fu[0]"); |
| |
| result = CFXJSE_FormCalcContext::GenerateSomExpression("food", 1, 99, |
| /*bIsStar=*/false); |
| EXPECT_EQ(result, "food[99]"); |
| |
| result = CFXJSE_FormCalcContext::GenerateSomExpression("foot", 1, -65, |
| /*bIsStar=*/false); |
| EXPECT_EQ(result, "foot[-65]"); |
| |
| result = CFXJSE_FormCalcContext::GenerateSomExpression("football", 2, 0, |
| /*bIsStar=*/false); |
| EXPECT_EQ(result, "football[0]"); |
| |
| result = CFXJSE_FormCalcContext::GenerateSomExpression("foosball", 2, 123, |
| /*bIsStar=*/false); |
| EXPECT_EQ(result, "foosball[+123]"); |
| |
| result = CFXJSE_FormCalcContext::GenerateSomExpression("bar", 2, -654, |
| /*bIsStar=*/false); |
| EXPECT_EQ(result, "bar[-654]"); |
| |
| result = CFXJSE_FormCalcContext::GenerateSomExpression("barb", 2, 2147483647, |
| /*bIsStar=*/false); |
| EXPECT_EQ(result, "barb[+2147483647]"); |
| |
| result = CFXJSE_FormCalcContext::GenerateSomExpression( |
| "bart", 2, -2147483648, /*bIsStar=*/false); |
| EXPECT_EQ(result, "bart[-0]"); |
| |
| result = CFXJSE_FormCalcContext::GenerateSomExpression("bark", 3, 0, |
| /*bIsStar=*/false); |
| EXPECT_EQ(result, "bark[0]"); |
| |
| result = CFXJSE_FormCalcContext::GenerateSomExpression("bard", 3, 357, |
| /*bIsStar=*/false); |
| EXPECT_EQ(result, "bard[-357]"); |
| |
| result = CFXJSE_FormCalcContext::GenerateSomExpression("bars", 3, -9876, |
| /*bIsStar=*/false); |
| EXPECT_EQ(result, "bars[9876]"); |
| |
| result = CFXJSE_FormCalcContext::GenerateSomExpression("cars", 3, 2147483647, |
| /*bIsStar=*/false); |
| EXPECT_EQ(result, "cars[-2147483647]"); |
| |
| result = CFXJSE_FormCalcContext::GenerateSomExpression( |
| "mars", 3, -2147483648, /*bIsStar=*/false); |
| EXPECT_EQ(result, "mars[0]"); |
| } |