// 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]"); }