blob: cdeff77a8ceea1d93cbe3306cd9c541539100da9 [file] [log] [blame]
// Copyright 2013 The Flutter 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 "flutter/shell/platform/common/cpp/text_range.h"
#include "gtest/gtest.h"
namespace flutter {
TEST(TextRange, TextRangeFromPositionZero) {
TextRange range(0);
EXPECT_EQ(range.base(), size_t(0));
EXPECT_EQ(range.extent(), size_t(0));
EXPECT_EQ(range.start(), size_t(0));
EXPECT_EQ(range.end(), size_t(0));
EXPECT_EQ(range.length(), size_t(0));
EXPECT_EQ(range.position(), size_t(0));
EXPECT_TRUE(range.collapsed());
}
TEST(TextRange, TextRangeFromPositionNonZero) {
TextRange range(3);
EXPECT_EQ(range.base(), size_t(3));
EXPECT_EQ(range.extent(), size_t(3));
EXPECT_EQ(range.start(), size_t(3));
EXPECT_EQ(range.end(), size_t(3));
EXPECT_EQ(range.length(), size_t(0));
EXPECT_EQ(range.position(), size_t(3));
EXPECT_TRUE(range.collapsed());
}
TEST(TextRange, TextRangeFromRange) {
TextRange range(3, 7);
EXPECT_EQ(range.base(), size_t(3));
EXPECT_EQ(range.extent(), size_t(7));
EXPECT_EQ(range.start(), size_t(3));
EXPECT_EQ(range.end(), size_t(7));
EXPECT_EQ(range.length(), size_t(4));
EXPECT_FALSE(range.collapsed());
}
TEST(TextRange, TextRangeFromReversedRange) {
TextRange range(7, 3);
EXPECT_EQ(range.base(), size_t(7));
EXPECT_EQ(range.extent(), size_t(3));
EXPECT_EQ(range.start(), size_t(3));
EXPECT_EQ(range.end(), size_t(7));
EXPECT_EQ(range.length(), size_t(4));
EXPECT_FALSE(range.collapsed());
}
} // namespace flutter