OLD | NEW |
1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "core/fxcrt/include/fx_system.h" | 5 #include "core/fxcrt/include/fx_system.h" |
6 #include "testing/gtest/include/gtest/gtest.h" | 6 #include "testing/gtest/include/gtest/gtest.h" |
7 | 7 |
8 TEST(fxcrt, FXSYS_atoi) { | 8 TEST(fxcrt, FXSYS_atoi) { |
9 EXPECT_EQ(0, FXSYS_atoi("")); | 9 EXPECT_EQ(0, FXSYS_atoi("")); |
10 EXPECT_EQ(0, FXSYS_atoi("0")); | 10 EXPECT_EQ(0, FXSYS_atoi("0")); |
11 EXPECT_EQ(-1, FXSYS_atoi("-1")); | 11 EXPECT_EQ(-1, FXSYS_atoi("-1")); |
12 EXPECT_EQ(2345, FXSYS_atoi("2345")); | 12 EXPECT_EQ(2345, FXSYS_atoi("2345")); |
13 EXPECT_EQ(-2147483647, FXSYS_atoi("-2147483647")); | 13 EXPECT_EQ(-2147483647, FXSYS_atoi("-2147483647")); |
14 // Handle the sign. | 14 // Handle the sign. |
15 EXPECT_EQ(-2345, FXSYS_atoi("-2345")); | 15 EXPECT_EQ(-2345, FXSYS_atoi("-2345")); |
16 EXPECT_EQ(2345, FXSYS_atoi("+2345")); | 16 EXPECT_EQ(2345, FXSYS_atoi("+2345")); |
17 // The max value. | 17 // The max value. |
18 EXPECT_EQ(2147483647, FXSYS_atoi("2147483647")); | 18 EXPECT_EQ(2147483647, FXSYS_atoi("2147483647")); |
19 // The min value. | 19 // The min value. Written in -1 format to avoid "unary minus operator applied |
20 EXPECT_EQ(-2147483648, FXSYS_atoi("-2147483648")); | 20 // to unsigned type" warning. |
| 21 EXPECT_EQ(-2147483647 - 1, FXSYS_atoi("-2147483648")); |
21 // With invalid char. | 22 // With invalid char. |
22 EXPECT_EQ(9, FXSYS_atoi("9x9")); | 23 EXPECT_EQ(9, FXSYS_atoi("9x9")); |
23 | 24 |
24 // Out of range values. | 25 // Out of range values. |
25 EXPECT_EQ(2147483647, FXSYS_atoi("2147483623423412348")); | 26 EXPECT_EQ(2147483647, FXSYS_atoi("2147483623423412348")); |
26 EXPECT_EQ(2147483647, FXSYS_atoi("2147483648")); | 27 EXPECT_EQ(2147483647, FXSYS_atoi("2147483648")); |
27 EXPECT_EQ(-2147483648, FXSYS_atoi("-2147483650")); | 28 EXPECT_EQ(-2147483647 - 1, FXSYS_atoi("-2147483650")); |
28 } | 29 } |
29 | 30 |
30 TEST(fxcrt, FXSYS_atoi64) { | 31 TEST(fxcrt, FXSYS_atoi64) { |
31 EXPECT_EQ(0, FXSYS_atoi64("")); | 32 EXPECT_EQ(0, FXSYS_atoi64("")); |
32 EXPECT_EQ(0, FXSYS_atoi64("0")); | 33 EXPECT_EQ(0, FXSYS_atoi64("0")); |
33 EXPECT_EQ(-1, FXSYS_atoi64("-1")); | 34 EXPECT_EQ(-1, FXSYS_atoi64("-1")); |
34 EXPECT_EQ(2345, FXSYS_atoi64("2345")); | 35 EXPECT_EQ(2345, FXSYS_atoi64("2345")); |
35 EXPECT_EQ(-9223372036854775807LL, FXSYS_atoi64("-9223372036854775807")); | 36 EXPECT_EQ(-9223372036854775807LL, FXSYS_atoi64("-9223372036854775807")); |
36 // Handle the sign. | 37 // Handle the sign. |
37 EXPECT_EQ(-2345, FXSYS_atoi64("-2345")); | 38 EXPECT_EQ(-2345, FXSYS_atoi64("-2345")); |
(...skipping 13 matching lines...) Expand all Loading... |
51 | 52 |
52 TEST(fxcrt, FXSYS_wtoi) { | 53 TEST(fxcrt, FXSYS_wtoi) { |
53 EXPECT_EQ(0, FXSYS_wtoi(L"")); | 54 EXPECT_EQ(0, FXSYS_wtoi(L"")); |
54 EXPECT_EQ(0, FXSYS_wtoi(L"0")); | 55 EXPECT_EQ(0, FXSYS_wtoi(L"0")); |
55 EXPECT_EQ(-1, FXSYS_wtoi(L"-1")); | 56 EXPECT_EQ(-1, FXSYS_wtoi(L"-1")); |
56 EXPECT_EQ(2345, FXSYS_wtoi(L"2345")); | 57 EXPECT_EQ(2345, FXSYS_wtoi(L"2345")); |
57 EXPECT_EQ(-2147483647, FXSYS_wtoi(L"-2147483647")); | 58 EXPECT_EQ(-2147483647, FXSYS_wtoi(L"-2147483647")); |
58 // The max value. | 59 // The max value. |
59 EXPECT_EQ(2147483647, FXSYS_wtoi(L"2147483647")); | 60 EXPECT_EQ(2147483647, FXSYS_wtoi(L"2147483647")); |
60 // The min value. | 61 // The min value. |
61 EXPECT_EQ(-2147483648, FXSYS_wtoi(L"-2147483648")); | 62 EXPECT_EQ(-2147483647 - 1, FXSYS_wtoi(L"-2147483648")); |
62 EXPECT_EQ(9, FXSYS_wtoi64(L"9x9")); | 63 EXPECT_EQ(9, FXSYS_wtoi64(L"9x9")); |
63 | 64 |
64 // Out of range values. | 65 // Out of range values. |
65 EXPECT_EQ(2147483647, FXSYS_wtoi(L"2147483623423412348")); | 66 EXPECT_EQ(2147483647, FXSYS_wtoi(L"2147483623423412348")); |
66 EXPECT_EQ(2147483647, FXSYS_wtoi(L"2147483648")); | 67 EXPECT_EQ(2147483647, FXSYS_wtoi(L"2147483648")); |
67 EXPECT_EQ(-2147483648, FXSYS_wtoi(L"-2147483652")); | 68 EXPECT_EQ(-2147483647 - 1, FXSYS_wtoi(L"-2147483652")); |
68 } | 69 } |
69 | 70 |
70 TEST(fxcrt, FXSYS_wtoi64) { | 71 TEST(fxcrt, FXSYS_wtoi64) { |
71 EXPECT_EQ(0, FXSYS_wtoi64(L"")); | 72 EXPECT_EQ(0, FXSYS_wtoi64(L"")); |
72 EXPECT_EQ(0, FXSYS_wtoi64(L"0")); | 73 EXPECT_EQ(0, FXSYS_wtoi64(L"0")); |
73 EXPECT_EQ(-1, FXSYS_wtoi64(L"-1")); | 74 EXPECT_EQ(-1, FXSYS_wtoi64(L"-1")); |
74 EXPECT_EQ(2345, FXSYS_wtoi64(L"2345")); | 75 EXPECT_EQ(2345, FXSYS_wtoi64(L"2345")); |
75 EXPECT_EQ(-9223372036854775807LL, FXSYS_wtoi64(L"-9223372036854775807")); | 76 EXPECT_EQ(-9223372036854775807LL, FXSYS_wtoi64(L"-9223372036854775807")); |
76 // Handle the sign. | 77 // Handle the sign. |
77 EXPECT_EQ(-2345, FXSYS_wtoi64(L"-2345")); | 78 EXPECT_EQ(-2345, FXSYS_wtoi64(L"-2345")); |
(...skipping 24 matching lines...) Expand all Loading... |
102 EXPECT_EQ(2345u, FXSYS_atoui("+2345")); | 103 EXPECT_EQ(2345u, FXSYS_atoui("+2345")); |
103 // The max value. | 104 // The max value. |
104 EXPECT_EQ(4294967295, FXSYS_atoui("4294967295")); | 105 EXPECT_EQ(4294967295, FXSYS_atoui("4294967295")); |
105 EXPECT_EQ(9u, FXSYS_atoui("9x9")); | 106 EXPECT_EQ(9u, FXSYS_atoui("9x9")); |
106 | 107 |
107 // Out of range values. | 108 // Out of range values. |
108 EXPECT_EQ(4294967295, FXSYS_atoui("2147483623423412348")); | 109 EXPECT_EQ(4294967295, FXSYS_atoui("2147483623423412348")); |
109 EXPECT_EQ(4294967295, FXSYS_atoui("4294967296")); | 110 EXPECT_EQ(4294967295, FXSYS_atoui("4294967296")); |
110 EXPECT_EQ(4294967295, FXSYS_atoui("-4294967345")); | 111 EXPECT_EQ(4294967295, FXSYS_atoui("-4294967345")); |
111 } | 112 } |
OLD | NEW |