| 1556 | |
| 1557 | namespace { |
| 1558 | void testFilenameUriConversionHelper(const wchar_t * filename, |
| 1559 | const wchar_t * uriString, bool forUnix, |
| 1560 | const wchar_t * expectedUriString = NULL) { |
| 1561 | const int prefixLen = forUnix ? 7 : 8; |
| 1562 | if (! expectedUriString) { |
| 1563 | expectedUriString = uriString; |
| 1564 | } |
| 1565 | |
| 1566 | // Filename to URI string |
| 1567 | const size_t uriBufferLen = prefixLen + 3 * wcslen(filename) + 1; |
| 1568 | wchar_t * uriBuffer = new wchar_t[uriBufferLen]; |
| 1569 | if (forUnix) { |
| 1570 | uriUnixFilenameToUriStringW(filename, uriBuffer); |
| 1571 | } else { |
| 1572 | uriWindowsFilenameToUriStringW(filename, uriBuffer); |
| 1573 | } |
| 1574 | #ifdef HAVE_WPRINTF |
| 1575 | // wprintf(L"1 [%s][%s]\n", uriBuffer, expectedUriString); |
| 1576 | #endif |
| 1577 | ASSERT_TRUE(!wcscmp(uriBuffer, expectedUriString)); |
| 1578 | delete [] uriBuffer; |
| 1579 | |
| 1580 | // URI string to filename |
| 1581 | const size_t filenameBufferLen = wcslen(uriString) + 1; |
| 1582 | wchar_t * filenameBuffer = new wchar_t[filenameBufferLen]; |
| 1583 | if (forUnix) { |
| 1584 | uriUriStringToUnixFilenameW(uriString, filenameBuffer); |
| 1585 | } else { |
| 1586 | uriUriStringToWindowsFilenameW(uriString, filenameBuffer); |
| 1587 | } |
| 1588 | #ifdef HAVE_WPRINTF |
| 1589 | // wprintf(L"2 [%s][%s]\n", filenameBuffer, filename); |
| 1590 | #endif |
| 1591 | ASSERT_TRUE(!wcscmp(filenameBuffer, filename)); |
| 1592 | delete [] filenameBuffer; |
| 1593 | } |
| 1594 | } // namespace |
| 1595 | |
| 1596 | TEST(UriSuite, TestFilenameUriConversion) { |