diff options
Diffstat (limited to 'printing/page_range_unittest.cc')
-rw-r--r-- | printing/page_range_unittest.cc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/printing/page_range_unittest.cc b/printing/page_range_unittest.cc new file mode 100644 index 0000000..2cb4f82 --- /dev/null +++ b/printing/page_range_unittest.cc @@ -0,0 +1,38 @@ +// Copyright (c) 2006-2008 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 "printing/page_range.h" +#include "testing/gtest/include/gtest/gtest.h" + +TEST(PageRangeTest, RangeMerge) { + printing::PageRanges ranges; + printing::PageRange range; + range.from = 1; + range.to = 3; + ranges.push_back(range); + range.from = 10; + range.to = 12; + ranges.push_back(range); + range.from = 2; + range.to = 5; + ranges.push_back(range); + std::vector<int> pages(printing::PageRange::GetPages(ranges)); + ASSERT_EQ(8U, pages.size()); + EXPECT_EQ(1, pages[0]); + EXPECT_EQ(2, pages[1]); + EXPECT_EQ(3, pages[2]); + EXPECT_EQ(4, pages[3]); + EXPECT_EQ(5, pages[4]); + EXPECT_EQ(10, pages[5]); + EXPECT_EQ(11, pages[6]); + EXPECT_EQ(12, pages[7]); + EXPECT_EQ(8, printing::PageRange::GetTotalPages(ranges)); +} + +TEST(PageRangeTest, Empty) { + printing::PageRanges ranges; + std::vector<int> pages(printing::PageRange::GetPages(ranges)); + EXPECT_EQ(0U, pages.size()); + EXPECT_EQ(0, printing::PageRange::GetTotalPages(ranges)); +} |