Skip to content

Commit 66baae5

Browse files
authored
chery-pick(#2665): fix: Playwright.CreateAsync() without console (#2668)
1 parent dd4abc2 commit 66baae5

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

src/Playwright/Transport/StdIOTransport.cs

+21-5
Original file line numberDiff line numberDiff line change
@@ -146,18 +146,34 @@ private static void StartProcessWithUTF8IOEncoding(Process process)
146146
var originalInputEncoding = Console.InputEncoding;
147147
var originalOutputEncoding = Console.OutputEncoding;
148148

149-
Console.InputEncoding = encoding;
150-
Console.OutputEncoding = encoding;
149+
var hasConsole = true;
150+
try
151+
{
152+
var height = Console.WindowHeight;
153+
}
154+
catch
155+
{
156+
hasConsole = false;
157+
}
158+
159+
if (hasConsole)
160+
{
161+
Console.InputEncoding = encoding;
162+
Console.OutputEncoding = encoding;
163+
}
151164

152165
try
153166
{
154167
process.Start();
155168
}
156169
finally
157170
{
158-
// Restore the original encodings
159-
Console.InputEncoding = originalInputEncoding;
160-
Console.OutputEncoding = originalOutputEncoding;
171+
if (hasConsole)
172+
{
173+
// Restore the original encodings
174+
Console.InputEncoding = originalInputEncoding;
175+
Console.OutputEncoding = originalOutputEncoding;
176+
}
161177
}
162178
}
163179

0 commit comments

Comments
 (0)