Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(255)

Side by Side Diff: mojo/public/c/bindings/tests/buffer_unittest.cc

Issue 2234063002: Move the C bindings tests to the new location. (Closed) Base URL: https://github.com/domokit/mojo.git@work791_mojo_bindings
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include <mojo/bindings/buffer.h>
6
7 #include <stdint.h>
8
9 #include "testing/gtest/include/gtest/gtest.h"
10
11 namespace {
12
13 TEST(MojomBufferTest, RoundTo8) {
14 char buffer[100];
15 struct MojomBuffer mbuf = {
16 buffer, sizeof(buffer),
17 0, // num_bytes_used
18 };
19
20 // This should actually allocate 8 bytes:
21 EXPECT_EQ(buffer, MojomBuffer_Allocate(&mbuf, 6));
22 EXPECT_EQ(8ul, mbuf.num_bytes_used);
23 // The start of the next buffer is buffer + 8 bytes:
24 EXPECT_EQ(buffer + 8, MojomBuffer_Allocate(&mbuf, 6));
25 EXPECT_EQ(16ul, mbuf.num_bytes_used);
26 // 8-bye allocation results in 8-byte allocation.
27 EXPECT_EQ(buffer + 16, MojomBuffer_Allocate(&mbuf, 8));
28 EXPECT_EQ(24ul, mbuf.num_bytes_used);
29 // Allocate 0 bytes.
30 EXPECT_EQ(buffer + 24ul, MojomBuffer_Allocate(&mbuf, 0));
31 EXPECT_EQ(24ul, mbuf.num_bytes_used);
32 }
33
34 TEST(MojomBufferTest, Failure) {
35 char buffer[100];
36 struct MojomBuffer mbuf = {
37 buffer, sizeof(buffer),
38 0, // num_bytes_used
39 };
40
41 // Allocate too much space.
42 EXPECT_EQ(NULL, MojomBuffer_Allocate(&mbuf, sizeof(buffer) + 10));
43
44 // Setup the buffer data so that it will overflow.
45 mbuf.num_bytes_used = UINT32_MAX - 7; // This divides by 8.
46 mbuf.buf_size = UINT32_MAX;
47
48 // Rounds to 8, and allocates more than it has:
49 EXPECT_EQ(NULL, MojomBuffer_Allocate(&mbuf, 1));
50 }
51
52 } // namespace
OLDNEW
« no previous file with comments | « mojo/public/c/bindings/tests/array_unittest.cc ('k') | mojo/public/c/bindings/tests/message_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698