| 161 | } |
| 162 | |
| 163 | void testSpecialCharacters(Module* module) |
| 164 | { |
| 165 | ModuleResource res = module->GetResource("special_chars.dummy.txt"); |
| 166 | #ifdef US_PLATFORM_WINDOWS |
| 167 | checkResourceInfo(res, "/", "special_chars", "special_chars.dummy", "txt", "dummy.txt", 56, false); |
| 168 | const std::streampos ssize(54); |
| 169 | const std::string fileData = "German Füße (feet)\nFrench garçon de café (waiter)\n"; |
| 170 | #else |
| 171 | checkResourceInfo(res, "/", "special_chars", "special_chars.dummy", "txt", "dummy.txt", 54, false); |
| 172 | const std::streampos ssize(53); |
| 173 | const std::string fileData = "German Füße (feet)\nFrench garçon de café (waiter)"; |
| 174 | #endif |
| 175 | |
| 176 | ModuleResourceStream rs(res); |
| 177 | |
| 178 | rs.seekg(0, std::ios_base::end); |
| 179 | US_TEST_CONDITION(rs.tellg() == ssize, "Stream content length"); |
| 180 | rs.seekg(0, std::ios_base::beg); |
| 181 | |
| 182 | std::string content; |
| 183 | content.reserve(res.GetSize()); |
| 184 | char buffer[1024]; |
| 185 | while (rs.read(buffer, sizeof(buffer))) |
| 186 | { |
| 187 | content.append(buffer, sizeof(buffer)); |
| 188 | } |
| 189 | content.append(buffer, static_cast<std::size_t>(rs.gcount())); |
| 190 | |
| 191 | US_TEST_CONDITION(rs.eof(), "EOF check"); |
| 192 | US_TEST_CONDITION(content == fileData, "Resource content"); |
| 193 | } |
| 194 | |
| 195 | void testBinaryResource(Module* module) |
| 196 | { |
no test coverage detected