dex_cache_test.cc revision c4fa2c0c6302d3d9979e8d8a4030499c10d6b68b
17e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom// Copyright 2011 Google Inc. All Rights Reserved. 27e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom 37e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom#include "class_linker.h" 47e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom#include "common_test.h" 57e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom#include "dex_cache.h" 67e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom#include "heap.h" 77e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom#include "object.h" 87e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom#include "scoped_ptr.h" 97e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom 107e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom#include <stdio.h> 117e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom#include "gtest/gtest.h" 127e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom 137e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstromnamespace art { 147e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom 15f734cf55d510976f4862b15e35fc86eae2a3daf8Brian Carlstromclass DexCacheTest : public CommonTest {}; 167e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom 177e49dca262933bc30cbc8b9f07cfc8cce2343389Brian CarlstromTEST_F(DexCacheTest, Open) { 187e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom 19a663ea5de4c9ab6b1510fdebd6d8eca77ba699aeBrian Carlstrom DexCache* dex_cache = class_linker_->AllocDexCache(java_lang_dex_file_.get()); 207e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom ASSERT_TRUE(dex_cache != NULL); 21c4fa2c0c6302d3d9979e8d8a4030499c10d6b68bBrian Carlstrom 22a663ea5de4c9ab6b1510fdebd6d8eca77ba699aeBrian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumStringIds(), dex_cache->NumStrings()); 23a663ea5de4c9ab6b1510fdebd6d8eca77ba699aeBrian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumTypeIds(), dex_cache->NumClasses()); 24a663ea5de4c9ab6b1510fdebd6d8eca77ba699aeBrian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumMethodIds(), dex_cache->NumMethods()); 25a663ea5de4c9ab6b1510fdebd6d8eca77ba699aeBrian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumFieldIds(), dex_cache->NumFields()); 26c4fa2c0c6302d3d9979e8d8a4030499c10d6b68bBrian Carlstrom 27c4fa2c0c6302d3d9979e8d8a4030499c10d6b68bBrian Carlstrom EXPECT_LE(0, dex_cache->GetStrings()->GetLength()); 28c4fa2c0c6302d3d9979e8d8a4030499c10d6b68bBrian Carlstrom EXPECT_LE(0, dex_cache->GetClasses()->GetLength()); 29c4fa2c0c6302d3d9979e8d8a4030499c10d6b68bBrian Carlstrom EXPECT_LE(0, dex_cache->GetMethods()->GetLength()); 30c4fa2c0c6302d3d9979e8d8a4030499c10d6b68bBrian Carlstrom EXPECT_LE(0, dex_cache->GetFields()->GetLength()); 31c4fa2c0c6302d3d9979e8d8a4030499c10d6b68bBrian Carlstrom 32c4fa2c0c6302d3d9979e8d8a4030499c10d6b68bBrian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumStringIds(), 33c4fa2c0c6302d3d9979e8d8a4030499c10d6b68bBrian Carlstrom static_cast<uint32_t>(dex_cache->GetStrings()->GetLength())); 34c4fa2c0c6302d3d9979e8d8a4030499c10d6b68bBrian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumTypeIds(), 35c4fa2c0c6302d3d9979e8d8a4030499c10d6b68bBrian Carlstrom static_cast<uint32_t>(dex_cache->GetClasses()->GetLength())); 36c4fa2c0c6302d3d9979e8d8a4030499c10d6b68bBrian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumMethodIds(), 37c4fa2c0c6302d3d9979e8d8a4030499c10d6b68bBrian Carlstrom static_cast<uint32_t>(dex_cache->GetMethods()->GetLength())); 38c4fa2c0c6302d3d9979e8d8a4030499c10d6b68bBrian Carlstrom EXPECT_EQ(java_lang_dex_file_->NumFieldIds(), 39c4fa2c0c6302d3d9979e8d8a4030499c10d6b68bBrian Carlstrom static_cast<uint32_t>(dex_cache->GetFields()->GetLength())); 407e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom} 417e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom 427e49dca262933bc30cbc8b9f07cfc8cce2343389Brian Carlstrom} // namespace art 43