Home | History | Annotate | Download | only in range
      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 
      8 TEST(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 
     18 TEST(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 
     25 TEST(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 
     32 TEST(RangeTest, FromNSRangeInvalid) {
     33   NSRange nsr = NSMakeRange(NSNotFound, 0);
     34   gfx::Range r(nsr);
     35   EXPECT_FALSE(r.IsValid());
     36 }
     37 
     38 TEST(RangeTest, ToNSRangeInvalid) {
     39   gfx::Range r(gfx::Range::InvalidRange());
     40   NSRange nsr = r.ToNSRange();
     41   EXPECT_EQ(static_cast<NSUInteger>(NSNotFound), nsr.location);
     42   EXPECT_EQ(0U, nsr.length);
     43 }
     44