// Copyright (c) 2011 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 "testing/gtest/include/gtest/gtest.h" #include "ui/gfx/range/range.h" TEST(RangeTest, FromCHARRANGE) { CHARRANGE cr = { 10, 32 }; gfx::Range r(cr, 50); EXPECT_EQ(10U, r.start()); EXPECT_EQ(32U, r.end()); EXPECT_EQ(22U, r.length()); EXPECT_FALSE(r.is_reversed()); EXPECT_TRUE(r.IsValid()); } TEST(RangeTest, FromReversedCHARRANGE) { CHARRANGE cr = { 20, 10 }; gfx::Range r(cr, 40); EXPECT_EQ(20U, r.start()); EXPECT_EQ(10U, r.end()); EXPECT_EQ(10U, r.length()); EXPECT_TRUE(r.is_reversed()); EXPECT_TRUE(r.IsValid()); } TEST(RangeTest, FromCHARRANGETotal) { CHARRANGE cr = { 0, -1 }; gfx::Range r(cr, 20); EXPECT_EQ(0U, r.start()); EXPECT_EQ(20U, r.end()); EXPECT_EQ(20U, r.length()); EXPECT_FALSE(r.is_reversed()); EXPECT_TRUE(r.IsValid()); } TEST(RangeTest, ToCHARRANGE) { gfx::Range r(10, 30); CHARRANGE cr = r.ToCHARRANGE(); EXPECT_EQ(10, cr.cpMin); EXPECT_EQ(30, cr.cpMax); } TEST(RangeTest, ReversedToCHARRANGE) { gfx::Range r(20, 10); CHARRANGE cr = r.ToCHARRANGE(); EXPECT_EQ(20U, cr.cpMin); EXPECT_EQ(10U, cr.cpMax); } TEST(RangeTest, FromCHARRANGEInvalid) { CHARRANGE cr = { -1, -1 }; gfx::Range r(cr, 30); EXPECT_FALSE(r.IsValid()); } TEST(RangeTest, ToCHARRANGEInvalid) { gfx::Range r(gfx::Range::InvalidRange()); CHARRANGE cr = r.ToCHARRANGE(); EXPECT_EQ(-1, cr.cpMin); EXPECT_EQ(-1, cr.cpMax); }