@@ -9,8 +9,9 @@ use std::{
99 sync:: { Arc , Mutex , MutexGuard } ,
1010} ;
1111
12+ #[ cfg( feature = "test" ) ]
13+ use anstream:: StripStream ;
1214use anstream:: { AutoStream , ColorChoice } ;
13- use anstyle:: { Reset , Style } ;
1415
1516use super :: Process ;
1617#[ cfg( feature = "test" ) ]
@@ -102,38 +103,15 @@ impl ColorableTerminal {
102103 TerminalInnerLocked :: Stderr ( AutoStream :: new ( locked, self . color_choice ) )
103104 }
104105 #[ cfg( feature = "test" ) ]
105- TerminalInner :: TestWriter ( w, _) => TerminalInnerLocked :: TestWriter ( w. clone ( ) ) ,
106+ TerminalInner :: TestWriter ( w, _) => {
107+ TerminalInnerLocked :: TestWriter ( StripStream :: new ( Box :: new ( w. clone ( ) ) ) )
108+ }
106109 } ) ;
107110 // ColorableTerminalLocked { inner, guard, locked }
108111 uninit. assume_init ( )
109112 }
110113 }
111114
112- pub fn style ( & mut self , new : & Style ) -> io:: Result < ( ) > {
113- match self . inner . lock ( ) . unwrap ( ) . deref_mut ( ) {
114- TerminalInner :: Stdout ( s) => {
115- write ! ( s, "{Reset}{new}" )
116- }
117- TerminalInner :: Stderr ( s) => {
118- write ! ( s, "{Reset}{new}" )
119- }
120- #[ cfg( feature = "test" ) ]
121- TerminalInner :: TestWriter ( _, _) => Ok ( ( ) ) ,
122- }
123- }
124- pub fn reset ( & mut self ) -> io:: Result < ( ) > {
125- match self . inner . lock ( ) . unwrap ( ) . deref_mut ( ) {
126- TerminalInner :: Stdout ( s) => {
127- write ! ( s, "{Reset}" )
128- }
129- TerminalInner :: Stderr ( s) => {
130- write ! ( s, "{Reset}" )
131- }
132- #[ cfg( feature = "test" ) ]
133- TerminalInner :: TestWriter ( _, _) => Ok ( ( ) ) ,
134- }
135- }
136-
137115 pub fn is_a_tty ( & self ) -> bool {
138116 self . is_a_tty
139117 }
@@ -282,7 +260,7 @@ enum TerminalInnerLocked {
282260 Stdout ( AutoStream < io:: StdoutLock < ' static > > ) ,
283261 Stderr ( AutoStream < io:: StderrLock < ' static > > ) ,
284262 #[ cfg( feature = "test" ) ]
285- TestWriter ( TestWriter ) ,
263+ TestWriter ( StripStream < Box < dyn Write > > ) ,
286264}
287265
288266impl TerminalInnerLocked {
0 commit comments