blob: 7b0f5779fc249a33c3d93a3e990dd0d3c21f4b16 [file] [log] [blame]
[email protected]e2319752011-09-23 23:19:091// Copyright (c) 2011 The Chromium Authors. All rights reserved.
license.botbf09a502008-08-24 00:55:552// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
[email protected]5513ee82008-08-12 17:32:494
[email protected]8ff1d422009-07-07 21:31:395#include "printing/page_range.h"
[email protected]5513ee82008-08-12 17:32:496#include "testing/gtest/include/gtest/gtest.h"
7
8TEST(PageRangeTest, RangeMerge) {
9 printing::PageRanges ranges;
10 printing::PageRange range;
11 range.from = 1;
12 range.to = 3;
13 ranges.push_back(range);
14 range.from = 10;
15 range.to = 12;
16 ranges.push_back(range);
17 range.from = 2;
18 range.to = 5;
19 ranges.push_back(range);
20 std::vector<int> pages(printing::PageRange::GetPages(ranges));
[email protected]23afa0f2008-09-19 15:58:5521 ASSERT_EQ(8U, pages.size());
[email protected]5513ee82008-08-12 17:32:4922 EXPECT_EQ(1, pages[0]);
23 EXPECT_EQ(2, pages[1]);
24 EXPECT_EQ(3, pages[2]);
25 EXPECT_EQ(4, pages[3]);
26 EXPECT_EQ(5, pages[4]);
27 EXPECT_EQ(10, pages[5]);
28 EXPECT_EQ(11, pages[6]);
29 EXPECT_EQ(12, pages[7]);
30}
31
32TEST(PageRangeTest, Empty) {
33 printing::PageRanges ranges;
34 std::vector<int> pages(printing::PageRange::GetPages(ranges));
[email protected]23afa0f2008-09-19 15:58:5535 EXPECT_EQ(0U, pages.size());
[email protected]5513ee82008-08-12 17:32:4936}