mirror of
https://github.com/boostorg/io.git
synced 2025-07-29 20:07:13 +02:00
Support stream width and fill and write directly to stream buffer
This commit is contained in:
@ -13,6 +13,7 @@ project : requirements <warnings>pedantic <warnings-as-errors>on ;
|
||||
run ios_state_unit_test.cpp ;
|
||||
run ios_state_test.cpp ;
|
||||
run quoted_test.cpp ;
|
||||
run quoted_fill_test.cpp ;
|
||||
run ostream_joiner_test.cpp ;
|
||||
run make_ostream_joiner_test.cpp ;
|
||||
run ostream_put_test.cpp ;
|
||||
|
@ -25,7 +25,7 @@ int main()
|
||||
{
|
||||
std::wostringstream os;
|
||||
os.width(1);
|
||||
os.fill('.');
|
||||
os.fill(L'.');
|
||||
os.setf(std::ios_base::left, std::ios_base::adjustfield);
|
||||
boost::io::ostream_put(os, L"xy", 2);
|
||||
BOOST_TEST(os.good());
|
||||
@ -45,7 +45,7 @@ int main()
|
||||
{
|
||||
std::wostringstream os;
|
||||
os.width(1);
|
||||
os.fill('.');
|
||||
os.fill(L'.');
|
||||
os.setf(std::ios_base::right, std::ios_base::adjustfield);
|
||||
boost::io::ostream_put(os, L"xy", 2);
|
||||
BOOST_TEST(os.good());
|
||||
|
136
test/quoted_fill_test.cpp
Normal file
136
test/quoted_fill_test.cpp
Normal file
@ -0,0 +1,136 @@
|
||||
/*
|
||||
Copyright 2019-2020 Glen Joseph Fernandes
|
||||
(glenjofe@gmail.com)
|
||||
|
||||
Distributed under the Boost Software License, Version 1.0.
|
||||
(http://www.boost.org/LICENSE_1_0.txt)
|
||||
*/
|
||||
#include <boost/io/quoted.hpp>
|
||||
#include <boost/core/lightweight_test.hpp>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
|
||||
int main()
|
||||
{
|
||||
{
|
||||
std::ostringstream os;
|
||||
os.width(2);
|
||||
os.fill('.');
|
||||
os.setf(std::ios_base::left, std::ios_base::adjustfield);
|
||||
os << boost::io::quoted("xy");
|
||||
BOOST_TEST(os.good());
|
||||
BOOST_TEST(os.width() == 0);
|
||||
BOOST_TEST(os.str() == "\"xy\"");
|
||||
}
|
||||
{
|
||||
std::wostringstream os;
|
||||
os.width(2);
|
||||
os.fill(L'.');
|
||||
os.setf(std::ios_base::left, std::ios_base::adjustfield);
|
||||
os << boost::io::quoted(L"xy");
|
||||
BOOST_TEST(os.good());
|
||||
BOOST_TEST(os.width() == 0);
|
||||
BOOST_TEST(os.str() == L"\"xy\"");
|
||||
}
|
||||
{
|
||||
std::ostringstream os;
|
||||
os.width(2);
|
||||
os.fill('.');
|
||||
os.setf(std::ios_base::right, std::ios_base::adjustfield);
|
||||
os << boost::io::quoted("xy");
|
||||
BOOST_TEST(os.good());
|
||||
BOOST_TEST(os.width() == 0);
|
||||
BOOST_TEST(os.str() == "\"xy\"");
|
||||
}
|
||||
{
|
||||
std::wostringstream os;
|
||||
os.width(2);
|
||||
os.fill(L'.');
|
||||
os.setf(std::ios_base::right, std::ios_base::adjustfield);
|
||||
os << boost::io::quoted(L"xy");
|
||||
BOOST_TEST(os.good());
|
||||
BOOST_TEST(os.width() == 0);
|
||||
BOOST_TEST(os.str() == L"\"xy\"");
|
||||
}
|
||||
{
|
||||
std::ostringstream os;
|
||||
os.width(6);
|
||||
os.fill('.');
|
||||
os.setf(std::ios_base::left, std::ios_base::adjustfield);
|
||||
os << boost::io::quoted("xy");
|
||||
BOOST_TEST(os.good());
|
||||
BOOST_TEST(os.width() == 0);
|
||||
BOOST_TEST(os.str() == "\"xy\"..");
|
||||
}
|
||||
{
|
||||
std::wostringstream os;
|
||||
os.width(6);
|
||||
os.fill(L'.');
|
||||
os.setf(std::ios_base::left, std::ios_base::adjustfield);
|
||||
os << boost::io::quoted(L"xy");
|
||||
BOOST_TEST(os.good());
|
||||
BOOST_TEST(os.width() == 0);
|
||||
BOOST_TEST(os.str() == L"\"xy\"..");
|
||||
}
|
||||
{
|
||||
std::ostringstream os;
|
||||
os.width(6);
|
||||
os.fill('.');
|
||||
os.setf(std::ios_base::right, std::ios_base::adjustfield);
|
||||
os << boost::io::quoted("xy");
|
||||
BOOST_TEST(os.good());
|
||||
BOOST_TEST(os.width() == 0);
|
||||
BOOST_TEST(os.str() == "..\"xy\"");
|
||||
}
|
||||
{
|
||||
std::wostringstream os;
|
||||
os.width(6);
|
||||
os.fill(L'.');
|
||||
os.setf(std::ios_base::right, std::ios_base::adjustfield);
|
||||
os << boost::io::quoted(L"xy");
|
||||
BOOST_TEST(os.good());
|
||||
BOOST_TEST(os.width() == 0);
|
||||
BOOST_TEST(os.str() == L"..\"xy\"");
|
||||
}
|
||||
{
|
||||
std::ostringstream os;
|
||||
os.width(14);
|
||||
os.fill('.');
|
||||
os.setf(std::ios_base::left, std::ios_base::adjustfield);
|
||||
os << boost::io::quoted("xy");
|
||||
BOOST_TEST(os.good());
|
||||
BOOST_TEST(os.width() == 0);
|
||||
BOOST_TEST(os.str() == "\"xy\"..........");
|
||||
}
|
||||
{
|
||||
std::wostringstream os;
|
||||
os.width(14);
|
||||
os.fill(L'.');
|
||||
os.setf(std::ios_base::left, std::ios_base::adjustfield);
|
||||
os << boost::io::quoted(L"xy");
|
||||
BOOST_TEST(os.good());
|
||||
BOOST_TEST(os.width() == 0);
|
||||
BOOST_TEST(os.str() == L"\"xy\"..........");
|
||||
}
|
||||
{
|
||||
std::ostringstream os;
|
||||
os.width(14);
|
||||
os.fill('.');
|
||||
os.setf(std::ios_base::right, std::ios_base::adjustfield);
|
||||
os << boost::io::quoted("xy");
|
||||
BOOST_TEST(os.good());
|
||||
BOOST_TEST(os.width() == 0);
|
||||
BOOST_TEST(os.str() == "..........\"xy\"");
|
||||
}
|
||||
{
|
||||
std::wostringstream os;
|
||||
os.width(14);
|
||||
os.fill(L'.');
|
||||
os.setf(std::ios_base::right, std::ios_base::adjustfield);
|
||||
os << boost::io::quoted(L"xy");
|
||||
BOOST_TEST(os.good());
|
||||
BOOST_TEST(os.width() == 0);
|
||||
BOOST_TEST(os.str() == L"..........\"xy\"");
|
||||
}
|
||||
return boost::report_errors();
|
||||
}
|
Reference in New Issue
Block a user