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_mirrors_api.h" | 7 #include "include/dart_mirrors_api.h" |
8 #include "include/dart_native_api.h" | 8 #include "include/dart_native_api.h" |
9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
10 #include "platform/json.h" | 10 #include "platform/json.h" |
(...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
825 result = Dart_ListSetAsBytes(list_access_test_obj, 0, native_array, 3); | 825 result = Dart_ListSetAsBytes(list_access_test_obj, 0, native_array, 3); |
826 EXPECT(Dart_IsError(result)); | 826 EXPECT(Dart_IsError(result)); |
827 EXPECT(Dart_IsUnhandledExceptionError(result)); | 827 EXPECT(Dart_IsUnhandledExceptionError(result)); |
828 | 828 |
829 result = Dart_ListSetAt(list_access_test_obj, 0, Dart_NewInteger(42)); | 829 result = Dart_ListSetAt(list_access_test_obj, 0, Dart_NewInteger(42)); |
830 EXPECT(Dart_IsError(result)); | 830 EXPECT(Dart_IsError(result)); |
831 EXPECT(Dart_IsUnhandledExceptionError(result)); | 831 EXPECT(Dart_IsUnhandledExceptionError(result)); |
832 } | 832 } |
833 | 833 |
834 | 834 |
835 TEST_CASE(TypedDataViewListGetAsBytes) { | |
836 const int kSize = 1000; | |
837 | |
838 const char* kScriptChars = | |
839 "import 'dart:typed_data';\n" | |
840 "List main(int size) {" | |
ricow1
2013/08/01 16:29:50
add \n here and below
Florian Schneider
2013/08/02 11:07:33
Done.
Florian Schneider
2013/08/02 11:07:33
Done.
| |
841 " var a = new Int8List(size);" | |
842 " var view = new Int8List.view(a.buffer, 0, size);" | |
843 " return view;" | |
844 "}\n"; | |
845 // Create a test library and Load up a test script in it. | |
846 Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL); | |
847 | |
848 // Test with a typed data view object. | |
849 Dart_Handle dart_args[1]; | |
850 dart_args[0] = Dart_NewInteger(kSize); | |
851 Dart_Handle view_obj = Dart_Invoke(lib, NewString("main"), 1, dart_args); | |
852 EXPECT_VALID(view_obj); | |
853 for (intptr_t i = 0; i < kSize; ++i) { | |
854 EXPECT_VALID(Dart_ListSetAt(view_obj, i, Dart_NewInteger(i & 0xff))); | |
855 } | |
856 uint8_t* data = new uint8_t[kSize]; | |
857 EXPECT_VALID(Dart_ListGetAsBytes(view_obj, 0, data, kSize)); | |
858 for (intptr_t i = 0; i < kSize; ++i) { | |
859 EXPECT_EQ(i & 0xff, data[i]); | |
860 } | |
861 | |
862 Dart_Handle result = Dart_ListGetAsBytes(view_obj, 0, data, kSize + 1); | |
863 EXPECT(Dart_IsError(result)); | |
864 delete[] data; | |
865 } | |
866 | |
867 | |
835 TEST_CASE(TypedDataAccess) { | 868 TEST_CASE(TypedDataAccess) { |
836 EXPECT_EQ(Dart_TypedData_kInvalid, | 869 EXPECT_EQ(Dart_TypedData_kInvalid, |
837 Dart_GetTypeOfTypedData(Dart_True())); | 870 Dart_GetTypeOfTypedData(Dart_True())); |
838 EXPECT_EQ(Dart_TypedData_kInvalid, | 871 EXPECT_EQ(Dart_TypedData_kInvalid, |
839 Dart_GetTypeOfExternalTypedData(Dart_False())); | 872 Dart_GetTypeOfExternalTypedData(Dart_False())); |
840 Dart_Handle byte_array1 = Dart_NewTypedData(Dart_TypedData_kUint8, 10); | 873 Dart_Handle byte_array1 = Dart_NewTypedData(Dart_TypedData_kUint8, 10); |
841 EXPECT_VALID(byte_array1); | 874 EXPECT_VALID(byte_array1); |
842 EXPECT_EQ(Dart_TypedData_kUint8, | 875 EXPECT_EQ(Dart_TypedData_kUint8, |
843 Dart_GetTypeOfTypedData(byte_array1)); | 876 Dart_GetTypeOfTypedData(byte_array1)); |
844 EXPECT_EQ(Dart_TypedData_kInvalid, | 877 EXPECT_EQ(Dart_TypedData_kInvalid, |
(...skipping 7415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
8260 EXPECT(Dart_IsError(Dart_GetClass(lib, NewString("baw")))); | 8293 EXPECT(Dart_IsError(Dart_GetClass(lib, NewString("baw")))); |
8261 // Variables foo1 and foo2 are unambiguous. | 8294 // Variables foo1 and foo2 are unambiguous. |
8262 EXPECT(!Dart_IsError(Dart_LookupVariable(lib, NewString("foo1")))); | 8295 EXPECT(!Dart_IsError(Dart_LookupVariable(lib, NewString("foo1")))); |
8263 EXPECT(!Dart_IsError(Dart_LookupVariable(lib, NewString("foo2")))); | 8296 EXPECT(!Dart_IsError(Dart_LookupVariable(lib, NewString("foo2")))); |
8264 // Functions bar1 and bar2 are unambiguous. | 8297 // Functions bar1 and bar2 are unambiguous. |
8265 EXPECT(!Dart_IsError(Dart_LookupFunction(lib, NewString("bar1")))); | 8298 EXPECT(!Dart_IsError(Dart_LookupFunction(lib, NewString("bar1")))); |
8266 EXPECT(!Dart_IsError(Dart_LookupFunction(lib, NewString("bar2")))); | 8299 EXPECT(!Dart_IsError(Dart_LookupFunction(lib, NewString("bar2")))); |
8267 } | 8300 } |
8268 | 8301 |
8269 } // namespace dart | 8302 } // namespace dart |
OLD | NEW |