1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- // 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_number.h"
- #include "printing/print_settings.h"
- #include "testing/gmock/include/gmock/gmock.h"
- #include "testing/gtest/include/gtest/gtest.h"
- TEST(PageNumberTest, Count) {
- printing::PageRanges ranges;
- printing::PageNumber page;
- EXPECT_EQ(printing::PageNumber::npos(), page);
- page.Init(ranges, 3);
- EXPECT_EQ(0u, page.ToUint());
- EXPECT_NE(printing::PageNumber::npos(), page);
- ++page;
- EXPECT_EQ(1u, page.ToUint());
- EXPECT_NE(printing::PageNumber::npos(), page);
- printing::PageNumber page_copy(page);
- EXPECT_EQ(1u, page_copy.ToUint());
- EXPECT_EQ(1u, page.ToUint());
- ++page;
- EXPECT_EQ(1u, page_copy.ToUint());
- EXPECT_EQ(2u, page.ToUint());
- ++page;
- EXPECT_EQ(printing::PageNumber::npos(), page);
- ++page;
- EXPECT_EQ(printing::PageNumber::npos(), page);
- }
- TEST(PageNumberTest, GetPages) {
- printing::PageRanges ranges = {{5, 6}, {0, 2}, {9, 9}, {11, 10000}};
- EXPECT_THAT(printing::PageNumber::GetPages(ranges, 13),
- testing::ElementsAre(0, 1, 2, 5, 6, 9, 11, 12));
- EXPECT_THAT(printing::PageNumber::GetPages({}, 5),
- testing::ElementsAre(0, 1, 2, 3, 4));
- }
- TEST(PageNumberTest, GetPagesOutOfRange) {
- printing::PageRanges ranges = {{7, 8}};
- EXPECT_THAT(printing::PageNumber::GetPages(ranges, 7), testing::IsEmpty());
- }
|