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 "bin/builtin.h" | 5 #include "bin/builtin.h" |
6 #include "include/dart_api.h" | 6 #include "include/dart_api.h" |
7 #include "include/dart_debugger_api.h" | 7 #include "include/dart_debugger_api.h" |
8 #include "include/dart_mirrors_api.h" | 8 #include "include/dart_mirrors_api.h" |
9 #include "include/dart_native_api.h" | 9 #include "include/dart_native_api.h" |
10 #include "platform/assert.h" | 10 #include "platform/assert.h" |
(...skipping 5123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5134 EXPECT_VALID(result); | 5134 EXPECT_VALID(result); |
5135 result = Dart_StringToCString(result, &str); | 5135 result = Dart_StringToCString(result, &str); |
5136 EXPECT_STREQ("top !!!", str); | 5136 EXPECT_STREQ("top !!!", str); |
5137 | 5137 |
5138 // Top-level method, wrong arg count. | 5138 // Top-level method, wrong arg count. |
5139 EXPECT_ERROR(Dart_Invoke(lib, name, 2, bad_args), | 5139 EXPECT_ERROR(Dart_Invoke(lib, name, 2, bad_args), |
5140 "Dart_Invoke: wrong argument count for function 'topMethod': " | 5140 "Dart_Invoke: wrong argument count for function 'topMethod': " |
5141 "2 passed, 1 expected."); | 5141 "2 passed, 1 expected."); |
5142 | 5142 |
5143 // Hidden top-level method. | 5143 // Hidden top-level method. |
5144 name = PrivateLibName(lib, "_topMethod"); | 5144 name = PrivateLibName(lib, "_topMethod"); |
turnidge
2015/02/03 00:21:41
Maybe you could modify this test to no longer invo
Cutch
2015/02/03 00:26:30
Done.
| |
5145 EXPECT(Dart_IsError(Dart_Invoke(type, name, 1, args))); | 5145 EXPECT(Dart_IsError(Dart_Invoke(type, name, 1, args))); |
5146 EXPECT(Dart_IsError(Dart_Invoke(instance, name, 1, args))); | 5146 EXPECT(Dart_IsError(Dart_Invoke(instance, name, 1, args))); |
5147 result = Dart_Invoke(lib, name, 1, args); | 5147 result = Dart_Invoke(lib, name, 1, args); |
5148 EXPECT_VALID(result); | 5148 EXPECT_VALID(result); |
5149 result = Dart_StringToCString(result, &str); | 5149 result = Dart_StringToCString(result, &str); |
5150 EXPECT_STREQ("hidden top !!!", str); | 5150 EXPECT_STREQ("hidden top !!!", str); |
5151 } | 5151 } |
5152 | 5152 |
5153 | 5153 |
5154 TEST_CASE(Invoke_PrivateStatic) { | |
5155 const char* kScriptChars = | |
5156 "class Methods {\n" | |
5157 " static _staticMethod(arg) => 'hidden static $arg';\n" | |
5158 "}\n" | |
5159 "\n"; | |
5160 | |
5161 // Shared setup. | |
5162 Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL); | |
5163 Dart_Handle type = Dart_GetType(lib, NewString("Methods"), 0, NULL); | |
5164 Dart_Handle result; | |
5165 EXPECT_VALID(type); | |
5166 Dart_Handle name = NewString("_staticMethod"); | |
5167 EXPECT_VALID(name); | |
5168 | |
5169 Dart_Handle args[1]; | |
5170 args[0] = NewString("!!!"); | |
5171 result = Dart_Invoke(type, name, 1, args); | |
5172 EXPECT_VALID(result); | |
5173 | |
5174 const char* str = NULL; | |
5175 result = Dart_StringToCString(result, &str); | |
5176 EXPECT_STREQ("hidden static !!!", str); | |
5177 } | |
5178 | |
5179 | |
5154 TEST_CASE(Invoke_FunnyArgs) { | 5180 TEST_CASE(Invoke_FunnyArgs) { |
5155 const char* kScriptChars = | 5181 const char* kScriptChars = |
5156 "test(arg) => 'hello $arg';\n"; | 5182 "test(arg) => 'hello $arg';\n"; |
5157 | 5183 |
5158 Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL); | 5184 Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL); |
5159 Dart_Handle func_name = NewString("test"); | 5185 Dart_Handle func_name = NewString("test"); |
5160 Dart_Handle args[1]; | 5186 Dart_Handle args[1]; |
5161 const char* str; | 5187 const char* str; |
5162 | 5188 |
5163 // Make sure that valid args yield valid results. | 5189 // Make sure that valid args yield valid results. |
(...skipping 3652 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
8816 result = Dart_Invoke(lib, | 8842 result = Dart_Invoke(lib, |
8817 NewString("testView16"), | 8843 NewString("testView16"), |
8818 1, | 8844 1, |
8819 dart_args); | 8845 dart_args); |
8820 EXPECT_VALID(result); | 8846 EXPECT_VALID(result); |
8821 EXPECT(Dart_IsString(result)); | 8847 EXPECT(Dart_IsString(result)); |
8822 } | 8848 } |
8823 } | 8849 } |
8824 | 8850 |
8825 } // namespace dart | 8851 } // namespace dart |
OLD | NEW |