15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "printing/page_number.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "printing/print_settings.h"
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TEST(PageNumberTest, Count) {
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  printing::PrintSettings settings;
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  printing::PageNumber page;
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  EXPECT_EQ(printing::PageNumber::npos(), page);
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  page.Init(settings, 3);
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  EXPECT_EQ(0, page.ToInt());
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  EXPECT_NE(printing::PageNumber::npos(), page);
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ++page;
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  EXPECT_EQ(1, page.ToInt());
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  EXPECT_NE(printing::PageNumber::npos(), page);
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  printing::PageNumber page_copy(page);
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  EXPECT_EQ(1, page_copy.ToInt());
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  EXPECT_EQ(1, page.ToInt());
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ++page;
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  EXPECT_EQ(1, page_copy.ToInt());
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  EXPECT_EQ(2, page.ToInt());
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ++page;
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  EXPECT_EQ(printing::PageNumber::npos(), page);
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ++page;
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  EXPECT_EQ(printing::PageNumber::npos(), page);
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
31