summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/text/text_run_test.cc
blob: 4dd4b1e0ede10e4aedb7223e1e6123f6053d3800 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// 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 "third_party/blink/renderer/platform/text/text_run.h"

#include "testing/gtest/include/gtest/gtest.h"

namespace blink {

#if defined(THREAD_SANITIZER)
#define MAYBE_IndexOfSubRun DISABLED_IndexOfSubRun  // https://crbug.com/830648
#else
#define MAYBE_IndexOfSubRun IndexOfSubRun
#endif

TEST(TextRunTest, MAYBE_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