| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a | 
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "include/dart_debugger_api.h" | 5 #include "include/dart_debugger_api.h" | 
| 6 #include "platform/assert.h" | 6 #include "platform/assert.h" | 
| 7 #include "vm/dart_api_impl.h" | 7 #include "vm/dart_api_impl.h" | 
| 8 #include "vm/thread.h" | 8 #include "vm/thread.h" | 
| 9 #include "vm/unit_test.h" | 9 #include "vm/unit_test.h" | 
| 10 | 10 | 
| (...skipping 1508 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1519   breakpoint_hit_counter++; | 1519   breakpoint_hit_counter++; | 
| 1520 } | 1520 } | 
| 1521 | 1521 | 
| 1522 | 1522 | 
| 1523 TEST_CASE(Debug_EvaluateExpr) { | 1523 TEST_CASE(Debug_EvaluateExpr) { | 
| 1524   const char* kScriptChars = | 1524   const char* kScriptChars = | 
| 1525       "import 'dart:math';               \n" | 1525       "import 'dart:math';               \n" | 
| 1526       "main() {                          \n" | 1526       "main() {                          \n" | 
| 1527       "  var p = new Point(3, 4);        \n" | 1527       "  var p = new Point(3, 4);        \n" | 
| 1528       "  l = [1, 2, 3];        /*BP*/    \n" | 1528       "  l = [1, 2, 3];        /*BP*/    \n" | 
|  | 1529       "  m = {'\"': 'quote' ,            \n" | 
|  | 1530       "       \"\t\": 'tab' };           \n" | 
| 1529       "  return p;                       \n" | 1531       "  return p;                       \n" | 
| 1530       "}                                 \n" | 1532       "}                                 \n" | 
| 1531       "var _factor = 2;                  \n" | 1533       "var _factor = 2;                  \n" | 
| 1532       "var l;                            \n" | 1534       "var l;                            \n" | 
|  | 1535       "var m;                            \n" | 
| 1533       "class Point {                     \n" | 1536       "class Point {                     \n" | 
| 1534       "  var x, y;                       \n" | 1537       "  var x, y;                       \n" | 
| 1535       "  Point(this.x, this.y);          \n" | 1538       "  Point(this.x, this.y);          \n" | 
| 1536       "}                                 \n"; | 1539       "}                                 \n"; | 
| 1537 | 1540 | 
| 1538   LoadScript(kScriptChars); | 1541   LoadScript(kScriptChars); | 
| 1539   Dart_SetPausedEventHandler(&TestEvaluateHandler); | 1542   Dart_SetPausedEventHandler(&TestEvaluateHandler); | 
| 1540 | 1543 | 
| 1541 | 1544 | 
| 1542   Dart_Handle script_url = NewString(TestCase::url()); | 1545   Dart_Handle script_url = NewString(TestCase::url()); | 
| 1543   intptr_t line_no = 4; | 1546   intptr_t line_no = 4; | 
| 1544   Dart_Handle res = Dart_SetBreakpoint(script_url, line_no); | 1547   Dart_Handle res = Dart_SetBreakpoint(script_url, line_no); | 
| 1545   EXPECT_VALID(res); | 1548   EXPECT_VALID(res); | 
| 1546 | 1549 | 
| 1547   breakpoint_hit = false; | 1550   breakpoint_hit = false; | 
| 1548   Dart_Handle point = Invoke("main"); | 1551   Dart_Handle point = Invoke("main"); | 
| 1549   EXPECT_VALID(point); | 1552   EXPECT_VALID(point); | 
| 1550   EXPECT(breakpoint_hit == true); | 1553   EXPECT(breakpoint_hit == true); | 
| 1551 | 1554 | 
| 1552   Dart_Handle r = | 1555   Dart_Handle r = | 
| 1553       Dart_EvaluateExpr(point, NewString("_factor * sqrt(x*x + y*y)")); | 1556       Dart_EvaluateExpr(point, NewString("_factor * sqrt(x*x + y*y)")); | 
| 1554   EXPECT_VALID(r); | 1557   EXPECT_VALID(r); | 
| 1555   EXPECT(Dart_IsDouble(r)); | 1558   EXPECT(Dart_IsDouble(r)); | 
| 1556   EXPECT_EQ(50.0, ToDouble(r)); | 1559   EXPECT_EQ(50.0, ToDouble(r)); | 
| 1557 | 1560 | 
| 1558   Dart_Handle len = Dart_EvaluateExpr(point, NewString("l.length")); | 1561   Dart_Handle len = Dart_EvaluateExpr(point, NewString("l.length")); | 
| 1559   EXPECT_VALID(len); | 1562   EXPECT_VALID(len); | 
| 1560   EXPECT(Dart_IsNumber(len)); | 1563   EXPECT(Dart_IsNumber(len)); | 
| 1561   EXPECT_EQ(3, ToInt64(len)); | 1564   EXPECT_EQ(3, ToInt64(len)); | 
|  | 1565 | 
|  | 1566   Dart_Handle point_class = Dart_GetClass(script_lib, NewString("Point")); | 
|  | 1567   EXPECT_VALID(point_class); | 
|  | 1568   Dart_Handle elem = Dart_EvaluateExpr(point_class, NewString("m['\"']")); | 
|  | 1569   EXPECT_VALID(elem); | 
|  | 1570   EXPECT(Dart_IsString(elem)); | 
|  | 1571   EXPECT_STREQ("quote", ToCString(elem)); | 
|  | 1572 | 
|  | 1573   elem = Dart_EvaluateExpr(point_class, NewString("m[\"\\t\"]")); | 
|  | 1574   EXPECT_VALID(elem); | 
|  | 1575   EXPECT(Dart_IsString(elem)); | 
|  | 1576   EXPECT_STREQ("tab", ToCString(elem)); | 
| 1562 } | 1577 } | 
| 1563 | 1578 | 
| 1564 | 1579 | 
| 1565 TEST_CASE(Debug_GetSupertype) { | 1580 TEST_CASE(Debug_GetSupertype) { | 
| 1566   const char* kScriptChars = | 1581   const char* kScriptChars = | 
| 1567       "class Test {\n" | 1582       "class Test {\n" | 
| 1568       "}\n" | 1583       "}\n" | 
| 1569       "class Test1 extends Test {\n" | 1584       "class Test1 extends Test {\n" | 
| 1570       "}\n" | 1585       "}\n" | 
| 1571       "class Test2<T> {\n" | 1586       "class Test2<T> {\n" | 
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1701 | 1716 | 
| 1702   Dart_Handle list_type = Dart_InstanceGetType(list_access_test_obj); | 1717   Dart_Handle list_type = Dart_InstanceGetType(list_access_test_obj); | 
| 1703   Dart_Handle super_type = Dart_GetSupertype(list_type); | 1718   Dart_Handle super_type = Dart_GetSupertype(list_type); | 
| 1704   EXPECT(!Dart_IsError(super_type)); | 1719   EXPECT(!Dart_IsError(super_type)); | 
| 1705   super_type = Dart_GetSupertype(super_type); | 1720   super_type = Dart_GetSupertype(super_type); | 
| 1706   EXPECT(!Dart_IsError(super_type)); | 1721   EXPECT(!Dart_IsError(super_type)); | 
| 1707   EXPECT(super_type == Dart_Null()); | 1722   EXPECT(super_type == Dart_Null()); | 
| 1708 } | 1723 } | 
| 1709 | 1724 | 
| 1710 }  // namespace dart | 1725 }  // namespace dart | 
| OLD | NEW | 
|---|