| Index: runtime/vm/debugger_api_impl_test.cc
|
| diff --git a/runtime/vm/debugger_api_impl_test.cc b/runtime/vm/debugger_api_impl_test.cc
|
| index 99b7ad9dc6f7bb50e0d28d370e8ea67b513f564f..502cd7a9776cf2ceb264e5f3dd0624a7081275d0 100644
|
| --- a/runtime/vm/debugger_api_impl_test.cc
|
| +++ b/runtime/vm/debugger_api_impl_test.cc
|
| @@ -2078,4 +2078,64 @@ TEST_CASE(Debug_ListSuperType) {
|
| EXPECT(super_type == Dart_Null());
|
| }
|
|
|
| +TEST_CASE(Debug_ScriptGetTokenInfo_Basic) {
|
| + const char* kScriptChars =
|
| + "var foo;\n"
|
| + "\n"
|
| + "main() {\n"
|
| + "}";
|
| +
|
| + Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
|
| + intptr_t libId = -1;
|
| + EXPECT_VALID(Dart_LibraryId(lib, &libId));
|
| + Dart_Handle scriptUrl = NewString(TestCase::url());
|
| + Dart_Handle tokens = Dart_ScriptGetTokenInfo(libId, scriptUrl);
|
| + EXPECT_VALID(tokens);
|
| +
|
| + Dart_Handle tokens_string = Dart_ToString(tokens);
|
| + EXPECT_VALID(tokens_string);
|
| + const char* tokens_cstr = "";
|
| + EXPECT_VALID(Dart_StringToCString(tokens_string, &tokens_cstr));
|
| + EXPECT_STREQ(
|
| + "[null, 1, 0, 1, 1, 5, 2, 8,"
|
| + " null, 3, 5, 1, 6, 5, 7, 6, 8, 8,"
|
| + " null, 4, 10, 1]",
|
| + tokens_cstr);
|
| +}
|
| +
|
| +TEST_CASE(Debug_ScriptGetTokenInfo_MultiLineInterpolation) {
|
| + const char* kScriptChars =
|
| + "var foo = 'hello world';\n"
|
| + "\n"
|
| + "void test() {\n"
|
| + " return '''\n"
|
| + "foo=$foo"
|
| + "''';\n"
|
| + "}\n"
|
| + "\n"
|
| + "main() {\n"
|
| + "}";
|
| +
|
| + Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
|
| + intptr_t libId = -1;
|
| + EXPECT_VALID(Dart_LibraryId(lib, &libId));
|
| + Dart_Handle scriptUrl = NewString(TestCase::url());
|
| + Dart_Handle tokens = Dart_ScriptGetTokenInfo(libId, scriptUrl);
|
| + EXPECT_VALID(tokens);
|
| +
|
| + Dart_Handle tokens_string = Dart_ToString(tokens);
|
| + EXPECT_VALID(tokens_string);
|
| + const char* tokens_cstr = "";
|
| + EXPECT_VALID(Dart_StringToCString(tokens_string, &tokens_cstr));
|
| + EXPECT_STREQ(
|
| + "[null, 1, 0, 1, 1, 5, 2, 9, 3, 11, 4, 24,"
|
| + " null, 3, 7, 1, 8, 6, 9, 10, 10, 11, 11, 13,"
|
| + " null, 4, 13, 3, 14, 10,"
|
| + " null, 5, 17, 5, 18, 9, 19, 12,"
|
| + " null, 6, 21, 1,"
|
| + " null, 8, 24, 1, 25, 5, 26, 6, 27, 8,"
|
| + " null, 9, 29, 1]",
|
| + tokens_cstr);
|
| +}
|
| +
|
| } // namespace dart
|
|
|