Chromium Code Reviews| 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. |
| 20 EXPECT_EQ(-2147483648, FXSYS_atoi("-2147483648")); | 20 EXPECT_EQ(-2147483647 - 1, FXSYS_atoi("-2147483648")); |
|
Tom Sepez
2016/03/30 23:28:29
Not sure what's going on here. Can you explain wh
Wei Li
2016/03/31 01:39:09
Since 2147483648 can not fit into int, it will be
| |
| 21 // With invalid char. | 21 // With invalid char. |
| 22 EXPECT_EQ(9, FXSYS_atoi("9x9")); | 22 EXPECT_EQ(9, FXSYS_atoi("9x9")); |
| 23 | 23 |
| 24 // Out of range values. | 24 // Out of range values. |
| 25 EXPECT_EQ(2147483647, FXSYS_atoi("2147483623423412348")); | 25 EXPECT_EQ(2147483647, FXSYS_atoi("2147483623423412348")); |
| 26 EXPECT_EQ(2147483647, FXSYS_atoi("2147483648")); | 26 EXPECT_EQ(2147483647, FXSYS_atoi("2147483648")); |
| 27 EXPECT_EQ(-2147483648, FXSYS_atoi("-2147483650")); | 27 EXPECT_EQ(-2147483647 - 1, FXSYS_atoi("-2147483650")); |
| 28 } | 28 } |
| 29 | 29 |
| 30 TEST(fxcrt, FXSYS_atoi64) { | 30 TEST(fxcrt, FXSYS_atoi64) { |
| 31 EXPECT_EQ(0, FXSYS_atoi64("")); | 31 EXPECT_EQ(0, FXSYS_atoi64("")); |
| 32 EXPECT_EQ(0, FXSYS_atoi64("0")); | 32 EXPECT_EQ(0, FXSYS_atoi64("0")); |
| 33 EXPECT_EQ(-1, FXSYS_atoi64("-1")); | 33 EXPECT_EQ(-1, FXSYS_atoi64("-1")); |
| 34 EXPECT_EQ(2345, FXSYS_atoi64("2345")); | 34 EXPECT_EQ(2345, FXSYS_atoi64("2345")); |
| 35 EXPECT_EQ(-9223372036854775807LL, FXSYS_atoi64("-9223372036854775807")); | 35 EXPECT_EQ(-9223372036854775807LL, FXSYS_atoi64("-9223372036854775807")); |
| 36 // Handle the sign. | 36 // Handle the sign. |
| 37 EXPECT_EQ(-2345, FXSYS_atoi64("-2345")); | 37 EXPECT_EQ(-2345, FXSYS_atoi64("-2345")); |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 51 | 51 |
| 52 TEST(fxcrt, FXSYS_wtoi) { | 52 TEST(fxcrt, FXSYS_wtoi) { |
| 53 EXPECT_EQ(0, FXSYS_wtoi(L"")); | 53 EXPECT_EQ(0, FXSYS_wtoi(L"")); |
| 54 EXPECT_EQ(0, FXSYS_wtoi(L"0")); | 54 EXPECT_EQ(0, FXSYS_wtoi(L"0")); |
| 55 EXPECT_EQ(-1, FXSYS_wtoi(L"-1")); | 55 EXPECT_EQ(-1, FXSYS_wtoi(L"-1")); |
| 56 EXPECT_EQ(2345, FXSYS_wtoi(L"2345")); | 56 EXPECT_EQ(2345, FXSYS_wtoi(L"2345")); |
| 57 EXPECT_EQ(-2147483647, FXSYS_wtoi(L"-2147483647")); | 57 EXPECT_EQ(-2147483647, FXSYS_wtoi(L"-2147483647")); |
| 58 // The max value. | 58 // The max value. |
| 59 EXPECT_EQ(2147483647, FXSYS_wtoi(L"2147483647")); | 59 EXPECT_EQ(2147483647, FXSYS_wtoi(L"2147483647")); |
| 60 // The min value. | 60 // The min value. |
| 61 EXPECT_EQ(-2147483648, FXSYS_wtoi(L"-2147483648")); | 61 EXPECT_EQ(-2147483647 - 1, FXSYS_wtoi(L"-2147483648")); |
| 62 EXPECT_EQ(9, FXSYS_wtoi64(L"9x9")); | 62 EXPECT_EQ(9, FXSYS_wtoi64(L"9x9")); |
| 63 | 63 |
| 64 // Out of range values. | 64 // Out of range values. |
| 65 EXPECT_EQ(2147483647, FXSYS_wtoi(L"2147483623423412348")); | 65 EXPECT_EQ(2147483647, FXSYS_wtoi(L"2147483623423412348")); |
| 66 EXPECT_EQ(2147483647, FXSYS_wtoi(L"2147483648")); | 66 EXPECT_EQ(2147483647, FXSYS_wtoi(L"2147483648")); |
| 67 EXPECT_EQ(-2147483648, FXSYS_wtoi(L"-2147483652")); | 67 EXPECT_EQ(-2147483647 - 1, FXSYS_wtoi(L"-2147483652")); |
| 68 } | 68 } |
| 69 | 69 |
| 70 TEST(fxcrt, FXSYS_wtoi64) { | 70 TEST(fxcrt, FXSYS_wtoi64) { |
| 71 EXPECT_EQ(0, FXSYS_wtoi64(L"")); | 71 EXPECT_EQ(0, FXSYS_wtoi64(L"")); |
| 72 EXPECT_EQ(0, FXSYS_wtoi64(L"0")); | 72 EXPECT_EQ(0, FXSYS_wtoi64(L"0")); |
| 73 EXPECT_EQ(-1, FXSYS_wtoi64(L"-1")); | 73 EXPECT_EQ(-1, FXSYS_wtoi64(L"-1")); |
| 74 EXPECT_EQ(2345, FXSYS_wtoi64(L"2345")); | 74 EXPECT_EQ(2345, FXSYS_wtoi64(L"2345")); |
| 75 EXPECT_EQ(-9223372036854775807LL, FXSYS_wtoi64(L"-9223372036854775807")); | 75 EXPECT_EQ(-9223372036854775807LL, FXSYS_wtoi64(L"-9223372036854775807")); |
| 76 // Handle the sign. | 76 // Handle the sign. |
| 77 EXPECT_EQ(-2345, FXSYS_wtoi64(L"-2345")); | 77 EXPECT_EQ(-2345, FXSYS_wtoi64(L"-2345")); |
| (...skipping 24 matching lines...) Expand all Loading... | |
| 102 EXPECT_EQ(2345u, FXSYS_atoui("+2345")); | 102 EXPECT_EQ(2345u, FXSYS_atoui("+2345")); |
| 103 // The max value. | 103 // The max value. |
| 104 EXPECT_EQ(4294967295, FXSYS_atoui("4294967295")); | 104 EXPECT_EQ(4294967295, FXSYS_atoui("4294967295")); |
| 105 EXPECT_EQ(9u, FXSYS_atoui("9x9")); | 105 EXPECT_EQ(9u, FXSYS_atoui("9x9")); |
| 106 | 106 |
| 107 // Out of range values. | 107 // Out of range values. |
| 108 EXPECT_EQ(4294967295, FXSYS_atoui("2147483623423412348")); | 108 EXPECT_EQ(4294967295, FXSYS_atoui("2147483623423412348")); |
| 109 EXPECT_EQ(4294967295, FXSYS_atoui("4294967296")); | 109 EXPECT_EQ(4294967295, FXSYS_atoui("4294967296")); |
| 110 EXPECT_EQ(4294967295, FXSYS_atoui("-4294967345")); | 110 EXPECT_EQ(4294967295, FXSYS_atoui("-4294967345")); |
| 111 } | 111 } |
| OLD | NEW |