1 // Copyright (C) 2003 Free Software Foundation
3 // This file is part of the GNU ISO C++ Library. This library is free
4 // software; you can redistribute it and/or modify it under the
5 // terms of the GNU General Public License as published by the
6 // Free Software Foundation; either version 2, or (at your option)
9 // This library is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License along
15 // with this library; see the file COPYING. If not, write to the Free
16 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
19 // 22.2.5.3.1 time_put members
25 #include <testsuite_hooks.h>
27 class TP
: public std::time_put
<char>
30 mutable std::string fill_chars
;
33 iter_type
do_put(iter_type s
, std::ios_base
&, char_type fill
,
34 const std::tm
*, char, char) const
36 fill_chars
.push_back(fill
);
42 // time_put::put doesn't pass fill character to do_put
46 bool test
__attribute__((unused
)) = true;
49 time_t tt
= time(NULL
);
51 const char* fmt
= "%c";
54 tp
.put(TP::iter_type(stream
), stream
, 'W', localtime(&tt
),
55 fmt
, fmt
+ strlen(fmt
));
56 VERIFY( !tp
.fill_chars
.empty() );
57 VERIFY( tp
.fill_chars
[tp
.fill_chars
.length() - 1] == 'W' );