Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / native_client / src / shared / gio / gio_mem_test.cc
1 /*
2  * Copyright 2008 The Native Client Authors. All rights reserved.
3  * Use of this source code is governed by a BSD-style license that can be
4  * found in the LICENSE file.
5  */
6
7
8 #include "native_client/src/shared/gio/gio.h"
9 #include "native_client/src/shared/gio/gio_test_base.h"
10 #include "gtest/gtest.h"
11
12 namespace {
13
14 TEST(GioMemTest, ReadTest) {
15   struct GioMemoryFile mf;
16   char* in_buffer;
17   int in_size = expected_file_size;
18   int ret_code;
19
20   in_buffer = reinterpret_cast<char*>(malloc(in_size));
21   GioInitTestMemFile(in_buffer, 'A', in_size);
22   ret_code = GioMemoryFileCtor(&mf, in_buffer, in_size);
23   EXPECT_EQ(1, ret_code);
24
25   GioReadTestWithOffset(&mf.base, 'A');
26   GioCloseTest(&mf.base);
27   free(in_buffer);
28 }
29
30 TEST(GioMemTest, WriteTest) {
31   struct GioMemoryFile mf;
32   char* mf_buffer;
33   int mf_size = 64;
34   int ret_code;
35
36   mf_buffer = reinterpret_cast<char*>(malloc(mf_size));
37   EXPECT_NE(reinterpret_cast<char*>(NULL), mf_buffer);
38
39   ret_code = GioMemoryFileCtor(&mf, mf_buffer, mf_size);
40   EXPECT_EQ(1, ret_code);
41   GioWriteTest(&mf.base, true);
42   GioCloseTest(&mf.base);
43   free(mf_buffer);
44 }
45
46 TEST(GioMemTest, SeekTest) {
47   struct GioMemoryFile mf;
48   char* in_buffer;
49   int in_size = expected_file_size;
50   int ret_code;
51
52   in_buffer = reinterpret_cast<char*>(malloc(in_size));
53   GioInitTestMemFile(in_buffer, 0, in_size);
54   ret_code = GioMemoryFileCtor(&mf, in_buffer, in_size);
55   EXPECT_EQ(1, ret_code);
56
57   GioSeekTestWithOffset(&mf.base, 0, true);
58   GioCloseTest(&mf.base);
59   free(in_buffer);
60 }
61
62 }  // namespace
63
64 int main(int argc, char* argv[]) {
65   testing::InitGoogleTest(&argc, argv);
66   return RUN_ALL_TESTS();
67 }