Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Side by Side Diff: runtime/vm/dart_api_impl_test.cc

Issue 1870343002: - Refactor Symbol allocation to expect a thread parameter. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Address review feedback. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/dart_api_impl.cc ('k') | runtime/vm/dart_entry.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "vm/compiler.h" 6 #include "vm/compiler.h"
7 #include "include/dart_api.h" 7 #include "include/dart_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 "include/dart_tools_api.h" 10 #include "include/dart_tools_api.h"
(...skipping 8554 matching lines...) Expand 10 before | Expand all | Expand 10 after
8565 EXPECT(Dart_IsString(empty_str)); 8565 EXPECT(Dart_IsString(empty_str));
8566 EXPECT(Dart_IsStringLatin1(str)); 8566 EXPECT(Dart_IsStringLatin1(str));
8567 EXPECT(Dart_IsStringLatin1(empty_str)); 8567 EXPECT(Dart_IsStringLatin1(empty_str));
8568 EXPECT(Dart_IsExternalString(str)); 8568 EXPECT(Dart_IsExternalString(str));
8569 EXPECT(Dart_IsExternalString(empty_str)); 8569 EXPECT(Dart_IsExternalString(empty_str));
8570 EXPECT_VALID(Dart_StringLength(str, &length)); 8570 EXPECT_VALID(Dart_StringLength(str, &length));
8571 EXPECT_EQ(0, length); 8571 EXPECT_EQ(0, length);
8572 8572
8573 // Test with single character canonical string, it should not become 8573 // Test with single character canonical string, it should not become
8574 // external string but the peer should be setup for it. 8574 // external string but the peer should be setup for it.
8575 Dart_Handle canonical_str = Api::NewHandle(thread, Symbols::New("*")); 8575 Dart_Handle canonical_str = Api::NewHandle(thread, Symbols::New(thread,
8576 "*"));
8576 EXPECT(Dart_IsString(canonical_str)); 8577 EXPECT(Dart_IsString(canonical_str));
8577 EXPECT(!Dart_IsExternalString(canonical_str)); 8578 EXPECT(!Dart_IsExternalString(canonical_str));
8578 uint8_t ext_canonical_str[kLength]; 8579 uint8_t ext_canonical_str[kLength];
8579 str = Dart_MakeExternalString(canonical_str, 8580 str = Dart_MakeExternalString(canonical_str,
8580 ext_canonical_str, 8581 ext_canonical_str,
8581 kLength, 8582 kLength,
8582 &canonical_str_peer, 8583 &canonical_str_peer,
8583 MakeExternalCback); 8584 MakeExternalCback);
8584 EXPECT(Dart_IsString(str)); 8585 EXPECT(Dart_IsString(str));
8585 EXPECT(!Dart_IsExternalString(canonical_str)); 8586 EXPECT(!Dart_IsExternalString(canonical_str));
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
8655 EXPECT_EQ(expected_length, length); 8656 EXPECT_EQ(expected_length, length);
8656 EXPECT(Dart_IdentityEquals(str, utf16_str)); 8657 EXPECT(Dart_IdentityEquals(str, utf16_str));
8657 for (intptr_t i = 0; i < length; i++) { 8658 for (intptr_t i = 0; i < length; i++) {
8658 EXPECT_EQ(0x4e8c, ext_utf16_str[i]); 8659 EXPECT_EQ(0x4e8c, ext_utf16_str[i]);
8659 } 8660 }
8660 8661
8661 Zone* zone = thread->zone(); 8662 Zone* zone = thread->zone();
8662 // Test with a symbol (hash value should be preserved on externalization). 8663 // Test with a symbol (hash value should be preserved on externalization).
8663 const char* symbol_ascii = "?unseen"; 8664 const char* symbol_ascii = "?unseen";
8664 expected_length = strlen(symbol_ascii); 8665 expected_length = strlen(symbol_ascii);
8665 Dart_Handle symbol_str = 8666 Dart_Handle symbol_str = Api::NewHandle(thread,
8666 Api::NewHandle(thread, Symbols::New(symbol_ascii, expected_length)); 8667 Symbols::New(thread, symbol_ascii, expected_length));
8667 EXPECT_VALID(symbol_str); 8668 EXPECT_VALID(symbol_str);
8668 EXPECT(Dart_IsString(symbol_str)); 8669 EXPECT(Dart_IsString(symbol_str));
8669 EXPECT(Dart_IsStringLatin1(symbol_str)); 8670 EXPECT(Dart_IsStringLatin1(symbol_str));
8670 EXPECT(!Dart_IsExternalString(symbol_str)); 8671 EXPECT(!Dart_IsExternalString(symbol_str));
8671 EXPECT_VALID(Dart_StringLength(symbol_str, &length)); 8672 EXPECT_VALID(Dart_StringLength(symbol_str, &length));
8672 EXPECT_EQ(expected_length, length); 8673 EXPECT_EQ(expected_length, length);
8673 EXPECT(Api::UnwrapStringHandle(zone, symbol_str).HasHash()); 8674 EXPECT(Api::UnwrapStringHandle(zone, symbol_str).HasHash());
8674 8675
8675 uint8_t ext_symbol_ascii[kLength]; 8676 uint8_t ext_symbol_ascii[kLength];
8676 EXPECT_VALID(Dart_StringStorageSize(symbol_str, &size)); 8677 EXPECT_VALID(Dart_StringStorageSize(symbol_str, &size));
(...skipping 1375 matching lines...) Expand 10 before | Expand all | Expand 10 after
10052 result = Dart_Invoke(lib, 10053 result = Dart_Invoke(lib,
10053 NewString("foozoo"), 10054 NewString("foozoo"),
10054 0, 10055 0,
10055 NULL); 10056 NULL);
10056 EXPECT(Dart_IsError(result)); 10057 EXPECT(Dart_IsError(result));
10057 } 10058 }
10058 10059
10059 #endif // !PRODUCT 10060 #endif // !PRODUCT
10060 10061
10061 } // namespace dart 10062 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/dart_api_impl.cc ('k') | runtime/vm/dart_entry.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698