Index: courgette/encode_decode_unittest.cc |
diff --git a/courgette/encode_decode_unittest.cc b/courgette/encode_decode_unittest.cc |
index 9e89c20e138688fee99cb9b62a9653a3790069b7..bb3ed95202577da2ccf131c0b5140a369d135170 100644 |
--- a/courgette/encode_decode_unittest.cc |
+++ b/courgette/encode_decode_unittest.cc |
@@ -4,8 +4,12 @@ |
#include <stddef.h> |
+#include "base/memory/scoped_ptr.h" |
+#include "courgette/assembly_program.h" |
#include "courgette/base_test_unittest.h" |
#include "courgette/courgette.h" |
+#include "courgette/encoded_program.h" |
+#include "courgette/program_detector.h" |
#include "courgette/streams.h" |
class EncodeDecodeTest : public BaseTest { |
@@ -20,25 +24,25 @@ void EncodeDecodeTest::TestAssembleToStreamDisassemble( |
const void* original_buffer = file.c_str(); |
size_t original_length = file.length(); |
- courgette::AssemblyProgram* program = NULL; |
+ scoped_ptr<courgette::AssemblyProgram> program; |
const courgette::Status parse_status = |
courgette::ParseDetectedExecutable(original_buffer, |
original_length, |
&program); |
EXPECT_EQ(courgette::C_OK, parse_status); |
- courgette::EncodedProgram* encoded = NULL; |
- |
- const courgette::Status encode_status = Encode(program, &encoded); |
+ scoped_ptr<courgette::EncodedProgram> encoded; |
+ const courgette::Status encode_status = Encode(*program, &encoded); |
EXPECT_EQ(courgette::C_OK, encode_status); |
- DeleteAssemblyProgram(program); |
+ program.reset(nullptr); |
courgette::SinkStreamSet sinks; |
- const courgette::Status write_status = WriteEncodedProgram(encoded, &sinks); |
+ const courgette::Status write_status = |
+ WriteEncodedProgram(encoded.get(), &sinks); |
EXPECT_EQ(courgette::C_OK, write_status); |
- DeleteEncodedProgram(encoded); |
+ encoded.reset(nullptr); |
courgette::SinkStream sink; |
bool can_collect = sinks.CopyTo(&sink); |
@@ -53,21 +57,22 @@ void EncodeDecodeTest::TestAssembleToStreamDisassemble( |
bool can_get_source_streams = sources.Init(buffer, length); |
EXPECT_TRUE(can_get_source_streams); |
- courgette::EncodedProgram *encoded2 = NULL; |
+ scoped_ptr<courgette::EncodedProgram> encoded2; |
const courgette::Status read_status = ReadEncodedProgram(&sources, &encoded2); |
EXPECT_EQ(courgette::C_OK, read_status); |
courgette::SinkStream assembled; |
- const courgette::Status assemble_status = Assemble(encoded2, &assembled); |
+ const courgette::Status assemble_status = |
+ Assemble(encoded2.get(), &assembled); |
EXPECT_EQ(courgette::C_OK, assemble_status); |
+ encoded2.reset(nullptr); |
+ |
const void* assembled_buffer = assembled.Buffer(); |
size_t assembled_length = assembled.Length(); |
EXPECT_EQ(original_length, assembled_length); |
EXPECT_EQ(0, memcmp(original_buffer, assembled_buffer, original_length)); |
- |
- DeleteEncodedProgram(encoded2); |
} |
TEST_F(EncodeDecodeTest, PE) { |