Base64Decoder drops 0x0d characters on windows

SF #605 Base64Decoder drops 0x0d characters on windows
This commit is contained in:
aleks-f
2012-12-19 21:48:26 -06:00
parent 6fa1270163
commit 79549f85dd
7 changed files with 47 additions and 5 deletions

View File

@@ -37,6 +37,8 @@
#include "Poco/Base32Decoder.h"
#include "Poco/Exception.h"
#include <sstream>
#include <iterator>
#include <algorithm>
using Poco::Base32Encoder;
@@ -182,6 +184,19 @@ void Base32Test::testEncodeDecode()
}
void Base32Test::testDecodeCR()
{
std::istringstream input("BU======");
Poco::Base32Decoder decoder(input);
std::vector<Poco::UInt8> result;
typedef std::istream_iterator<Poco::UInt8> istream_iterator_type;
istream_iterator_type eos;
std::copy(istream_iterator_type(decoder), eos, std::back_inserter(result));
assert(1 == result.size());
assert(0x0d == result[0]);
}
void Base32Test::setUp()
{
}
@@ -199,6 +214,7 @@ CppUnit::Test* Base32Test::suite()
CppUnit_addTest(pSuite, Base32Test, testEncoder);
CppUnit_addTest(pSuite, Base32Test, testDecoder);
CppUnit_addTest(pSuite, Base32Test, testEncodeDecode);
CppUnit_addTest(pSuite, Base32Test, testDecodeCR);
return pSuite;
}