- OwningPtr<InputArgList> AL(T.ParseArgs(MyArgs, array_endof(MyArgs), MAI, MAC));
- EXPECT_EQ(AL->size(), 2U);
- EXPECT_TRUE(AL->hasArg(OPT_A));
- EXPECT_FALSE(AL->hasArg(OPT_B));
- EXPECT_TRUE(AL->hasArg(OPT_Slurp));
- EXPECT_EQ(AL->getAllArgValues(OPT_Slurp).size(), 3U);
- EXPECT_EQ(AL->getAllArgValues(OPT_Slurp)[0], "-B");
- EXPECT_EQ(AL->getAllArgValues(OPT_Slurp)[1], "--");
- EXPECT_EQ(AL->getAllArgValues(OPT_Slurp)[2], "foo");
+ InputArgList AL = T.ParseArgs(MyArgs, MAI, MAC);
+ EXPECT_EQ(AL.size(), 2U);
+ EXPECT_TRUE(AL.hasArg(OPT_A));
+ EXPECT_FALSE(AL.hasArg(OPT_B));
+ EXPECT_TRUE(AL.hasArg(OPT_Slurp));
+ EXPECT_EQ(AL.getAllArgValues(OPT_Slurp).size(), 3U);
+ EXPECT_EQ(AL.getAllArgValues(OPT_Slurp)[0], "-B");
+ EXPECT_EQ(AL.getAllArgValues(OPT_Slurp)[1], "--");
+ EXPECT_EQ(AL.getAllArgValues(OPT_Slurp)[2], "foo");
+}
+
+TEST(Option, FlagAliasToJoined) {
+ TestOptTable T;
+ unsigned MAI, MAC;
+
+ // Check that a flag alias provides an empty argument to a joined option.
+ const char *MyArgs[] = { "-K" };
+ InputArgList AL = T.ParseArgs(MyArgs, MAI, MAC);
+ EXPECT_EQ(AL.size(), 1U);
+ EXPECT_TRUE(AL.hasArg(OPT_B));
+ EXPECT_EQ(AL.getAllArgValues(OPT_B).size(), 1U);
+ EXPECT_EQ(AL.getAllArgValues(OPT_B)[0], "");