blob: 6ca7294efe6fb04b5cbc5248f2b7cb0334163311 [file] [log] [blame]
// Copyright 2017 The Chromium 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 "platform/text/TextRun.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace blink {
TEST(TextRunTest, IndexOfSubRun) {
TextRun run(String("1234567890"));
EXPECT_EQ(0u, run.IndexOfSubRun(run.SubRun(0, 4)));
EXPECT_EQ(4u, run.IndexOfSubRun(run.SubRun(4, 4)));
EXPECT_EQ(6u, run.IndexOfSubRun(run.SubRun(6, 4)));
const unsigned kNotSubRun = std::numeric_limits<unsigned>::max();
EXPECT_EQ(kNotSubRun, run.IndexOfSubRun(run.SubRun(7, 4)));
EXPECT_EQ(kNotSubRun, run.IndexOfSubRun(TextRun(String("1"))));
EXPECT_EQ(kNotSubRun, run.IndexOfSubRun(TextRun(String(u"1"))));
TextRun run16(String(u"1234567890"));
EXPECT_EQ(0u, run16.IndexOfSubRun(run16.SubRun(0, 4)));
EXPECT_EQ(4u, run16.IndexOfSubRun(run16.SubRun(4, 4)));
EXPECT_EQ(6u, run16.IndexOfSubRun(run16.SubRun(6, 4)));
EXPECT_EQ(kNotSubRun, run16.IndexOfSubRun(run16.SubRun(7, 4)));
EXPECT_EQ(kNotSubRun, run16.IndexOfSubRun(TextRun(String("1"))));
EXPECT_EQ(kNotSubRun, run16.IndexOfSubRun(TextRun(String(u"1"))));
}
} // namespace blink