in AdlsDotNetSDKUnitTest/SdkUnitTest.cs [437:478]
public void TestCreateUnicodeFileName()
{
string dir = $"{UnitTestDir}/UnicodeDir";
string unicodeFilename = dir + "/ch+ ch.官話.官话.עברית.हिंदी.español.~`!@#$%^&*()_.+=-{}[]|;',.<>?.txt";
string text1 = RandomString(1024);
byte[] textByte1 = Encoding.UTF8.GetBytes(text1);
using (var ostream = _adlsClient.CreateFile(unicodeFilename, IfExists.Overwrite))
{
ostream.Write(textByte1, 0, textByte1.Length);
}
string output = "";
using (var istream = _adlsClient.GetReadStream(unicodeFilename))
{
int noOfBytes;
byte[] buffer = new byte[1024 * 1024];
do
{
noOfBytes = istream.Read(buffer, 0, buffer.Length);
output += Encoding.UTF8.GetString(buffer, 0, noOfBytes);
} while (noOfBytes > 0);
}
Assert.IsTrue(output.Equals(text1));
try
{
_adlsClient.GetDirectoryEntry(unicodeFilename);
}
catch (IOException)
{
Assert.Fail("Directory entry list should not throw an exception");
}
IEnumerable<DirectoryEntry> diren = _adlsClient.EnumerateDirectory(dir);
bool isFound = false;
foreach (var entry in diren)
{
if (entry.FullName.Equals(unicodeFilename))
{
isFound = true;
break;
}
}
Assert.IsTrue(isFound);
}