must report index1 as 0 for type == ArgInfo::NONE
This commit is contained in:
@ -26,6 +26,7 @@ ArgInfo::ArgInfo(const std::string &arg, int allowed)
|
||||
else if ((arg[0] == 'f') && (allowed & FIX)) type = FIX;
|
||||
else if ((arg[0] == 'v') && (allowed & VARIABLE)) type = VARIABLE;
|
||||
else {
|
||||
index1 = 0;
|
||||
name = arg;
|
||||
return;
|
||||
}
|
||||
@ -59,8 +60,14 @@ ArgInfo::ArgInfo(const std::string &arg, int allowed)
|
||||
type = UNKNOWN;
|
||||
}
|
||||
}
|
||||
} else name = arg.substr(2);
|
||||
} else name = arg;
|
||||
} else {
|
||||
index1 = 0;
|
||||
name = arg.substr(2);
|
||||
}
|
||||
} else {
|
||||
index1 = 0;
|
||||
name = arg;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
@ -24,7 +24,7 @@ TEST(ArgInfo, plain)
|
||||
ArgInfo arg("text");
|
||||
ASSERT_EQ(arg.get_dim(), 0);
|
||||
ASSERT_EQ(arg.get_type(), ArgInfo::NONE);
|
||||
ASSERT_EQ(arg.get_index1(), -1);
|
||||
ASSERT_EQ(arg.get_index1(), 0);
|
||||
ASSERT_EQ(arg.get_index2(), -1);
|
||||
ASSERT_THAT(arg.get_name(), StrEq("text"));
|
||||
}
|
||||
@ -44,7 +44,7 @@ TEST(ArgInfo, compute0)
|
||||
ArgInfo arg("c_text");
|
||||
ASSERT_EQ(arg.get_dim(), 0);
|
||||
ASSERT_EQ(arg.get_type(), ArgInfo::COMPUTE);
|
||||
ASSERT_EQ(arg.get_index1(), -1);
|
||||
ASSERT_EQ(arg.get_index1(), 0);
|
||||
ASSERT_EQ(arg.get_index2(), -1);
|
||||
ASSERT_THAT(arg.get_name(), StrEq("text"));
|
||||
}
|
||||
@ -74,7 +74,7 @@ TEST(ArgInfo, fix0)
|
||||
ArgInfo arg("f_2");
|
||||
ASSERT_EQ(arg.get_dim(), 0);
|
||||
ASSERT_EQ(arg.get_type(), ArgInfo::FIX);
|
||||
ASSERT_EQ(arg.get_index1(), -1);
|
||||
ASSERT_EQ(arg.get_index1(), 0);
|
||||
ASSERT_EQ(arg.get_index2(), -1);
|
||||
ASSERT_THAT(arg.get_name(), StrEq("2"));
|
||||
}
|
||||
@ -104,7 +104,7 @@ TEST(ArgInfo, variable0)
|
||||
ArgInfo arg("v_text");
|
||||
ASSERT_EQ(arg.get_dim(), 0);
|
||||
ASSERT_EQ(arg.get_type(), ArgInfo::VARIABLE);
|
||||
ASSERT_EQ(arg.get_index1(), -1);
|
||||
ASSERT_EQ(arg.get_index1(), 0);
|
||||
ASSERT_EQ(arg.get_index2(), -1);
|
||||
ASSERT_THAT(arg.get_name(), StrEq("text"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user