diff --git a/test/openpower-pels/Makefile.include b/test/openpower-pels/Makefile.include
index b6b49aa..d9a6375 100644
--- a/test/openpower-pels/Makefile.include
+++ b/test/openpower-pels/Makefile.include
@@ -2,6 +2,7 @@
 
 check_PROGRAMS += \
 	additional_data_test \
+	ascii_string_test \
 	bcd_time_test \
 	failing_mtms_test \
 	generic_section_test \
@@ -190,3 +191,11 @@
 	$(test_ldadd) \
 	$(top_builddir)/extensions/openpower-pels/user_data.o
 user_data_test_LDFLAGS = $(test_ldflags)
+
+ascii_string_test_SOURCES = %reldir%/ascii_string_test.cpp
+ascii_string_test_CPPFLAGS = $(test_cppflags)
+ascii_string_test_CXXFLAGS = $(test_cxxflags)
+ascii_string_test_LDADD = \
+	$(test_ldadd) \
+	$(top_builddir)/extensions/openpower-pels/ascii_string.o
+ascii_string_test_LDFLAGS = $(test_ldflags)
diff --git a/test/openpower-pels/ascii_string_test.cpp b/test/openpower-pels/ascii_string_test.cpp
new file mode 100644
index 0000000..022620d
--- /dev/null
+++ b/test/openpower-pels/ascii_string_test.cpp
@@ -0,0 +1,71 @@
+#include "extensions/openpower-pels/ascii_string.hpp"
+#include "extensions/openpower-pels/registry.hpp"
+
+#include <gtest/gtest.h>
+
+using namespace openpower::pels;
+
+TEST(AsciiStringTest, AsciiStringTest)
+{
+    // Build the ASCII string from a message registry entry
+    message::Entry entry;
+    entry.src.type = 0xBD;
+    entry.src.reasonCode = 0xABCD;
+    entry.subsystem = 0x37;
+
+    src::AsciiString as{entry};
+
+    auto data = as.get();
+
+    EXPECT_EQ(data, "BD37ABCD                        ");
+
+    // Now flatten it
+    std::vector<uint8_t> flattenedData;
+    Stream stream{flattenedData};
+
+    as.flatten(stream);
+
+    for (size_t i = 0; i < 32; i++)
+    {
+        EXPECT_EQ(data[i], flattenedData[i]);
+    }
+}
+
+// A 0x11 power SRC doesn't have the subsystem in it
+TEST(AsciiStringTest, PowerErrorTest)
+{
+    message::Entry entry;
+    entry.src.type = 0x11;
+    entry.src.reasonCode = 0xABCD;
+    entry.subsystem = 0x37;
+
+    src::AsciiString as{entry};
+    auto data = as.get();
+
+    EXPECT_EQ(data, "1100ABCD                        ");
+}
+
+TEST(AsciiStringTest, UnflattenTest)
+{
+    std::vector<uint8_t> rawData{'B', 'D', '5', '6', '1', '2', 'A', 'B'};
+
+    for (int i = 8; i < 32; i++)
+    {
+        rawData.push_back(' ');
+    }
+
+    Stream stream{rawData};
+    src::AsciiString as{stream};
+
+    auto data = as.get();
+
+    EXPECT_EQ(data, "BD5612AB                        ");
+}
+
+TEST(AsciiStringTest, UnderflowTest)
+{
+    std::vector<uint8_t> rawData{'B', 'D', '5', '6'};
+    Stream stream{rawData};
+
+    EXPECT_THROW(src::AsciiString as{stream}, std::out_of_range);
+}
