must report index1 as 0 for type == ArgInfo::NONE

This commit is contained in:
Axel Kohlmeyer
2021-01-31 22:05:33 -05:00
parent 0f49ce81c7
commit 2882208e0b
2 changed files with 13 additions and 6 deletions

View File

@ -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] == 'f') && (allowed & FIX)) type = FIX;
else if ((arg[0] == 'v') && (allowed & VARIABLE)) type = VARIABLE; else if ((arg[0] == 'v') && (allowed & VARIABLE)) type = VARIABLE;
else { else {
index1 = 0;
name = arg; name = arg;
return; return;
} }
@ -59,8 +60,14 @@ ArgInfo::ArgInfo(const std::string &arg, int allowed)
type = UNKNOWN; type = UNKNOWN;
} }
} }
} else name = arg.substr(2); } else {
} else name = arg; index1 = 0;
name = arg.substr(2);
}
} else {
index1 = 0;
name = arg;
}
} }
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */

View File

@ -24,7 +24,7 @@ TEST(ArgInfo, plain)
ArgInfo arg("text"); ArgInfo arg("text");
ASSERT_EQ(arg.get_dim(), 0); ASSERT_EQ(arg.get_dim(), 0);
ASSERT_EQ(arg.get_type(), ArgInfo::NONE); 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_EQ(arg.get_index2(), -1);
ASSERT_THAT(arg.get_name(), StrEq("text")); ASSERT_THAT(arg.get_name(), StrEq("text"));
} }
@ -44,7 +44,7 @@ TEST(ArgInfo, compute0)
ArgInfo arg("c_text"); ArgInfo arg("c_text");
ASSERT_EQ(arg.get_dim(), 0); ASSERT_EQ(arg.get_dim(), 0);
ASSERT_EQ(arg.get_type(), ArgInfo::COMPUTE); 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_EQ(arg.get_index2(), -1);
ASSERT_THAT(arg.get_name(), StrEq("text")); ASSERT_THAT(arg.get_name(), StrEq("text"));
} }
@ -74,7 +74,7 @@ TEST(ArgInfo, fix0)
ArgInfo arg("f_2"); ArgInfo arg("f_2");
ASSERT_EQ(arg.get_dim(), 0); ASSERT_EQ(arg.get_dim(), 0);
ASSERT_EQ(arg.get_type(), ArgInfo::FIX); 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_EQ(arg.get_index2(), -1);
ASSERT_THAT(arg.get_name(), StrEq("2")); ASSERT_THAT(arg.get_name(), StrEq("2"));
} }
@ -104,7 +104,7 @@ TEST(ArgInfo, variable0)
ArgInfo arg("v_text"); ArgInfo arg("v_text");
ASSERT_EQ(arg.get_dim(), 0); ASSERT_EQ(arg.get_dim(), 0);
ASSERT_EQ(arg.get_type(), ArgInfo::VARIABLE); 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_EQ(arg.get_index2(), -1);
ASSERT_THAT(arg.get_name(), StrEq("text")); ASSERT_THAT(arg.get_name(), StrEq("text"));
} }