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

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

Issue 2980043002: Cleanup unused Dart API Dart_IdentityHash (Closed)
Patch Set: Created 3 years, 5 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') | no next file » | 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 "vm/dart_api_impl.h" 5 #include "vm/dart_api_impl.h"
6 #include "bin/builtin.h" 6 #include "bin/builtin.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 641 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 EXPECT(Dart_IdentityEquals(lib1, lib1)); 652 EXPECT(Dart_IdentityEquals(lib1, lib1));
653 EXPECT(Dart_IdentityEquals(lib2, lib2)); 653 EXPECT(Dart_IdentityEquals(lib2, lib2));
654 EXPECT(!Dart_IdentityEquals(lib1, lib2)); 654 EXPECT(!Dart_IdentityEquals(lib1, lib2));
655 655
656 // Mix instance and non-instance. 656 // Mix instance and non-instance.
657 EXPECT(!Dart_IdentityEquals(lib1, nan1)); 657 EXPECT(!Dart_IdentityEquals(lib1, nan1));
658 EXPECT(!Dart_IdentityEquals(nan1, lib1)); 658 EXPECT(!Dart_IdentityEquals(nan1, lib1));
659 } 659 }
660 } 660 }
661 661
662 TEST_CASE(IdentityHash) {
663 Dart_Handle five = Dart_NewInteger(5);
664 Dart_Handle five_again = Dart_NewInteger(5);
665 Dart_Handle mint = Dart_NewInteger(0xFFFFFFFF);
666 Dart_Handle mint_again = Dart_NewInteger(0xFFFFFFFF);
667 Dart_Handle abc = NewString("abc");
668 // Dart_Handle abc_again = NewString("abc");
669 Dart_Handle xyz = NewString("xyz");
670 Dart_Handle dart_core = NewString("dart:core");
671 Dart_Handle dart_mirrors = NewString("dart:mirrors");
672
673 // Same objects.
674 EXPECT_EQ(Dart_IdentityHash(five), Dart_IdentityHash(five));
675 EXPECT_EQ(Dart_IdentityHash(mint), Dart_IdentityHash(mint));
676 EXPECT_EQ(Dart_IdentityHash(abc), Dart_IdentityHash(abc));
677 EXPECT_EQ(Dart_IdentityHash(xyz), Dart_IdentityHash(xyz));
678
679 // Equal objects with special spec rules.
680 EXPECT_EQ(Dart_IdentityHash(five), Dart_IdentityHash(five_again));
681 EXPECT_EQ(Dart_IdentityHash(mint), Dart_IdentityHash(mint_again));
682
683 // Note abc and abc_again are not required to have equal identity hashes.
684
685 // Case where identical() is not the same as pointer equality.
686 Dart_Handle nan1 = Dart_NewDouble(NAN);
687 Dart_Handle nan2 = Dart_NewDouble(NAN);
688 EXPECT_EQ(Dart_IdentityHash(nan1), Dart_IdentityHash(nan2));
689
690 // Non-instance objects.
691 {
692 CHECK_API_SCOPE(thread);
693 HANDLESCOPE(thread);
694 Dart_Handle lib1 = Dart_LookupLibrary(dart_core);
695 Dart_Handle lib2 = Dart_LookupLibrary(dart_mirrors);
696
697 EXPECT_EQ(Dart_IdentityHash(lib1), Dart_IdentityHash(lib1));
698 EXPECT_EQ(Dart_IdentityHash(lib2), Dart_IdentityHash(lib2));
699 }
700 }
701
702 TEST_CASE(ObjectEquals) { 662 TEST_CASE(ObjectEquals) {
703 bool equal = false; 663 bool equal = false;
704 Dart_Handle five = NewString("5"); 664 Dart_Handle five = NewString("5");
705 Dart_Handle five_again = NewString("5"); 665 Dart_Handle five_again = NewString("5");
706 Dart_Handle seven = NewString("7"); 666 Dart_Handle seven = NewString("7");
707 667
708 // Same objects. 668 // Same objects.
709 EXPECT_VALID(Dart_ObjectEquals(five, five, &equal)); 669 EXPECT_VALID(Dart_ObjectEquals(five, five, &equal));
710 EXPECT(equal); 670 EXPECT(equal);
711 671
(...skipping 8922 matching lines...) Expand 10 before | Expand all | Expand 10 after
9634 EXPECT_VALID(result); 9594 EXPECT_VALID(result);
9635 result = Dart_FinalizeLoading(false); 9595 result = Dart_FinalizeLoading(false);
9636 EXPECT_VALID(result); 9596 EXPECT_VALID(result);
9637 result = Dart_Invoke(lib, NewString("foozoo"), 0, NULL); 9597 result = Dart_Invoke(lib, NewString("foozoo"), 0, NULL);
9638 EXPECT(Dart_IsError(result)); 9598 EXPECT(Dart_IsError(result));
9639 } 9599 }
9640 9600
9641 #endif // !PRODUCT 9601 #endif // !PRODUCT
9642 9602
9643 } // namespace dart 9603 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/dart_api_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698