summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ui/base/range/range.cc34
-rw-r--r--ui/base/range/range_mac.mm (renamed from ui/base/range/range.mm)0
-rw-r--r--ui/base/range/range_mac_unittest.mm (renamed from ui/base/range/range_unittest.mm)0
-rw-r--r--ui/base/range/range_unittest.cc59
-rw-r--r--ui/base/range/range_win.cc45
-rw-r--r--ui/base/range/range_win_unittest.cc63
-rw-r--r--ui/ui_base.gypi3
-rw-r--r--ui/ui_unittests.gypi3
8 files changed, 112 insertions, 95 deletions
diff --git a/ui/base/range/range.cc b/ui/base/range/range.cc
index 0c5b506..53223d2 100644
--- a/ui/base/range/range.cc
+++ b/ui/base/range/range.cc
@@ -75,40 +75,6 @@ Range Range::Intersect(const Range& range) const {
return Range(min, max);
}
-#if defined(OS_WIN)
-Range::Range(const CHARRANGE& range, LONG total_length) {
- // Check if this is an invalid range.
- if (range.cpMin == -1 && range.cpMax == -1) {
- *this = InvalidRange();
- } else {
- DCHECK_GE(range.cpMin, 0);
- set_start(range.cpMin);
- // {0,-1} is the "whole range" but that doesn't mean much out of context,
- // so use the |total_length| parameter.
- if (range.cpMax == -1) {
- DCHECK_EQ(0, range.cpMin);
- DCHECK_NE(-1, total_length);
- set_end(total_length);
- } else {
- set_end(range.cpMax);
- }
- }
-}
-
-CHARRANGE Range::ToCHARRANGE() const {
- CHARRANGE r = { -1, -1 };
- if (!IsValid())
- return r;
-
- const LONG kLONGMax = std::numeric_limits<LONG>::max();
- DCHECK_LE(static_cast<LONG>(start()), kLONGMax);
- DCHECK_LE(static_cast<LONG>(end()), kLONGMax);
- r.cpMin = start();
- r.cpMax = end();
- return r;
-}
-#endif // defined(OS_WIN)
-
std::ostream& operator<<(std::ostream& out, const ui::Range& range) {
return out << "{" << range.start() << "," << range.end() << "}";
}
diff --git a/ui/base/range/range.mm b/ui/base/range/range_mac.mm
index e99db37..e99db37 100644
--- a/ui/base/range/range.mm
+++ b/ui/base/range/range_mac.mm
diff --git a/ui/base/range/range_unittest.mm b/ui/base/range/range_mac_unittest.mm
index 3142540..3142540 100644
--- a/ui/base/range/range_unittest.mm
+++ b/ui/base/range/range_mac_unittest.mm
diff --git a/ui/base/range/range_unittest.cc b/ui/base/range/range_unittest.cc
index cf0da5a..95bc54e 100644
--- a/ui/base/range/range_unittest.cc
+++ b/ui/base/range/range_unittest.cc
@@ -206,62 +206,3 @@ TEST(RangeTest, ContainAndIntersect) {
EXPECT_FALSE(r1.Contains(invalid));
EXPECT_FALSE(r1.Intersects(invalid));
}
-
-#if defined(OS_WIN)
-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);
-}
-#endif // defined(OS_WIN)
diff --git a/ui/base/range/range_win.cc b/ui/base/range/range_win.cc
new file mode 100644
index 0000000..0a34958
--- /dev/null
+++ b/ui/base/range/range_win.cc
@@ -0,0 +1,45 @@
+// 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 "ui/base/range/range.h"
+
+#include <limits>
+
+#include "base/logging.h"
+
+namespace ui {
+
+Range::Range(const CHARRANGE& range, LONG total_length) {
+ // Check if this is an invalid range.
+ if (range.cpMin == -1 && range.cpMax == -1) {
+ *this = InvalidRange();
+ } else {
+ DCHECK_GE(range.cpMin, 0);
+ set_start(range.cpMin);
+ // {0,-1} is the "whole range" but that doesn't mean much out of context,
+ // so use the |total_length| parameter.
+ if (range.cpMax == -1) {
+ DCHECK_EQ(0, range.cpMin);
+ DCHECK_NE(-1, total_length);
+ set_end(total_length);
+ } else {
+ set_end(range.cpMax);
+ }
+ }
+}
+
+CHARRANGE Range::ToCHARRANGE() const {
+ CHARRANGE r = { -1, -1 };
+ if (!IsValid())
+ return r;
+
+ const LONG kLONGMax = std::numeric_limits<LONG>::max();
+ DCHECK_LE(static_cast<LONG>(start()), kLONGMax);
+ DCHECK_LE(static_cast<LONG>(end()), kLONGMax);
+ r.cpMin = start();
+ r.cpMax = end();
+ return r;
+}
+
+} // namespace gfx
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);
+}
diff --git a/ui/ui_base.gypi b/ui/ui_base.gypi
index d5a8c58..da4634b 100644
--- a/ui/ui_base.gypi
+++ b/ui/ui_base.gypi
@@ -128,7 +128,8 @@
'base/models/tree_node_model.h',
'base/range/range.cc',
'base/range/range.h',
- 'base/range/range.mm',
+ 'base/range/range_mac.mm',
+ 'base/range/range_win.cc',
'base/resource/data_pack.cc',
'base/resource/data_pack.h',
'base/resource/resource_bundle.cc',
diff --git a/ui/ui_unittests.gypi b/ui/ui_unittests.gypi
index 3fb1c4a..9790d12 100644
--- a/ui/ui_unittests.gypi
+++ b/ui/ui_unittests.gypi
@@ -29,7 +29,8 @@
'base/models/tree_node_iterator_unittest.cc',
'base/models/tree_node_model_unittest.cc',
'base/range/range_unittest.cc',
- 'base/range/range_unittest.mm',
+ 'base/range/range_mac_unittest.mm',
+ 'base/range/range_win_unittest.cc',
'base/resource/data_pack_unittest.cc',
'base/resource/resource_bundle_unittest.cc',
'base/text/bytes_formatting_unittest.cc',