blob: bd2c89d554dc889c24886368f3236857306f62bd [file] [log] [blame]
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "xfa/fxfa/parser/xfa_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/test_support.h"
TEST(XfaUtilsImpTest, XFA_MapRotation) {
struct TestCase {
int input;
int expected_output;
} TestCases[] = {{-1000000, 80}, {-361, 359}, {-360, 0}, {-359, 1},
{-91, 269}, {-90, 270}, {-89, 271}, {-1, 359},
{0, 0}, {1, 1}, {89, 89}, {90, 90},
{91, 91}, {359, 359}, {360, 0}, {361, 1},
{100000, 280}};
for (size_t i = 0; i < FX_ArraySize(TestCases); ++i) {
EXPECT_EQ(TestCases[i].expected_output,
XFA_MapRotation(TestCases[i].input));
}
}
TEST(XFAUtilsTest, GetAttributeByName) {
EXPECT_EQ(nullptr, XFA_GetAttributeByName(L""));
EXPECT_EQ(nullptr, XFA_GetAttributeByName(L"nonesuch"));
EXPECT_EQ(XFA_Attribute::H, XFA_GetAttributeByName(L"h")->eName);
EXPECT_EQ(XFA_Attribute::Short, XFA_GetAttributeByName(L"short")->eName);
EXPECT_EQ(XFA_Attribute::DecipherOnly,
XFA_GetAttributeByName(L"decipherOnly")->eName);
}
TEST(XFAUtilsTest, GetAttributeEnumByName) {
EXPECT_EQ(nullptr, XFA_GetAttributeEnumByName(L""));
EXPECT_EQ(nullptr, XFA_GetAttributeEnumByName(L"nonesuch"));
EXPECT_EQ(XFA_ATTRIBUTEENUM_Asterisk,
XFA_GetAttributeEnumByName(L"*")->eName);
EXPECT_EQ(XFA_ATTRIBUTEENUM_Visible,
XFA_GetAttributeEnumByName(L"visible")->eName);
EXPECT_EQ(XFA_ATTRIBUTEENUM_Lowered,
XFA_GetAttributeEnumByName(L"lowered")->eName);
}