Skip to content

Commit a47395a

Browse files
committed
Add project to create manual test encodings
1 parent bf2f8d1 commit a47395a

4 files changed

Lines changed: 53 additions & 1 deletion

File tree

HexEdit.sln

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
1515
EndProject
1616
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UpdateVersion", "UpdateVersion\UpdateVersion.csproj", "{2D07BCC8-9C83-486E-8887-AD6A8F750D28}"
1717
EndProject
18+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestEncodings", "TestEncodings\TestEncodings.csproj", "{4BD79959-0E62-47DC-85AB-22012F5A5EB5}"
19+
EndProject
1820
Global
1921
GlobalSection(SolutionConfigurationPlatforms) = preSolution
2022
Debug|Any CPU = Debug|Any CPU
@@ -29,6 +31,10 @@ Global
2931
{2D07BCC8-9C83-486E-8887-AD6A8F750D28}.Debug|Any CPU.Build.0 = Debug|Any CPU
3032
{2D07BCC8-9C83-486E-8887-AD6A8F750D28}.Release|Any CPU.ActiveCfg = Release|Any CPU
3133
{2D07BCC8-9C83-486E-8887-AD6A8F750D28}.Release|Any CPU.Build.0 = Release|Any CPU
34+
{4BD79959-0E62-47DC-85AB-22012F5A5EB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
35+
{4BD79959-0E62-47DC-85AB-22012F5A5EB5}.Debug|Any CPU.Build.0 = Debug|Any CPU
36+
{4BD79959-0E62-47DC-85AB-22012F5A5EB5}.Release|Any CPU.ActiveCfg = Release|Any CPU
37+
{4BD79959-0E62-47DC-85AB-22012F5A5EB5}.Release|Any CPU.Build.0 = Release|Any CPU
3238
EndGlobalSection
3339
GlobalSection(SolutionProperties) = preSolution
3440
HideSolutionNode = FALSE

HexEdit/Windows/MainWindow.xaml.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,10 +245,11 @@ private async void Preview_SelectionChanged(object sender, ChunkEventArgs e)
245245

246246
if (c.UnicodeCharacter != -1)
247247
{
248+
TextBoxChunkValue.Text = c.UnicodeCharacter.ToString("X4");
249+
248250
UnicodeInfo info = await GetCharacterInfo(c);
249251
if (info != null)
250252
{
251-
TextBoxChunkValue.Text = info.codePoint.ToString("X4");
252253
TextBoxChunkInfo.Text = $"""
253254
{info.name}
254255
{info.block}

TestEncodings/Program.cs

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
using System.Text;
2+
3+
namespace TestEncodings;
4+
5+
internal class Program
6+
{
7+
8+
static void Main(string[] args)
9+
{
10+
string workingDirectory = Path.GetDirectoryName(Environment.ProcessPath) ?? Environment.CurrentDirectory;
11+
12+
string outDirectory = @"..\..\..\..\HexEdit\ManualTests\FileEncodings";
13+
14+
string p = Path.Combine(outDirectory, "test");
15+
16+
string s = "ABC def\nÅÄÖ\nДЖЗ\n日本語𱍊";
17+
18+
// UTF-8
19+
File.WriteAllText(Path.Combine(outDirectory, "UTF8.txt"), s, new UTF8Encoding(false));
20+
File.WriteAllText(Path.Combine(outDirectory, "UTF8-BOM.txt"), s, new UTF8Encoding(true));
21+
22+
// UTF-16
23+
File.WriteAllText(Path.Combine(outDirectory, "UTF16-BE.txt"), s, new UnicodeEncoding(true, false));
24+
File.WriteAllText(Path.Combine(outDirectory, "UTF16-BE-BOM.txt"), s, new UnicodeEncoding(true, true));
25+
File.WriteAllText(Path.Combine(outDirectory, "UTF16-LE.txt"), s, new UnicodeEncoding(false, false));
26+
File.WriteAllText(Path.Combine(outDirectory, "UTF16-LE-BOM.txt"), s, new UnicodeEncoding(false, true));
27+
28+
// UTF-32
29+
File.WriteAllText(Path.Combine(outDirectory, "UTF32-LE.txt"), s, new UTF32Encoding(false, false));
30+
File.WriteAllText(Path.Combine(outDirectory, "UTF32-LE-BOM.txt"), s, new UTF32Encoding(false, true));
31+
File.WriteAllText(Path.Combine(outDirectory, "UTF32-BE.txt"), s, new UTF32Encoding(true, false));
32+
File.WriteAllText(Path.Combine(outDirectory, "UTF32-BE-BOM.txt"), s, new UTF32Encoding(true, true));
33+
}
34+
35+
}

TestEncodings/TestEncodings.csproj

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net10.0</TargetFramework>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
9+
10+
</Project>

0 commit comments

Comments
 (0)