Commit aaf75696 by alokp@chromium.org

Fixed the usage of testing::Range. I was assuming that the range is closed…

Fixed the usage of testing::Range. I was assuming that the range is closed interval, i.e., it includes the max value. But it does not. Review URL: https://codereview.appspot.com/6112055 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1054 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 85f2b2c5
...@@ -35,22 +35,24 @@ TEST_P(IdentifierTest, IdentifierIdentified) ...@@ -35,22 +35,24 @@ TEST_P(IdentifierTest, IdentifierIdentified)
PreprocessAndVerifyIdentifier(str.c_str()); PreprocessAndVerifyIdentifier(str.c_str());
} }
#define CLOSED_RANGE(x, y) testing::Range(x, static_cast<char>((y) + 1))
// Test string: '_' // Test string: '_'
INSTANTIATE_TEST_CASE_P(SingleLetter_Underscore, INSTANTIATE_TEST_CASE_P(SingleLetter_Underscore,
IdentifierTest, IdentifierTest,
testing::Combine(testing::Values('_'), testing::Combine(testing::Values('_'),
testing::Values('\0'))); testing::Values('\0')));
// Test string: [a-f] // Test string: [a-z]
INSTANTIATE_TEST_CASE_P(SingleLetter_a_f, INSTANTIATE_TEST_CASE_P(SingleLetter_a_z,
IdentifierTest, IdentifierTest,
testing::Combine(testing::Range('a', 'f'), testing::Combine(CLOSED_RANGE('a', 'z'),
testing::Values('\0'))); testing::Values('\0')));
// Test string: [A-F] // Test string: [A-Z]
INSTANTIATE_TEST_CASE_P(SingleLetter_A_F, INSTANTIATE_TEST_CASE_P(SingleLetter_A_Z,
IdentifierTest, IdentifierTest,
testing::Combine(testing::Range('A', 'F'), testing::Combine(CLOSED_RANGE('A', 'Z'),
testing::Values('\0'))); testing::Values('\0')));
// Test string: "__" // Test string: "__"
...@@ -59,71 +61,71 @@ INSTANTIATE_TEST_CASE_P(DoubleLetter_Underscore_Underscore, ...@@ -59,71 +61,71 @@ INSTANTIATE_TEST_CASE_P(DoubleLetter_Underscore_Underscore,
testing::Combine(testing::Values('_'), testing::Combine(testing::Values('_'),
testing::Values('_'))); testing::Values('_')));
// Test string: "_"[a-f] // Test string: "_"[a-z]
INSTANTIATE_TEST_CASE_P(DoubleLetter_Underscore_a_f, INSTANTIATE_TEST_CASE_P(DoubleLetter_Underscore_a_z,
IdentifierTest, IdentifierTest,
testing::Combine(testing::Values('_'), testing::Combine(testing::Values('_'),
testing::Range('a', 'f'))); CLOSED_RANGE('a', 'z')));
// Test string: "_"[A-F] // Test string: "_"[A-Z]
INSTANTIATE_TEST_CASE_P(DoubleLetter_Underscore_A_F, INSTANTIATE_TEST_CASE_P(DoubleLetter_Underscore_A_Z,
IdentifierTest, IdentifierTest,
testing::Combine(testing::Values('_'), testing::Combine(testing::Values('_'),
testing::Range('A', 'F'))); CLOSED_RANGE('A', 'Z')));
// Test string: "_"[0-9] // Test string: "_"[0-9]
INSTANTIATE_TEST_CASE_P(DoubleLetter_Underscore_0_9, INSTANTIATE_TEST_CASE_P(DoubleLetter_Underscore_0_9,
IdentifierTest, IdentifierTest,
testing::Combine(testing::Values('_'), testing::Combine(testing::Values('_'),
testing::Range('0', '9'))); CLOSED_RANGE('0', '9')));
// Test string: [a-f]"_" // Test string: [a-z]"_"
INSTANTIATE_TEST_CASE_P(DoubleLetter_a_f_Underscore, INSTANTIATE_TEST_CASE_P(DoubleLetter_a_z_Underscore,
IdentifierTest, IdentifierTest,
testing::Combine(testing::Range('a', 'f'), testing::Combine(CLOSED_RANGE('a', 'z'),
testing::Values('_'))); testing::Values('_')));
// Test string: [a-f][a-f] // Test string: [a-z][a-z]
INSTANTIATE_TEST_CASE_P(DoubleLetter_a_f_a_f, INSTANTIATE_TEST_CASE_P(DoubleLetter_a_z_a_z,
IdentifierTest, IdentifierTest,
testing::Combine(testing::Range('a', 'f'), testing::Combine(CLOSED_RANGE('a', 'z'),
testing::Range('a', 'f'))); CLOSED_RANGE('a', 'z')));
// Test string: [a-f][A-f] // Test string: [a-z][A-Z]
INSTANTIATE_TEST_CASE_P(DoubleLetter_a_f_A_F, INSTANTIATE_TEST_CASE_P(DoubleLetter_a_z_A_Z,
IdentifierTest, IdentifierTest,
testing::Combine(testing::Range('a', 'f'), testing::Combine(CLOSED_RANGE('a', 'z'),
testing::Range('A', 'F'))); CLOSED_RANGE('A', 'Z')));
// Test string: [a-f][0-9] // Test string: [a-z][0-9]
INSTANTIATE_TEST_CASE_P(DoubleLetter_a_f_0_9, INSTANTIATE_TEST_CASE_P(DoubleLetter_a_z_0_9,
IdentifierTest, IdentifierTest,
testing::Combine(testing::Range('a', 'f'), testing::Combine(CLOSED_RANGE('a', 'z'),
testing::Range('0', '9'))); CLOSED_RANGE('0', '9')));
// Test string: [A-F]"_" // Test string: [A-Z]"_"
INSTANTIATE_TEST_CASE_P(DoubleLetter_A_F_Underscore, INSTANTIATE_TEST_CASE_P(DoubleLetter_A_Z_Underscore,
IdentifierTest, IdentifierTest,
testing::Combine(testing::Range('A', 'F'), testing::Combine(CLOSED_RANGE('A', 'Z'),
testing::Values('_'))); testing::Values('_')));
// Test string: [A-F][a-f] // Test string: [A-Z][a-z]
INSTANTIATE_TEST_CASE_P(DoubleLetter_A_F_a_f, INSTANTIATE_TEST_CASE_P(DoubleLetter_A_Z_a_z,
IdentifierTest, IdentifierTest,
testing::Combine(testing::Range('A', 'F'), testing::Combine(CLOSED_RANGE('A', 'Z'),
testing::Range('a', 'f'))); CLOSED_RANGE('a', 'z')));
// Test string: [A-F][A-F] // Test string: [A-Z][A-Z]
INSTANTIATE_TEST_CASE_P(DoubleLetter_A_F_A_F, INSTANTIATE_TEST_CASE_P(DoubleLetter_A_Z_A_Z,
IdentifierTest, IdentifierTest,
testing::Combine(testing::Range('A', 'F'), testing::Combine(CLOSED_RANGE('A', 'Z'),
testing::Range('A', 'F'))); CLOSED_RANGE('A', 'Z')));
// Test string: [A-F][0-9] // Test string: [A-Z][0-9]
INSTANTIATE_TEST_CASE_P(DoubleLetter_A_F_0_9, INSTANTIATE_TEST_CASE_P(DoubleLetter_A_Z_0_9,
IdentifierTest, IdentifierTest,
testing::Combine(testing::Range('A', 'F'), testing::Combine(CLOSED_RANGE('A', 'Z'),
testing::Range('0', '9'))); CLOSED_RANGE('0', '9')));
#endif // GTEST_HAS_COMBINE #endif // GTEST_HAS_COMBINE
......
...@@ -56,30 +56,32 @@ TEST_P(IntegerTest, IntegerIdentified) ...@@ -56,30 +56,32 @@ TEST_P(IntegerTest, IntegerIdentified)
EXPECT_STREQ(cstr, token.value.c_str()); EXPECT_STREQ(cstr, token.value.c_str());
} }
#define CLOSED_RANGE(x, y) testing::Range(x, static_cast<char>((y) + 1))
INSTANTIATE_TEST_CASE_P(DecimalInteger, INSTANTIATE_TEST_CASE_P(DecimalInteger,
IntegerTest, IntegerTest,
testing::Combine(testing::Values(""), testing::Combine(testing::Values(""),
testing::Range('0', '9'))); CLOSED_RANGE('0', '9')));
INSTANTIATE_TEST_CASE_P(OctalInteger, INSTANTIATE_TEST_CASE_P(OctalInteger,
IntegerTest, IntegerTest,
testing::Combine(testing::Values("0"), testing::Combine(testing::Values("0"),
testing::Range('0', '7'))); CLOSED_RANGE('0', '7')));
INSTANTIATE_TEST_CASE_P(HexadecimalInteger_0_9, INSTANTIATE_TEST_CASE_P(HexadecimalInteger_0_9,
IntegerTest, IntegerTest,
testing::Combine(testing::Values("0x"), testing::Combine(testing::Values("0x"),
testing::Range('0', '9'))); CLOSED_RANGE('0', '9')));
INSTANTIATE_TEST_CASE_P(HexadecimalInteger_a_f, INSTANTIATE_TEST_CASE_P(HexadecimalInteger_a_f,
IntegerTest, IntegerTest,
testing::Combine(testing::Values("0x"), testing::Combine(testing::Values("0x"),
testing::Range('a', 'f'))); CLOSED_RANGE('a', 'f')));
INSTANTIATE_TEST_CASE_P(HexadecimalInteger_A_F, INSTANTIATE_TEST_CASE_P(HexadecimalInteger_A_F,
IntegerTest, IntegerTest,
testing::Combine(testing::Values("0x"), testing::Combine(testing::Values("0x"),
testing::Range('A', 'F'))); CLOSED_RANGE('A', 'F')));
static void PreprocessAndVerifyFloat(const char* str) static void PreprocessAndVerifyFloat(const char* str)
{ {
...@@ -111,10 +113,10 @@ TEST_P(FloatScientificTest, FloatIdentified) ...@@ -111,10 +113,10 @@ TEST_P(FloatScientificTest, FloatIdentified)
INSTANTIATE_TEST_CASE_P(FloatScientific, INSTANTIATE_TEST_CASE_P(FloatScientific,
FloatScientificTest, FloatScientificTest,
testing::Combine(testing::Range('0', '9'), testing::Combine(CLOSED_RANGE('0', '9'),
testing::Values('e', 'E'), testing::Values('e', 'E'),
testing::Values("", "+", "-"), testing::Values("", "+", "-"),
testing::Range('0', '9'))); CLOSED_RANGE('0', '9')));
typedef std::tr1::tuple<char, char> FloatFractionParams; typedef std::tr1::tuple<char, char> FloatFractionParams;
class FloatFractionTest : public testing::TestWithParam<FloatFractionParams> class FloatFractionTest : public testing::TestWithParam<FloatFractionParams>
...@@ -142,17 +144,17 @@ TEST_P(FloatFractionTest, FloatIdentified) ...@@ -142,17 +144,17 @@ TEST_P(FloatFractionTest, FloatIdentified)
INSTANTIATE_TEST_CASE_P(FloatFraction_X_X, INSTANTIATE_TEST_CASE_P(FloatFraction_X_X,
FloatFractionTest, FloatFractionTest,
testing::Combine(testing::Range('0', '9'), testing::Combine(CLOSED_RANGE('0', '9'),
testing::Range('0', '9'))); CLOSED_RANGE('0', '9')));
INSTANTIATE_TEST_CASE_P(FloatFraction_0_X, INSTANTIATE_TEST_CASE_P(FloatFraction_0_X,
FloatFractionTest, FloatFractionTest,
testing::Combine(testing::Values('\0'), testing::Combine(testing::Values('\0'),
testing::Range('0', '9'))); CLOSED_RANGE('0', '9')));
INSTANTIATE_TEST_CASE_P(FloatFraction_X_0, INSTANTIATE_TEST_CASE_P(FloatFraction_X_0,
FloatFractionTest, FloatFractionTest,
testing::Combine(testing::Range('0', '9'), testing::Combine(CLOSED_RANGE('0', '9'),
testing::Values('\0'))); testing::Values('\0')));
#endif // GTEST_HAS_COMBINE #endif // GTEST_HAS_COMBINE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment