1// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "testing/gtest/include/gtest/gtest.h" 6#include "ui/gfx/range/range.h" 7 8TEST(RangeTest, FromNSRange) { 9 NSRange nsr = NSMakeRange(10, 3); 10 gfx::Range r(nsr); 11 EXPECT_EQ(nsr.location, r.start()); 12 EXPECT_EQ(13U, r.end()); 13 EXPECT_EQ(nsr.length, r.length()); 14 EXPECT_FALSE(r.is_reversed()); 15 EXPECT_TRUE(r.IsValid()); 16} 17 18TEST(RangeTest, ToNSRange) { 19 gfx::Range r(10, 12); 20 NSRange nsr = r.ToNSRange(); 21 EXPECT_EQ(10U, nsr.location); 22 EXPECT_EQ(2U, nsr.length); 23} 24 25TEST(RangeTest, ReversedToNSRange) { 26 gfx::Range r(20, 10); 27 NSRange nsr = r.ToNSRange(); 28 EXPECT_EQ(10U, nsr.location); 29 EXPECT_EQ(10U, nsr.length); 30} 31 32TEST(RangeTest, FromNSRangeInvalid) { 33 NSRange nsr = NSMakeRange(NSNotFound, 0); 34 gfx::Range r(nsr); 35 EXPECT_FALSE(r.IsValid()); 36} 37 38TEST(RangeTest, ToNSRangeInvalid) { 39 gfx::Range r(gfx::Range::InvalidRange()); 40 NSRange nsr = r.ToNSRange(); 41 EXPECT_EQ(NSNotFound, nsr.location); 42 EXPECT_EQ(0U, nsr.length); 43} 44