diff options
Diffstat (limited to 'ui/base/range/range_win_unittest.cc')
-rw-r--r-- | ui/base/range/range_win_unittest.cc | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/ui/base/range/range_win_unittest.cc b/ui/base/range/range_win_unittest.cc new file mode 100644 index 0000000..4122d06 --- /dev/null +++ b/ui/base/range/range_win_unittest.cc @@ -0,0 +1,63 @@ +// 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/base/range/range.h" + +TEST(RangeTest, FromCHARRANGE) { + CHARRANGE cr = { 10, 32 }; + ui::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 }; + ui::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 }; + ui::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) { + ui::Range r(10, 30); + CHARRANGE cr = r.ToCHARRANGE(); + EXPECT_EQ(10, cr.cpMin); + EXPECT_EQ(30, cr.cpMax); +} + +TEST(RangeTest, ReversedToCHARRANGE) { + ui::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 }; + ui::Range r(cr, 30); + EXPECT_FALSE(r.IsValid()); +} + +TEST(RangeTest, ToCHARRANGEInvalid) { + ui::Range r(ui::Range::InvalidRange()); + CHARRANGE cr = r.ToCHARRANGE(); + EXPECT_EQ(-1, cr.cpMin); + EXPECT_EQ(-1, cr.cpMax); +} |