diff --git a/PCAxis.Core.Tests/PCAxis.Core.Tests.csproj b/PCAxis.Core.Tests/PCAxis.Core.Tests.csproj
index fe7af06..913d9d6 100644
--- a/PCAxis.Core.Tests/PCAxis.Core.Tests.csproj
+++ b/PCAxis.Core.Tests/PCAxis.Core.Tests.csproj
@@ -15,6 +15,16 @@
true
+
+
+
+
+
+
+ Always
+
+
+
diff --git a/PCAxis.Core.Tests/PXFileParserTests.cs b/PCAxis.Core.Tests/PXFileParserTests.cs
index 0ef453e..8d18c95 100644
--- a/PCAxis.Core.Tests/PXFileParserTests.cs
+++ b/PCAxis.Core.Tests/PXFileParserTests.cs
@@ -1,4 +1,6 @@
using PCAxis.Paxiom.Parsers;
+using System.IO;
+using System.Text;
namespace PCAxis.Core.Tests;
@@ -19,4 +21,18 @@ public void ShouldReturnDescription()
Assert.AreEqual("this is the default plugin which reads a classical pc-axis file", description);
}
+
+ [TestMethod]
+ public void GetEncoding_ShouldReadAliasFile()
+ {
+ // Arrange
+ var fixturePath = Path.Combine(AppContext.BaseDirectory, "Test_files", "Alias_en.txt");
+
+ // Act
+ var encoding = PXFileParser.GetEncoding(fixturePath);
+
+ // Assert
+ Assert.IsNotNull(encoding);
+ Assert.AreEqual(Encoding.Default, encoding);
+ }
}
diff --git a/PCAxis.Core.Tests/Test_files/Alias_en.txt b/PCAxis.Core.Tests/Test_files/Alias_en.txt
new file mode 100644
index 0000000..0a27bed
--- /dev/null
+++ b/PCAxis.Core.Tests/Test_files/Alias_en.txt
@@ -0,0 +1 @@
+Environment
\ No newline at end of file
diff --git a/PCAxis.Core/Parsers/PXFileParser.vb b/PCAxis.Core/Parsers/PXFileParser.vb
index 58891ca..814b3ce 100644
--- a/PCAxis.Core/Parsers/PXFileParser.vb
+++ b/PCAxis.Core/Parsers/PXFileParser.vb
@@ -58,7 +58,7 @@ Namespace PCAxis.Paxiom.Parsers
Dim encoding As System.Text.Encoding = GetEncodingFromCodePage(GetStream())
If encoding Is Nothing Then
- GetEncodingFromUde(GetStream, 16000)
+ encoding = GetEncodingFromUde(GetStream, 16000)
End If
Return encoding
@@ -68,7 +68,7 @@ Namespace PCAxis.Paxiom.Parsers
Dim encoding As System.Text.Encoding = GetEncodingFromCodePage(New System.IO.FileStream(path, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read))
If encoding Is Nothing Then
- GetEncodingFromUde(New System.IO.FileStream(path, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read), Convert.ToInt32(New System.IO.FileInfo(path).Length))
+ encoding = GetEncodingFromUde(New System.IO.FileStream(path, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read), Convert.ToInt32(New System.IO.FileInfo(path).Length))
End If
Return encoding
@@ -81,7 +81,7 @@ Namespace PCAxis.Paxiom.Parsers
Dim lineCount = 1
Dim nextLine As String = tr.ReadLine()
- While lineCount <= 100 And nextLine IsNot Nothing And Not nextLine.ToUpper().StartsWith("DATA=")
+ While lineCount <= 100 AndAlso nextLine IsNot Nothing AndAlso Not nextLine.ToUpper().StartsWith("DATA=")
If nextLine.ToUpper().StartsWith("CODEPAGE=") Then
nextLine = nextLine.Substring(nextLine.IndexOf("""") + 1)
nextLine = nextLine.Substring(0, nextLine.LastIndexOf(""""))