177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner/* 277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * Note: Strstreams are really broken in STLport. But strstreams are 377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * obsolete, and even if ones was mentioned in D7.1--D7.4 of 477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * Standard, we have no wish to spent time with repair ones. 577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner */ 677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#if !defined (_STLP_NO_IOSTREAMS) 777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner# include <strstream> 877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner 977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner# include "cppunit/cppunit_proxy.h" 1077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner 1177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner# if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES) 1277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnerusing namespace std; 1377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner# endif 1477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner 1577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnerclass StrstreamBufferTest : public CPPUNIT_NS::TestCase 1677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner{ 1777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner CPPUNIT_TEST_SUITE(StrstreamBufferTest); 1877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner CPPUNIT_TEST(read_from_buffer); 1977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner CPPUNIT_TEST_SUITE_END(); 2077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner 2177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnerprotected: 2277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner void read_from_buffer(); 2377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner}; 2477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner 2577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' TurnerCPPUNIT_TEST_SUITE_REGISTRATION(StrstreamBufferTest); 2677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner 2777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnervoid StrstreamBufferTest::read_from_buffer() 2877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner{ 2977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner char hello[] = "Hello"; 3077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner strstream stream(hello, sizeof(hello), ios_base::in); 3177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner char cur; 3277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner stream >> cur; 3377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner CPPUNIT_ASSERT(cur == 'H'); 3477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner} 3577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif 36