|
@@ -209,6 +209,25 @@ TEST_F(EvaluateTest, packet) {
|
|
|
EXPECT_FALSE(result_);
|
|
|
}
|
|
|
|
|
|
+// A test which compares option value represented in hexadecimal format.
|
|
|
+TEST_F(EvaluateTest, optionHex) {
|
|
|
+ TokenPtr toption;
|
|
|
+ TokenPtr tstring;
|
|
|
+ TokenPtr tequal;
|
|
|
+
|
|
|
+ ASSERT_NO_THROW(toption.reset(new TokenOption(100, TokenOption::HEXADECIMAL)));
|
|
|
+ e_.push_back(toption);
|
|
|
+ ASSERT_NO_THROW(tstring.reset(new TokenString("0x68756E6472656434")));
|
|
|
+ e_.push_back(tstring);
|
|
|
+ ASSERT_NO_THROW(tequal.reset(new TokenEqual()));
|
|
|
+ e_.push_back(tequal);
|
|
|
+
|
|
|
+ ASSERT_NO_THROW(result_ = evaluate(e_, *pkt4_));
|
|
|
+ EXPECT_TRUE(result_);
|
|
|
+ ASSERT_NO_THROW(result_ = evaluate(e_, *pkt6_));
|
|
|
+ EXPECT_FALSE(result_);
|
|
|
+}
|
|
|
+
|
|
|
// A test using substring on an option.
|
|
|
TEST_F(EvaluateTest, complex) {
|
|
|
TokenPtr toption;
|