| //===- FragmentTest.cpp -------------------------------------------------------===// |
| // |
| // The MCLinker Project |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| #include "FragmentTest.h" |
| |
| #include <mcld/Fragment/Fragment.h> |
| #include <mcld/LD/SectionData.h> |
| #include <mcld/LD/LDSection.h> |
| |
| using namespace mcld; |
| using namespace mcldtest; |
| |
| |
| // Constructor can do set-up work for all test here. |
| FragmentTest::FragmentTest() |
| { |
| } |
| |
| // Destructor can do clean-up work that doesn't throw exceptions here. |
| FragmentTest::~FragmentTest() |
| { |
| } |
| |
| // SetUp() will be called immediately before each test. |
| void FragmentTest::SetUp() |
| { |
| } |
| |
| // TearDown() will be called immediately after each test. |
| void FragmentTest::TearDown() |
| { |
| } |
| |
| //===----------------------------------------------------------------------===// |
| // Testcases |
| |
| TEST_F( FragmentTest, Fragment_constructor ) { |
| LDSection* test = LDSection::Create("test", LDFileFormat::Null, 0, 0); |
| SectionData* s = SectionData::Create(*test); |
| new Fragment(Fragment::Alignment, s); |
| EXPECT_TRUE(1 == s->size()); |
| new Fragment(Fragment::Alignment, s); |
| new Fragment(Fragment::Region, s); |
| new Fragment(Fragment::Fillment, s); |
| new Fragment(Fragment::Target, s); |
| EXPECT_TRUE(5 == s->size()); |
| |
| LDSection::Destroy(test); |
| // SectionData::Destroy(s); |
| } |
| |
| TEST_F( FragmentTest, Fragment_trivial_function ) { |
| LDSection* test = LDSection::Create("test", LDFileFormat::Null, 0, 0); |
| SectionData* s = SectionData::Create(*test); |
| Fragment* f = new Fragment(Fragment::Alignment, s); |
| |
| EXPECT_TRUE(Fragment::Alignment == f->getKind()); |
| |
| f->setOffset(5566); |
| EXPECT_TRUE(5566 == f->getOffset()); |
| |
| //always return true |
| EXPECT_TRUE(f->classof(new Fragment(Fragment::Region, s)) ); |
| |
| LDSection::Destroy(test); |
| // SectionData::Destroy(s); |
| } |
| |
| |