Remove the WithKey functions from ConverterInterface.

* These methods are not used in production code.
* This is a preparation for updates with ConversionRequest in following CLs.

#codehealth

PiperOrigin-RevId: 699935170
This commit is contained in:
Hiroyuki Komatsu
2024-11-25 12:35:50 +00:00
parent 480015f51b
commit 4a9ff1659d
9 changed files with 76 additions and 169 deletions

View File

@ -512,8 +512,6 @@ mozc_cc_test(
":converter_interface",
":segments",
"//composer",
"//composer:table",
"//config:config_handler",
"//engine:engine_factory",
"//engine:engine_interface",
"//protocol:commands_cc_proto",
@ -521,6 +519,7 @@ mozc_cc_test(
"//testing:gunit_main",
"//testing:mozctest",
"@com_google_absl//absl/log:check",
"@com_google_absl//absl/strings:string_view",
],
)

View File

@ -294,15 +294,6 @@ bool Converter::StartConversion(const ConversionRequest &original_request,
return Convert(request, conversion_key, segments);
}
bool Converter::StartConversionWithKey(Segments *segments,
const absl::string_view key) const {
if (key.empty()) {
return false;
}
const ConversionRequest default_request;
return Convert(default_request, key, segments);
}
bool Converter::Convert(const ConversionRequest &request,
const absl::string_view key, Segments *segments) const {
SetKey(segments, key);
@ -430,24 +421,6 @@ bool Converter::StartPrediction(const ConversionRequest &original_request,
return Predict(request, prediction_key, segments);
}
bool Converter::StartPredictionWithKey(Segments *segments,
const absl::string_view key) const {
const ConversionRequest default_request =
ConversionRequestBuilder()
.SetOptions({.request_type = ConversionRequest::PREDICTION})
.Build();
return Predict(default_request, key, segments);
}
bool Converter::StartSuggestionWithKey(Segments *segments,
const absl::string_view key) const {
const ConversionRequest default_request =
ConversionRequestBuilder()
.SetOptions({.request_type = ConversionRequest::SUGGESTION})
.Build();
return Predict(default_request, key, segments);
}
bool Converter::StartSuggestion(const ConversionRequest &original_request,
Segments *segments) const {
const ConversionRequest request = CreateConversionRequestWithType(
@ -456,15 +429,6 @@ bool Converter::StartSuggestion(const ConversionRequest &original_request,
return Predict(request, prediction_key, segments);
}
bool Converter::StartPartialSuggestionWithKey(
Segments *segments, const absl::string_view key) const {
const ConversionRequest default_request =
ConversionRequestBuilder()
.SetOptions({.request_type = ConversionRequest::PARTIAL_SUGGESTION})
.Build();
return Predict(default_request, key, segments);
}
bool Converter::StartPartialSuggestion(
const ConversionRequest &original_request, Segments *segments) const {
const ConversionRequest request = CreateConversionRequestWithType(
@ -480,15 +444,6 @@ bool Converter::StartPartialSuggestion(
return Predict(request, conversion_key, segments);
}
bool Converter::StartPartialPredictionWithKey(
Segments *segments, const absl::string_view key) const {
const ConversionRequest default_request =
ConversionRequestBuilder()
.SetOptions({.request_type = ConversionRequest::PARTIAL_PREDICTION})
.Build();
return Predict(default_request, key, segments);
}
bool Converter::StartPartialPrediction(
const ConversionRequest &original_request, Segments *segments) const {
const ConversionRequest request = CreateConversionRequestWithType(

View File

@ -66,35 +66,20 @@ class Converter final : public ConverterInterface {
bool StartConversion(const ConversionRequest &request,
Segments *segments) const override;
ABSL_MUST_USE_RESULT
bool StartConversionWithKey(Segments *segments,
absl::string_view key) const override;
ABSL_MUST_USE_RESULT
bool StartReverseConversion(Segments *segments,
absl::string_view key) const override;
ABSL_MUST_USE_RESULT
bool StartPrediction(const ConversionRequest &request,
Segments *segments) const override;
ABSL_MUST_USE_RESULT
bool StartPredictionWithKey(Segments *segments,
absl::string_view key) const override;
ABSL_MUST_USE_RESULT
bool StartSuggestion(const ConversionRequest &request,
Segments *segments) const override;
ABSL_MUST_USE_RESULT
bool StartSuggestionWithKey(Segments *segments,
absl::string_view key) const override;
ABSL_MUST_USE_RESULT
bool StartPartialPrediction(const ConversionRequest &request,
Segments *segments) const override;
ABSL_MUST_USE_RESULT
bool StartPartialPredictionWithKey(Segments *segments,
absl::string_view key) const override;
ABSL_MUST_USE_RESULT
bool StartPartialSuggestion(const ConversionRequest &request,
Segments *segments) const override;
ABSL_MUST_USE_RESULT
bool StartPartialSuggestionWithKey(Segments *segments,
absl::string_view key) const override;
void FinishConversion(const ConversionRequest &request,
Segments *segments) const override;

View File

@ -58,12 +58,6 @@ class ConverterInterface {
virtual bool StartConversion(const ConversionRequest &request,
Segments *segments) const = 0;
// Start conversion with key.
// key is a request written in Hiragana sequence
ABSL_MUST_USE_RESULT
virtual bool StartConversionWithKey(Segments *segments,
absl::string_view key) const = 0;
// Start reverse conversion with key.
ABSL_MUST_USE_RESULT
virtual bool StartReverseConversion(Segments *segments,
@ -74,41 +68,21 @@ class ConverterInterface {
virtual bool StartPrediction(const ConversionRequest &request,
Segments *segments) const = 0;
// Start prediction with key (request_type = PREDICTION)
ABSL_MUST_USE_RESULT
virtual bool StartPredictionWithKey(Segments *segments,
absl::string_view key) const = 0;
// Starts suggestion for given request.
ABSL_MUST_USE_RESULT
virtual bool StartSuggestion(const ConversionRequest &request,
Segments *segments) const = 0;
// Start suggestion with key (request_type = SUGGESTION)
ABSL_MUST_USE_RESULT
virtual bool StartSuggestionWithKey(Segments *segments,
absl::string_view key) const = 0;
// Starts partial prediction for given request.
ABSL_MUST_USE_RESULT
virtual bool StartPartialPrediction(const ConversionRequest &request,
Segments *segments) const = 0;
// Start prediction with key (request_type = PARTIAL_PREDICTION)
ABSL_MUST_USE_RESULT
virtual bool StartPartialPredictionWithKey(Segments *segments,
absl::string_view key) const = 0;
// Starts partial suggestion for given request.
ABSL_MUST_USE_RESULT
virtual bool StartPartialSuggestion(const ConversionRequest &request,
Segments *segments) const = 0;
// Start suggestion with key (request_type = PARTIAL_SUGGESTION)
ABSL_MUST_USE_RESULT
virtual bool StartPartialSuggestionWithKey(Segments *segments,
absl::string_view key) const = 0;
// Finish conversion.
// Segments are cleared. Context is not cleared
virtual void FinishConversion(const ConversionRequest &request,

View File

@ -314,7 +314,11 @@ bool ExecCommand(const ConverterInterface &converter, const std::string &line,
NumberUtil::SimpleAtoi(fields[2]), // begin pos
NumberUtil::SimpleAtoi(fields[3]), // end pos
fields[4]);
const bool result = converter.StartConversionWithKey(segments, fields[1]);
composer::Composer composer;
composer.SetPreeditTextForTestOnly(fields[1]);
const ConversionRequest convreq =
ConversionRequestBuilder().SetComposer(composer).Build();
const bool result = converter.StartConversion(convreq, segments);
Lattice::ResetDebugDisplayNode();
return result;
} else if (func == "reverseconversion" || func == "reverse" || func == "r") {

View File

@ -50,30 +50,20 @@ class StrictMockConverter : public ConverterInterface {
MOCK_METHOD(bool, StartConversion,
(const ConversionRequest &request, Segments *segments),
(const, override));
MOCK_METHOD(bool, StartConversionWithKey,
(Segments * segments, absl::string_view key), (const, override));
MOCK_METHOD(bool, StartReverseConversion,
(Segments * segments, absl::string_view key), (const, override));
MOCK_METHOD(bool, StartPrediction,
(const ConversionRequest &request, Segments *segments),
(const, override));
MOCK_METHOD(bool, StartPredictionWithKey,
(Segments * segments, absl::string_view key), (const, override));
MOCK_METHOD(bool, StartSuggestion,
(const ConversionRequest &request, Segments *segments),
(const, override));
MOCK_METHOD(bool, StartSuggestionWithKey,
(Segments * segments, absl::string_view key), (const, override));
MOCK_METHOD(bool, StartPartialPrediction,
(const ConversionRequest &request, Segments *segments),
(const, override));
MOCK_METHOD(bool, StartPartialPredictionWithKey,
(Segments * segments, absl::string_view key), (const, override));
MOCK_METHOD(bool, StartPartialSuggestion,
(const ConversionRequest &request, Segments *segments),
(const, override));
MOCK_METHOD(bool, StartPartialSuggestionWithKey,
(Segments * segments, absl::string_view key), (const, override));
MOCK_METHOD(void, FinishConversion,
(const ConversionRequest &request, Segments *segments),
(const, override));

View File

@ -30,9 +30,8 @@
#include <memory>
#include "absl/log/check.h"
#include "absl/strings/string_view.h"
#include "composer/composer.h"
#include "composer/table.h"
#include "config/config_handler.h"
#include "converter/converter_interface.h"
#include "converter/segments.h"
#include "engine/engine_factory.h"
@ -45,7 +44,11 @@
namespace mozc {
namespace {
using ::mozc::composer::Table;
ConversionRequest ConvReq(absl::string_view key) {
composer::Composer composer;
composer.SetPreeditTextForTestOnly(key);
return ConversionRequestBuilder().SetComposer(composer).Build();
}
class ConverterRegressionTest : public testing::TestWithTempUserProfile {};
@ -56,16 +59,17 @@ TEST_F(ConverterRegressionTest, QueryOfDeathTest) {
CHECK(converter);
{
Segments segments;
EXPECT_TRUE(converter->StartConversionWithKey(&segments, "りゅきゅけmぽ"));
EXPECT_TRUE(
converter->StartConversion(ConvReq("りゅきゅけmぽ"), &segments));
}
{
Segments segments;
EXPECT_TRUE(converter->StartConversionWithKey(&segments, "5.1,||t:1"));
EXPECT_TRUE(converter->StartConversion(ConvReq("5.1,||t:1"), &segments));
}
{
Segments segments;
// Converter returns false, but not crash.
EXPECT_FALSE(converter->StartConversionWithKey(&segments, ""));
EXPECT_FALSE(converter->StartConversion(ConvReq(""), &segments));
}
{
Segments segments;
@ -81,7 +85,7 @@ TEST_F(ConverterRegressionTest, Regression3323108) {
Segments segments;
EXPECT_TRUE(
converter->StartConversionWithKey(&segments, "ここではきものをぬぐ"));
converter->StartConversion(ConvReq("ここではきものをぬぐ"), &segments));
EXPECT_EQ(segments.conversion_segments_size(), 3);
const ConversionRequest default_request;
EXPECT_TRUE(converter->ResizeSegment(&segments, default_request, 1, 2));

View File

@ -163,6 +163,12 @@ class InsertPlaceholderWordsRewriter : public RewriterInterface {
}
};
ConversionRequest ConvReqWithKey(absl::string_view key) {
composer::Composer composer;
composer.SetPreeditTextForTestOnly(key);
return ConversionRequestBuilder().SetComposer(composer).Build();
}
} // namespace
class MockPredictor : public mozc::prediction::PredictorInterface {
@ -385,11 +391,12 @@ TEST_F(ConverterTest, CanConvertTest) {
CHECK(converter);
{
Segments segments;
EXPECT_TRUE(converter->StartConversionWithKey(&segments, "-"));
EXPECT_TRUE(converter->StartConversion(ConvReqWithKey("-"), &segments));
}
{
Segments segments;
EXPECT_TRUE(converter->StartConversionWithKey(&segments, "おきておきて"));
EXPECT_TRUE(
converter->StartConversion(ConvReqWithKey("おきておきて"), &segments));
}
}
@ -403,7 +410,7 @@ std::string ContextAwareConvert(const std::string &first_key,
CHECK(converter);
Segments segments;
EXPECT_TRUE(converter->StartConversionWithKey(&segments, first_key));
EXPECT_TRUE(converter->StartConversion(ConvReqWithKey(first_key), &segments));
std::string converted;
int segment_num = 0;
@ -437,7 +444,8 @@ std::string ContextAwareConvert(const std::string &first_key,
// TODO(team): Use StartConversionForRequest instead of StartConversion.
const ConversionRequest default_request;
converter->FinishConversion(default_request, &segments);
EXPECT_TRUE(converter->StartConversionWithKey(&segments, second_key));
EXPECT_TRUE(
converter->StartConversion(ConvReqWithKey(second_key), &segments));
EXPECT_EQ(segments.segments_size(), segment_num + 1);
return segments.segment(segment_num).candidate(0).value;
@ -799,7 +807,8 @@ TEST_F(ConverterTest, CandidateKeyTest) {
ConverterInterface *converter = engine->GetConverter();
CHECK(converter);
Segments segments;
EXPECT_TRUE(converter->StartConversionWithKey(&segments, "わたしは"));
EXPECT_TRUE(
converter->StartConversion(ConvReqWithKey("わたしは"), &segments));
EXPECT_EQ(segments.segments_size(), 1);
EXPECT_EQ(segments.segment(0).candidate(0).key, "わたしは");
EXPECT_EQ(segments.segment(0).candidate(0).content_key, "わたし");
@ -819,7 +828,8 @@ TEST_F(ConverterTest, Regression3437022) {
{
// Make sure convert result is one segment
EXPECT_TRUE(converter->StartConversionWithKey(&segments, kKey1 + kKey2));
EXPECT_TRUE(
converter->StartConversion(ConvReqWithKey(kKey1 + kKey2), &segments));
EXPECT_EQ(segments.conversion_segments_size(), 1);
EXPECT_EQ(segments.conversion_segment(0).candidate(0).value,
kValue1 + kValue2);
@ -827,14 +837,14 @@ TEST_F(ConverterTest, Regression3437022) {
{
// Make sure we can convert first part
segments.Clear();
EXPECT_TRUE(converter->StartConversionWithKey(&segments, kKey1));
EXPECT_TRUE(converter->StartConversion(ConvReqWithKey(kKey1), &segments));
EXPECT_EQ(segments.conversion_segments_size(), 1);
EXPECT_EQ(segments.conversion_segment(0).candidate(0).value, kValue1);
}
{
// Make sure we can convert last part
segments.Clear();
EXPECT_TRUE(converter->StartConversionWithKey(&segments, kKey2));
EXPECT_TRUE(converter->StartConversion(ConvReqWithKey(kKey2), &segments));
EXPECT_EQ(segments.conversion_segments_size(), 1);
EXPECT_EQ(segments.conversion_segment(0).candidate(0).value, kValue2);
}
@ -847,7 +857,8 @@ TEST_F(ConverterTest, Regression3437022) {
dic->AddEntry(kKey1 + kKey2, kValue1 + kValue2);
dic->UnLock();
EXPECT_TRUE(converter->StartConversionWithKey(&segments, kKey1 + kKey2));
EXPECT_TRUE(
converter->StartConversion(ConvReqWithKey(kKey1 + kKey2), &segments));
int rest_size = 0;
for (const Segment &segment : segments.conversion_segments().drop(1)) {
@ -934,7 +945,7 @@ TEST_F(ConverterTest, Regression3046266) {
constexpr char kValueNotExpected[] = "";
EXPECT_TRUE(converter->StartConversionWithKey(&segments, kKey1));
EXPECT_TRUE(converter->StartConversion(ConvReqWithKey(kKey1), &segments));
EXPECT_EQ(segments.conversion_segments_size(), 1);
EXPECT_TRUE(converter->CommitSegmentValue(&segments, 0, 0));
@ -942,7 +953,7 @@ TEST_F(ConverterTest, Regression3046266) {
const ConversionRequest default_request;
converter->FinishConversion(default_request, &segments);
EXPECT_TRUE(converter->StartConversionWithKey(&segments, kKey2));
EXPECT_TRUE(converter->StartConversion(ConvReqWithKey(kKey2), &segments));
EXPECT_EQ(segments.conversion_segments_size(), 1);
const Segment &segment = segments.conversion_segment(0);
for (size_t i = 0; i < segment.candidates_size(); ++i) {
@ -960,7 +971,7 @@ TEST_F(ConverterTest, Regression5502496) {
constexpr char kKey[] = "みんあ";
constexpr char kValueExpected[] = "みんな";
EXPECT_TRUE(converter->StartConversionWithKey(&segments, kKey));
EXPECT_TRUE(converter->StartConversion(ConvReqWithKey(kKey), &segments));
EXPECT_EQ(segments.conversion_segments_size(), 1);
const Segment &segment = segments.conversion_segment(0);
bool found = false;
@ -995,7 +1006,7 @@ TEST_F(ConverterTest, StartSuggestion) {
commands::Context context;
ConversionRequest::Options options = {.request_type =
ConversionRequest::SUGGESTION};
ConversionRequest::SUGGESTION};
const ConversionRequest request(composer, client_request, context, config,
std::move(options));
@ -1016,7 +1027,7 @@ TEST_F(ConverterTest, StartSuggestion) {
commands::Context context;
ConversionRequest::Options options = {.request_type =
ConversionRequest::SUGGESTION};
ConversionRequest::SUGGESTION};
const ConversionRequest request(composer, client_request, context, config,
std::move(options));
@ -1037,7 +1048,8 @@ TEST_F(ConverterTest, StartPartialPrediction) {
ConverterInterface *converter = engine->GetConverter();
CHECK(converter);
Segments segments;
EXPECT_TRUE(converter->StartPartialPredictionWithKey(&segments, "わたしは"));
EXPECT_TRUE(
converter->StartPartialPrediction(ConvReqWithKey("わたしは"), &segments));
EXPECT_EQ(segments.segments_size(), 1);
EXPECT_EQ(segments.segment(0).candidate(0).key, "わたしは");
EXPECT_EQ(segments.segment(0).candidate(0).content_key, "わたしは");
@ -1049,7 +1061,8 @@ TEST_F(ConverterTest, StartPartialSuggestion) {
ConverterInterface *converter = engine->GetConverter();
CHECK(converter);
Segments segments;
EXPECT_TRUE(converter->StartPartialSuggestionWithKey(&segments, "わたしは"));
EXPECT_TRUE(
converter->StartPartialSuggestion(ConvReqWithKey("わたしは"), &segments));
EXPECT_EQ(segments.segments_size(), 1);
EXPECT_EQ(segments.segment(0).candidate(0).key, "わたしは");
EXPECT_EQ(segments.segment(0).candidate(0).content_key, "わたしは");
@ -1060,7 +1073,8 @@ TEST_F(ConverterTest, StartPartialPredictionMobile) {
ConverterInterface *converter = engine->GetConverter();
CHECK(converter);
Segments segments;
EXPECT_TRUE(converter->StartPartialPredictionWithKey(&segments, "わたしは"));
EXPECT_TRUE(
converter->StartPartialPrediction(ConvReqWithKey("わたしは"), &segments));
EXPECT_EQ(segments.segments_size(), 1);
EXPECT_EQ(segments.segment(0).candidate(0).key, "わたしは");
EXPECT_EQ(segments.segment(0).candidate(0).content_key, "わたしは");
@ -1071,7 +1085,8 @@ TEST_F(ConverterTest, StartPartialSuggestionMobile) {
ConverterInterface *converter = engine->GetConverter();
CHECK(converter);
Segments segments;
EXPECT_TRUE(converter->StartPartialSuggestionWithKey(&segments, "わたしは"));
EXPECT_TRUE(
converter->StartPartialSuggestion(ConvReqWithKey("わたしは"), &segments));
EXPECT_EQ(segments.segments_size(), 1);
EXPECT_EQ(segments.segment(0).candidate(0).key, "わたしは");
EXPECT_EQ(segments.segment(0).candidate(0).content_key, "わたしは");
@ -1121,7 +1136,7 @@ TEST_F(ConverterTest, PredictSetKey) {
// Tests whether SetKey method is called or not.
struct TestData {
// Input conditions.
const std::optional<absl::string_view> key; // Input key presence.
const std::optional<absl::string_view> key; // Input key presence.
const bool expect_set_key_is_called;
};
@ -1217,7 +1232,7 @@ TEST_F(ConverterTest, VariantExpansionForSuggestion) {
Segments segments;
{
// Dictionary suggestion
EXPECT_TRUE(converter.StartSuggestionWithKey(&segments, "てすと"));
EXPECT_TRUE(converter.StartSuggestion(ConvReqWithKey("てすと"), &segments));
EXPECT_EQ(segments.conversion_segments_size(), 1);
EXPECT_LE(1, segments.conversion_segment(0).candidates_size());
EXPECT_TRUE(FindCandidateByValue("<>!?", segments.conversion_segment(0)));
@ -1227,7 +1242,8 @@ TEST_F(ConverterTest, VariantExpansionForSuggestion) {
{
// Realtime conversion
segments.Clear();
EXPECT_TRUE(converter.StartSuggestionWithKey(&segments, "てすとの"));
EXPECT_TRUE(
converter.StartSuggestion(ConvReqWithKey("てすとの"), &segments));
EXPECT_EQ(segments.conversion_segments_size(), 1);
EXPECT_LE(1, segments.conversion_segment(0).candidates_size());
EXPECT_TRUE(FindCandidateByValue("<>!?の", segments.conversion_segment(0)));
@ -1567,9 +1583,9 @@ TEST_F(ConverterTest, LimitCandidatesSize) {
mozc::composer::Composer composer(&table, &request_proto, &config);
composer.InsertCharacterPreedit("");
const ConversionRequest request1 = ConversionRequestBuilder()
.SetComposer(composer)
.SetRequest(request_proto)
.Build();
.SetComposer(composer)
.SetRequest(request_proto)
.Build();
Segments segments;
ASSERT_TRUE(converter->StartConversion(request1, &segments));
ASSERT_EQ(segments.conversion_segments_size(), 1);
@ -1583,9 +1599,9 @@ TEST_F(ConverterTest, LimitCandidatesSize) {
segments.Clear();
request_proto.set_candidates_size_limit(original_candidates_size - 1);
const ConversionRequest request2 = ConversionRequestBuilder()
.SetComposer(composer)
.SetRequest(request_proto)
.Build();
.SetComposer(composer)
.SetRequest(request_proto)
.Build();
ASSERT_TRUE(converter->StartConversion(request2, &segments));
ASSERT_EQ(segments.conversion_segments_size(), 1);
EXPECT_GE(original_candidates_size - 1,
@ -1598,9 +1614,9 @@ TEST_F(ConverterTest, LimitCandidatesSize) {
segments.Clear();
request_proto.set_candidates_size_limit(0);
const ConversionRequest request3 = ConversionRequestBuilder()
.SetComposer(composer)
.SetRequest(request_proto)
.Build();
.SetComposer(composer)
.SetRequest(request_proto)
.Build();
ASSERT_TRUE(converter->StartConversion(request3, &segments));
ASSERT_EQ(segments.conversion_segments_size(), 1);
EXPECT_EQ(segments.segment(0).candidates_size(), 1);
@ -1623,7 +1639,7 @@ TEST_F(ConverterTest, UserEntryShouldBePromoted) {
CHECK(converter);
{
Segments segments;
EXPECT_TRUE(converter->StartConversionWithKey(&segments, "あい"));
EXPECT_TRUE(converter->StartConversion(ConvReqWithKey("あい"), &segments));
ASSERT_EQ(segments.conversion_segments_size(), 1);
ASSERT_LT(1, segments.conversion_segment(0).candidates_size());
EXPECT_EQ(segments.conversion_segment(0).candidate(0).value, "");
@ -1681,7 +1697,7 @@ TEST_F(ConverterTest, UserEntryShouldBePromotedMobilePrediction) {
CHECK(converter);
{
Segments segments;
EXPECT_TRUE(converter->StartPredictionWithKey(&segments, "あい"));
EXPECT_TRUE(converter->StartPrediction(ConvReqWithKey("あい"), &segments));
ASSERT_EQ(segments.conversion_segments_size(), 1);
ASSERT_LT(1, segments.conversion_segment(0).candidates_size());
@ -1716,7 +1732,7 @@ TEST_F(ConverterTest, SuppressionEntryShouldBePrioritized) {
CHECK(converter);
{
Segments segments;
EXPECT_TRUE(converter->StartConversionWithKey(&segments, "あい"));
EXPECT_TRUE(converter->StartConversion(ConvReqWithKey("あい"), &segments));
ASSERT_EQ(segments.conversion_segments_size(), 1);
ASSERT_LT(1, segments.conversion_segment(0).candidates_size());
EXPECT_FALSE(FindCandidateByValue("", segments.conversion_segment(0)));
@ -1741,7 +1757,8 @@ TEST_F(ConverterTest, SuppressionEntryShouldBePrioritizedPrediction) {
CHECK(converter);
{
Segments segments;
EXPECT_TRUE(converter->StartPredictionWithKey(&segments, "あい"));
EXPECT_TRUE(
converter->StartPrediction(ConvReqWithKey("あい"), &segments));
ASSERT_EQ(segments.conversion_segments_size(), 1);
ASSERT_LT(1, segments.conversion_segment(0).candidates_size());
EXPECT_FALSE(FindCandidateByValue("", segments.conversion_segment(0)));
@ -1763,7 +1780,8 @@ TEST_F(ConverterTest, AbbreviationShouldBeIndependent) {
CHECK(converter);
{
Segments segments;
EXPECT_TRUE(converter->StartConversionWithKey(&segments, "じゅうじか"));
EXPECT_TRUE(
converter->StartConversion(ConvReqWithKey("じゅうじか"), &segments));
ASSERT_EQ(segments.conversion_segments_size(), 1);
EXPECT_FALSE(
FindCandidateByValue("Google+うじか", segments.conversion_segment(0)));
@ -1787,7 +1805,8 @@ TEST_F(ConverterTest, AbbreviationShouldBeIndependentPrediction) {
{
Segments segments;
EXPECT_TRUE(converter->StartPredictionWithKey(&segments, "じゅうじか"));
EXPECT_TRUE(
converter->StartPrediction(ConvReqWithKey("じゅうじか"), &segments));
ASSERT_EQ(segments.conversion_segments_size(), 1);
EXPECT_FALSE(FindCandidateByValue("Google+うじか",
segments.conversion_segment(0)));
@ -1809,7 +1828,8 @@ TEST_F(ConverterTest, SuggestionOnlyShouldBeIndependent) {
CHECK(converter);
{
Segments segments;
EXPECT_TRUE(converter->StartConversionWithKey(&segments, "じゅうじか"));
EXPECT_TRUE(
converter->StartConversion(ConvReqWithKey("じゅうじか"), &segments));
ASSERT_EQ(segments.conversion_segments_size(), 1);
EXPECT_FALSE(
FindCandidateByValue("Google+うじか", segments.conversion_segment(0)));
@ -1832,7 +1852,8 @@ TEST_F(ConverterTest, SuggestionOnlyShouldBeIndependentPrediction) {
CHECK(converter);
{
Segments segments;
EXPECT_TRUE(converter->StartConversionWithKey(&segments, "じゅうじか"));
EXPECT_TRUE(
converter->StartConversion(ConvReqWithKey("じゅうじか"), &segments));
ASSERT_EQ(segments.conversion_segments_size(), 1);
EXPECT_FALSE(FindCandidateByValue("Google+うじか",
segments.conversion_segment(0)));

View File

@ -106,11 +106,6 @@ class MinimalConverter : public ConverterInterface {
return AddAsIsCandidate(request, segments);
}
bool StartConversionWithKey(Segments *segments,
const absl::string_view key) const override {
return AddAsIsCandidate(key, segments);
}
bool StartReverseConversion(Segments *segments,
const absl::string_view key) const override {
return false;
@ -121,41 +116,21 @@ class MinimalConverter : public ConverterInterface {
return AddAsIsCandidate(request, segments);
}
bool StartPredictionWithKey(Segments *segments,
const absl::string_view key) const override {
return AddAsIsCandidate(key, segments);
}
bool StartSuggestion(const ConversionRequest &request,
Segments *segments) const override {
return AddAsIsCandidate(request, segments);
}
bool StartSuggestionWithKey(Segments *segments,
const absl::string_view key) const override {
return AddAsIsCandidate(key, segments);
}
bool StartPartialPrediction(const ConversionRequest &request,
Segments *segments) const override {
return false;
}
bool StartPartialPredictionWithKey(
Segments *segments, const absl::string_view key) const override {
return false;
}
bool StartPartialSuggestion(const ConversionRequest &request,
Segments *segments) const override {
return false;
}
bool StartPartialSuggestionWithKey(
Segments *segments, const absl::string_view key) const override {
return false;
}
void FinishConversion(const ConversionRequest &request,
Segments *segments) const override {}