| Index: test/cctest/test-flags.cc
|
| diff --git a/test/cctest/test-flags.cc b/test/cctest/test-flags.cc
|
| index a3aa4b20e451866a0aad569444fd7da880b53c91..9019a89ef43cd923605ca8c4fe5d8906008ee6ef 100644
|
| --- a/test/cctest/test-flags.cc
|
| +++ b/test/cctest/test-flags.cc
|
| @@ -168,3 +168,67 @@ TEST(Flags6b) {
|
| const char* str = " --testing-int-flag 0 --testing_float_flag ";
|
| CHECK_EQ(3, FlagList::SetFlagsFromString(str, strlen(str)));
|
| }
|
| +
|
| +
|
| +TEST(FlagsJSArguments1) {
|
| + SetFlagsToDefault();
|
| + int argc = 6;
|
| + const char* argv[] = {"TestJSArgs1",
|
| + "--testing-int-flag", "42",
|
| + "--", "testing-float-flag", "7"};
|
| + CHECK_EQ(0, FlagList::SetFlagsFromCommandLine(&argc,
|
| + const_cast<char **>(argv),
|
| + true));
|
| + CHECK_EQ(42, FLAG_testing_int_flag);
|
| + CHECK_EQ(2.5, FLAG_testing_float_flag);
|
| + CHECK_EQ(2, FLAG_js_arguments.argc());
|
| + CHECK_EQ(0, strcmp(FLAG_js_arguments[0], "testing-float-flag"));
|
| + CHECK_EQ(0, strcmp(FLAG_js_arguments[1], "7"));
|
| + CHECK_EQ(1, argc);
|
| +}
|
| +
|
| +
|
| +TEST(FlagsJSArguments1b) {
|
| + SetFlagsToDefault();
|
| + const char* str = "--testing-int-flag 42 -- testing-float-flag 7";
|
| + CHECK_EQ(0, FlagList::SetFlagsFromString(str, strlen(str)));
|
| + CHECK_EQ(42, FLAG_testing_int_flag);
|
| + CHECK_EQ(2.5, FLAG_testing_float_flag);
|
| + CHECK_EQ(2, FLAG_js_arguments.argc());
|
| + CHECK_EQ(0, strcmp(FLAG_js_arguments[0], "testing-float-flag"));
|
| + CHECK_EQ(0, strcmp(FLAG_js_arguments[1], "7"));
|
| +}
|
| +
|
| +
|
| +TEST(FlagsJSArguments2) {
|
| + SetFlagsToDefault();
|
| + const char* str = "--testing-int-flag 42 --js-arguments testing-float-flag 7";
|
| + CHECK_EQ(0, FlagList::SetFlagsFromString(str, strlen(str)));
|
| + CHECK_EQ(42, FLAG_testing_int_flag);
|
| + CHECK_EQ(2.5, FLAG_testing_float_flag);
|
| + CHECK_EQ(2, FLAG_js_arguments.argc());
|
| + CHECK_EQ(0, strcmp(FLAG_js_arguments[0], "testing-float-flag"));
|
| + CHECK_EQ(0, strcmp(FLAG_js_arguments[1], "7"));
|
| +}
|
| +
|
| +
|
| +TEST(FlagsJSArguments3) {
|
| + SetFlagsToDefault();
|
| + const char* str = "--testing-int-flag 42 --js-arguments=testing-float-flag 7";
|
| + CHECK_EQ(0, FlagList::SetFlagsFromString(str, strlen(str)));
|
| + CHECK_EQ(42, FLAG_testing_int_flag);
|
| + CHECK_EQ(2.5, FLAG_testing_float_flag);
|
| + CHECK_EQ(2, FLAG_js_arguments.argc());
|
| + CHECK_EQ(0, strcmp(FLAG_js_arguments[0], "testing-float-flag"));
|
| + CHECK_EQ(0, strcmp(FLAG_js_arguments[1], "7"));
|
| +}
|
| +
|
| +
|
| +TEST(FlagsJSArguments4) {
|
| + SetFlagsToDefault();
|
| + const char* str = "--testing-int-flag 42 --";
|
| + CHECK_EQ(0, FlagList::SetFlagsFromString(str, strlen(str)));
|
| + CHECK_EQ(42, FLAG_testing_int_flag);
|
| + CHECK_EQ(0, FLAG_js_arguments.argc());
|
| +}
|
| +
|
|
|