// 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, FromNSRange) { NSRange nsr = NSMakeRange(10, 3); gfx::Range r(nsr); EXPECT_EQ(nsr.location, r.start()); EXPECT_EQ(13U, r.end()); EXPECT_EQ(nsr.length, r.length()); EXPECT_FALSE(r.is_reversed()); EXPECT_TRUE(r.IsValid()); } TEST(RangeTest, ToNSRange) { gfx::Range r(10, 12); NSRange nsr = r.ToNSRange(); EXPECT_EQ(10U, nsr.location); EXPECT_EQ(2U, nsr.length); } TEST(RangeTest, ReversedToNSRange) { gfx::Range r(20, 10); NSRange nsr = r.ToNSRange(); EXPECT_EQ(10U, nsr.location); EXPECT_EQ(10U, nsr.length); } TEST(RangeTest, FromNSRangeInvalid) { NSRange nsr = NSMakeRange(NSNotFound, 0); gfx::Range r(nsr); EXPECT_FALSE(r.IsValid()); } TEST(RangeTest, ToNSRangeInvalid) { gfx::Range r(gfx::Range::InvalidRange()); NSRange nsr = r.ToNSRange(); EXPECT_EQ(NSNotFound, nsr.location); EXPECT_EQ(0U, nsr.length); }