| Index: ppapi/tests/test_buffer.cc
|
| diff --git a/ppapi/tests/test_buffer.cc b/ppapi/tests/test_buffer.cc
|
| index fddc57336cdab5a4df796b0102512e0b5dc5a624..6fd25695e79df648f3a049802372bdb7f2df90f2 100644
|
| --- a/ppapi/tests/test_buffer.cc
|
| +++ b/ppapi/tests/test_buffer.cc
|
| @@ -23,6 +23,7 @@ void TestBuffer::RunTest() {
|
| instance_->LogTest("InvalidSize", TestInvalidSize());
|
| instance_->LogTest("InitToZero", TestInitToZero());
|
| instance_->LogTest("IsBuffer", TestIsBuffer());
|
| + instance_->LogTest("BasicLifecyle", TestBasicLifeCycle());
|
| }
|
|
|
| std::string TestBuffer::TestInvalidSize() {
|
| @@ -75,3 +76,28 @@ std::string TestBuffer::TestIsBuffer() {
|
| PASS();
|
| }
|
|
|
| +std::string TestBuffer::TestBasicLifeCycle() {
|
| + enum { kBufferSize = 100 };
|
| +
|
| + pp::Buffer_Dev *buffer = new pp::Buffer_Dev(instance_, kBufferSize);
|
| + if (buffer->is_null() ||
|
| + !buffer_interface_->IsBuffer(buffer->pp_resource()) ||
|
| + buffer->size() != kBufferSize) {
|
| + return "Error creating buffer (earlier test should have failed)";
|
| + }
|
| +
|
| + // Test that the buffer got created & mapped.
|
| + if (buffer->data() == NULL)
|
| + return "Failed to Map() buffer";
|
| +
|
| + // Test that the buffer is writeable.
|
| + char* data = static_cast<char*>(buffer->data());
|
| + for (int i = 0; i < kBufferSize; ++i)
|
| + data[i] = 'X';
|
| +
|
| + // Implicitly test that destroying the buffer doesn't encounter a fatal error
|
| + // in Unmap.
|
| + delete buffer;
|
| +
|
| + PASS();
|
| +}
|
|
|