Chromium Code Reviews| Index: ppapi/tests/test_buffer.cc |
| diff --git a/ppapi/tests/test_buffer.cc b/ppapi/tests/test_buffer.cc |
| index fddc57336cdab5a4df796b0102512e0b5dc5a624..c200f9d9f0c0c7650de6123e02722105d3308695 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 = reinterpret_cast<char*>(buffer->data()); |
|
piman
2011/06/09 23:11:32
static_cast
Ami GONE FROM CHROMIUM
2011/06/09 23:35:28
Done.
|
| + 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(); |
| +} |