@@ -81,6 +81,65 @@ TEST_F(PathTest, ToNamespacedPath) {
8181 .ToLocalChecked ());
8282 ToNamespacedPath (*env, &data_4);
8383 EXPECT_EQ (data_4.ToStringView (), " \\\\ ?\\ c:\\ Windows\\ System" );
84+ BufferValue data5 (
85+ isolate_,
86+ v8::String::NewFromUtf8 (isolate_, " C:\\ path\\ COM1" ).ToLocalChecked ());
87+ ToNamespacedPath (*env, &data5);
88+ EXPECT_EQ (data5.ToStringView (), " \\\\ .\\ COM1" );
89+ BufferValue data6 (isolate_,
90+ v8::String::NewFromUtf8 (isolate_, " COM1" ).ToLocalChecked ());
91+ ToNamespacedPath (*env, &data6);
92+ EXPECT_EQ (data6.ToStringView (), " \\\\ .\\ COM1" );
93+ BufferValue data7 (isolate_,
94+ v8::String::NewFromUtf8 (isolate_, " LPT1" ).ToLocalChecked ());
95+ ToNamespacedPath (*env, &data7);
96+ EXPECT_EQ (data7.ToStringView (), " \\\\ .\\ LPT1" );
97+ BufferValue data8 (
98+ isolate_, v8::String::NewFromUtf8 (isolate_, " C:\\ LPT1" ).ToLocalChecked ());
99+ ToNamespacedPath (*env, &data8);
100+ EXPECT_EQ (data8.ToStringView (), " \\\\ .\\ LPT1" );
101+ BufferValue data9 (
102+ isolate_,
103+ v8::String::NewFromUtf8 (isolate_, " PhysicalDrive0" ).ToLocalChecked ());
104+ ToNamespacedPath (*env, &data9);
105+ EXPECT_EQ (data9.ToStringView (), " \\\\ .\\ PhysicalDrive0" );
106+ BufferValue data10 (
107+ isolate_,
108+ v8::String::NewFromUtf8 (isolate_, " pipe\\ mypipe" ).ToLocalChecked ());
109+ ToNamespacedPath (*env, &data10);
110+ EXPECT_EQ (data10.ToStringView (), " \\\\ .\\ pipe\\ mypipe" );
111+ BufferValue data11 (
112+ isolate_,
113+ v8::String::NewFromUtf8 (isolate_, " MAILSLOT\\ mySlot" ).ToLocalChecked ());
114+ ToNamespacedPath (*env, &data11);
115+ EXPECT_EQ (data11.ToStringView (), " \\\\ .\\ MAILSLOT\\ mySlot" );
116+ BufferValue data12 (isolate_,
117+ v8::String::NewFromUtf8 (isolate_, " NUL" ).ToLocalChecked ());
118+ ToNamespacedPath (*env, &data12);
119+ EXPECT_EQ (data12.ToStringView (), " \\\\ .\\ NUL" );
120+ BufferValue data13 (
121+ isolate_, v8::String::NewFromUtf8 (isolate_, " Tape0" ).ToLocalChecked ());
122+ ToNamespacedPath (*env, &data13);
123+ EXPECT_EQ (data13.ToStringView (), " \\\\ .\\ Tape0" );
124+ BufferValue data14 (
125+ isolate_, v8::String::NewFromUtf8 (isolate_, " Changer0" ).ToLocalChecked ());
126+ ToNamespacedPath (*env, &data14);
127+ EXPECT_EQ (data14.ToStringView (), " \\\\ .\\ Changer0" );
128+ BufferValue data15 (isolate_,
129+ v8::String::NewFromUtf8 (isolate_, " \\\\ .\\ pipe\\ somepipe" )
130+ .ToLocalChecked ());
131+ ToNamespacedPath (*env, &data15);
132+ EXPECT_EQ (data15.ToStringView (), " \\\\ .\\ pipe\\ somepipe" );
133+ BufferValue data16 (
134+ isolate_,
135+ v8::String::NewFromUtf8 (isolate_, " \\\\ .\\ COM1" ).ToLocalChecked ());
136+ ToNamespacedPath (*env, &data16);
137+ EXPECT_EQ (data16.ToStringView (), " \\\\ .\\ COM1" );
138+ BufferValue data17 (
139+ isolate_,
140+ v8::String::NewFromUtf8 (isolate_, " \\\\ .\\ LPT1" ).ToLocalChecked ());
141+ ToNamespacedPath (*env, &data17);
142+ EXPECT_EQ (data17.ToStringView (), " \\\\ .\\ LPT1" );
84143#else
85144 BufferValue data (
86145 isolate_,
0 commit comments