14#include "gmock/gmock.h"
18using testing::ElementsAreArray;
25 std::locale::global(std::locale(
""));
33 EXPECT_EQ(u.
size(), 4);
35 EXPECT_EQ(u.
size(), 5);
37 EXPECT_EQ(u.
size(), 6);
41 EXPECT_EQ(u.
size(), 6);
43 EXPECT_EQ(u.
size(), 7);
45 EXPECT_EQ(u.
size(), 8);
52 std::vector<int> labels;
53 EXPECT_TRUE(u.
encode_string(
"affine",
true, &labels,
nullptr,
nullptr));
54 std::vector<int> v(&labels[0], &labels[0] + labels.size());
55 EXPECT_THAT(v, ElementsAreArray({3, 4, 4, 5, 7, 6}));
57 std::string lig_str =
"af\ufb01ne";
58 EXPECT_FALSE(u.
encode_string(lig_str.c_str(),
true, &labels,
nullptr,
nullptr));
60 EXPECT_TRUE(u.
encode_string(lig_str.c_str(),
true, &labels,
nullptr,
nullptr));
61 v = std::vector<int>(&labels[0], &labels[0] + labels.size());
62 EXPECT_THAT(v, ElementsAreArray({3, 4, 4, 5, 7, 6}));
72 EXPECT_EQ(u.
size(), 4);
74 EXPECT_EQ(u.
size(), 5);
76 EXPECT_EQ(u.
size(), 6);
78 EXPECT_EQ(u.
size(), 7);
80 EXPECT_EQ(u.
size(), 8);
82 EXPECT_EQ(u.
size(), 9);
94 std::vector<int> labels;
96 u.
encode_string(
"\u0627\u062c\u062c\u062f\u0635\u062b",
true, &labels,
nullptr,
nullptr));
97 std::vector<int> v(&labels[0], &labels[0] + labels.size());
98 EXPECT_THAT(v, ElementsAreArray({3, 4, 4, 5, 8, 7}));
100 std::vector<char> lengths;
101 unsigned encoded_length;
102 std::string src_str =
"\u0627\u062c\ufb01\u0635\u062b";
105 EXPECT_TRUE(u.
encode_string(cleaned.c_str(),
true, &labels, &lengths, &encoded_length));
106 EXPECT_EQ(encoded_length, cleaned.size());
107 std::string len_str(&lengths[0], lengths.size());
108 EXPECT_STREQ(len_str.c_str(),
"\002\002\002\002\002");
109 v = std::vector<int>(&labels[0], &labels[0] + labels.size());
110 EXPECT_THAT(v, ElementsAreArray({3, 4, 6, 8, 7}));
120 EXPECT_EQ(u.
size(), 4);
122 EXPECT_EQ(u.
size(), 5);
124 EXPECT_EQ(u.
size(), 6);
126 EXPECT_EQ(u.
size(), 7);
129 EXPECT_EQ(u.
size(), 7);
132 EXPECT_EQ(u.
size(), 8);
133 std::vector<char> data;
137 fp.
Open(&data[0], data.size());
150 std::string filename =
file::JoinPath(TESTDATA_DIR,
"eng.unicharset");
152 LOG(
INFO) <<
"Filename=" << filename;
154 EXPECT_EQ(u.
size(), 111);
TEST(TesseractInstanceTest, TestMultipleTessInstances)
void OpenWrite(std::vector< char > *data)
bool Open(const char *filename, FileReader reader)
bool encode_string(const char *str, bool give_up_on_failure, std::vector< UNICHAR_ID > *encoding, std::vector< char > *lengths, unsigned *encoded_length) const
void unichar_insert(const char *const unichar_repr, OldUncleanUnichars old_style)
bool load_from_file(const char *const filename, bool skip_fragments)
bool save_to_file(const char *const filename) const
UNICHAR_ID unichar_to_id(const char *const unichar_repr) const
static std::string CleanupString(const char *utf8_str)
static std::string JoinPath(const std::string &s1, const std::string &s2)