OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 #include "Test.h" | 8 #include "Test.h" |
9 #include "SkRandom.h" | 9 #include "SkRandom.h" |
10 #include "SkOSFile.h" | 10 #include "SkOSFile.h" |
(...skipping 17 matching lines...) Expand all Loading... |
28 REPORTER_ASSERT(reporter, bytes == len); | 28 REPORTER_ASSERT(reporter, bytes == len); |
29 REPORTER_ASSERT(reporter, !memcmp(tmp, src, len)); | 29 REPORTER_ASSERT(reporter, !memcmp(tmp, src, len)); |
30 } | 30 } |
31 | 31 |
32 // expect EOF | 32 // expect EOF |
33 size_t bytes = stream->read(tmp, 1); | 33 size_t bytes = stream->read(tmp, 1); |
34 REPORTER_ASSERT(reporter, 0 == bytes); | 34 REPORTER_ASSERT(reporter, 0 == bytes); |
35 } | 35 } |
36 | 36 |
37 static void test_filestreams(skiatest::Reporter* reporter, const char* tmpDir) { | 37 static void test_filestreams(skiatest::Reporter* reporter, const char* tmpDir) { |
38 SkString path; | 38 SkString path = SkOSPath::SkPathJoin(tmpDir, "wstream_test"); |
39 path.printf("%s%s", tmpDir, "wstream_test"); | |
40 | 39 |
41 const char s[] = "abcdefghijklmnopqrstuvwxyz"; | 40 const char s[] = "abcdefghijklmnopqrstuvwxyz"; |
42 | 41 |
43 { | 42 { |
44 SkFILEWStream writer(path.c_str()); | 43 SkFILEWStream writer(path.c_str()); |
45 if (!writer.isValid()) { | 44 if (!writer.isValid()) { |
46 SkString msg; | 45 SkString msg; |
47 msg.printf("Failed to create tmp file %s\n", path.c_str()); | 46 msg.printf("Failed to create tmp file %s\n", path.c_str()); |
48 reporter->reportFailed(msg.c_str()); | 47 reporter->reportFailed(msg.c_str()); |
49 return; | 48 return; |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 } | 90 } |
92 | 91 |
93 { | 92 { |
94 SkData* data = ds.copyToData(); | 93 SkData* data = ds.copyToData(); |
95 REPORTER_ASSERT(reporter, 100 * 26 == data->size()); | 94 REPORTER_ASSERT(reporter, 100 * 26 == data->size()); |
96 REPORTER_ASSERT(reporter, memcmp(dst, data->data(), data->size()) == 0); | 95 REPORTER_ASSERT(reporter, memcmp(dst, data->data(), data->size()) == 0); |
97 data->unref(); | 96 data->unref(); |
98 } | 97 } |
99 delete[] dst; | 98 delete[] dst; |
100 | 99 |
101 if (!skiatest::Test::GetTmpDir().isEmpty()) { | 100 SkString tmpDir = skiatest::Test::GetTmpDir(); |
102 test_filestreams(reporter, skiatest::Test::GetTmpDir().c_str()); | 101 if (!tmpDir.isEmpty()) { |
| 102 test_filestreams(reporter, tmpDir.c_str()); |
103 } | 103 } |
104 } | 104 } |
105 | 105 |
106 static void TestPackedUInt(skiatest::Reporter* reporter) { | 106 static void TestPackedUInt(skiatest::Reporter* reporter) { |
107 // we know that packeduint tries to write 1, 2 or 4 bytes for the length, | 107 // we know that packeduint tries to write 1, 2 or 4 bytes for the length, |
108 // so we test values around each of those transitions (and a few others) | 108 // so we test values around each of those transitions (and a few others) |
109 const size_t sizes[] = { | 109 const size_t sizes[] = { |
110 0, 1, 2, 0xFC, 0xFD, 0xFE, 0xFF, 0x100, 0x101, 32767, 32768, 32769, | 110 0, 1, 2, 0xFC, 0xFD, 0xFE, 0xFF, 0x100, 0x101, 32767, 32768, 32769, |
111 0xFFFD, 0xFFFE, 0xFFFF, 0x10000, 0x10001, | 111 0xFFFD, 0xFFFE, 0xFFFF, 0x10000, 0x10001, |
112 0xFFFFFD, 0xFFFFFE, 0xFFFFFF, 0x1000000, 0x1000001, | 112 0xFFFFFD, 0xFFFFFE, 0xFFFFFF, 0x1000000, 0x1000001, |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 } | 153 } |
154 | 154 |
155 static void TestStreams(skiatest::Reporter* reporter) { | 155 static void TestStreams(skiatest::Reporter* reporter) { |
156 TestWStream(reporter); | 156 TestWStream(reporter); |
157 TestPackedUInt(reporter); | 157 TestPackedUInt(reporter); |
158 TestNullData(); | 158 TestNullData(); |
159 } | 159 } |
160 | 160 |
161 #include "TestClassDef.h" | 161 #include "TestClassDef.h" |
162 DEFINE_TESTCLASS("Stream", StreamTestClass, TestStreams) | 162 DEFINE_TESTCLASS("Stream", StreamTestClass, TestStreams) |
OLD | NEW |