| 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 "platform/globals.h" | 5 #include "platform/globals.h" |
| 6 | 6 |
| 7 #include "include/dart_debugger_api.h" | 7 #include "include/dart_debugger_api.h" |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "vm/bigint_operations.h" | 9 #include "vm/bigint_operations.h" |
| 10 #include "vm/class_finalizer.h" | 10 #include "vm/class_finalizer.h" |
| (...skipping 2613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2624 | 2624 |
| 2625 UNIT_TEST_CASE(PostCObject) { | 2625 UNIT_TEST_CASE(PostCObject) { |
| 2626 // Create a native port for posting from C to Dart | 2626 // Create a native port for posting from C to Dart |
| 2627 TestIsolateScope __test_isolate__; | 2627 TestIsolateScope __test_isolate__; |
| 2628 const char* kScriptChars = | 2628 const char* kScriptChars = |
| 2629 "import 'dart:isolate';\n" | 2629 "import 'dart:isolate';\n" |
| 2630 "main() {\n" | 2630 "main() {\n" |
| 2631 " var messageCount = 0;\n" | 2631 " var messageCount = 0;\n" |
| 2632 " var exception = '';\n" | 2632 " var exception = '';\n" |
| 2633 " var port = new RawReceivePort();\n" | 2633 " var port = new RawReceivePort();\n" |
| 2634 " var sendPort = port.sendPort;\n" |
| 2634 " port.handler = (message) {\n" | 2635 " port.handler = (message) {\n" |
| 2635 " if (messageCount < 8) {\n" | 2636 " if (messageCount < 8) {\n" |
| 2636 " exception = '$exception${message}';\n" | 2637 " exception = '$exception${message}';\n" |
| 2637 " } else {\n" | 2638 " } else {\n" |
| 2638 " exception = '$exception${message.length}';\n" | 2639 " exception = '$exception${message.length}';\n" |
| 2639 " for (int i = 0; i < message.length; i++) {\n" | 2640 " for (int i = 0; i < message.length; i++) {\n" |
| 2640 " exception = '$exception${message[i]}';\n" | 2641 " exception = '$exception${message[i]}';\n" |
| 2641 " }\n" | 2642 " }\n" |
| 2642 " }\n" | 2643 " }\n" |
| 2643 " messageCount++;\n" | 2644 " messageCount++;\n" |
| 2644 " if (messageCount == 9) throw new Exception(exception);\n" | 2645 " if (messageCount == 9) throw new Exception(exception);\n" |
| 2645 " };\n" | 2646 " };\n" |
| 2646 " return port;\n" | 2647 " return sendPort;\n" |
| 2647 "}\n"; | 2648 "}\n"; |
| 2648 Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL); | 2649 Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL); |
| 2649 Dart_EnterScope(); | 2650 Dart_EnterScope(); |
| 2650 | 2651 |
| 2651 Dart_Handle recv_port = Dart_Invoke(lib, NewString("main"), 0, NULL); | 2652 Dart_Handle send_port = Dart_Invoke(lib, NewString("main"), 0, NULL); |
| 2652 EXPECT_VALID(recv_port); | 2653 EXPECT_VALID(send_port); |
| 2653 Dart_Port port_id; | 2654 Dart_Port port_id; |
| 2654 Dart_Handle result = Dart_ReceivePortGetId(recv_port, &port_id); | 2655 Dart_Handle result = Dart_SendPortGetId(send_port, &port_id); |
| 2655 ASSERT(!Dart_IsError(result)); | 2656 ASSERT(!Dart_IsError(result)); |
| 2656 | 2657 |
| 2657 // Setup single object message. | 2658 // Setup single object message. |
| 2658 Dart_CObject object; | 2659 Dart_CObject object; |
| 2659 | 2660 |
| 2660 object.type = Dart_CObject_kNull; | 2661 object.type = Dart_CObject_kNull; |
| 2661 EXPECT(Dart_PostCObject(port_id, &object)); | 2662 EXPECT(Dart_PostCObject(port_id, &object)); |
| 2662 | 2663 |
| 2663 object.type = Dart_CObject_kBool; | 2664 object.type = Dart_CObject_kBool; |
| 2664 object.value.as_bool = true; | 2665 object.value.as_bool = true; |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2710 result = Dart_RunLoop(); | 2711 result = Dart_RunLoop(); |
| 2711 EXPECT(Dart_IsError(result)); | 2712 EXPECT(Dart_IsError(result)); |
| 2712 EXPECT(Dart_ErrorHasException(result)); | 2713 EXPECT(Dart_ErrorHasException(result)); |
| 2713 EXPECT_SUBSTRING("Exception: nulltruefalse123456æøå3.14[]100123456789\n", | 2714 EXPECT_SUBSTRING("Exception: nulltruefalse123456æøå3.14[]100123456789\n", |
| 2714 Dart_GetError(result)); | 2715 Dart_GetError(result)); |
| 2715 | 2716 |
| 2716 Dart_ExitScope(); | 2717 Dart_ExitScope(); |
| 2717 } | 2718 } |
| 2718 | 2719 |
| 2719 } // namespace dart | 2720 } // namespace dart |
| OLD | NEW |