diff --git a/tests/test.js b/tests/test.js
index 6516ab07..879e4fdd 100644
--- a/tests/test.js
+++ b/tests/test.js
@@ -16,32 +16,11 @@ function split(text) { // Function to split lines into array
   return text.split(/\r?\n/);
 }
 
-function findPattern(text) { // Test entries against 8 patterns.  If matches pattern returns true
-  const nodnospatt = /^\s{0,2}-\s\[.*?\]\(.*?\) - .{0,249}?\. `.*?` `.*?`/; // Regex for entries with no demo and no source code
-  const slpatt = /^\s{0,2}-\s\[.*?\]\(.*?\) - .{0,249}?\. \(\[Demo\b\]\(.*?\), \[Source Code\b\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with demo and source code
-  const nodpatt = /^\s{0,2}-\s\[.*?\]\(.*?\) - .{0,249}?\. \(\[Source Code\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with no demo
-  const nospatt = /^\s{0,2}-\s\[.*?\]\(.*?\) - .{0,249}?\. \(\[Demo\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with no source code
-  const pnodnospatt = /^\s{0,2}-\s\[.*?\]\(.*?\) `⚠` - .{0,249}?\. `.*?` `.*?`/; // Regex for entries with proprietary with no demo and no source code
-  const pslpatt = /^\s{0,2}-\s\[.*?\]\(.*?\) `⚠` - .{0,249}?\. \(\[Demo\b\]\(.*?\), \[Source Code\b\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with proprietary with demo and source code
-  const pnodpatt = /^\s{0,2}-\s\[.*?\]\(.*?\) `⚠` - .{0,249}?\. \(\[Source Code\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with proprietary with no demo
-  const pnospatt = /^\s{0,2}-\s\[.*?\]\(.*?\) `⚠` - .{0,249}?\. \(\[Demo\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with proprietary with no source code
-  if (nodnospatt.test(text) === true) {
+function findPattern(text) { // All entries should match this pattern.  If matches pattern returns true.
+  const patt = /^\s{0,2}-\s\[.*?\]\(.*?\) (`⚠` )?- .{0,249}?\.( \(\[(Demo|Source Code|Clients)\]\([^)]*\)(, \[(Source Code|Clients)\]\([^)]*\))?(, \[(Source Code|Clients)\]\([^)]*\))*\))? \`.*?\` \`.*?\`$/;
+  if (patt.test(text) === true) {
     return true;
-  } else if (slpatt.test(text) === true) {
-    return true;
-  } else if (nodpatt.test(text) === true) {
-    return true;
-  } else if (nospatt.test(text) === true) {
-    return true;
-  } else if (pnodnospatt.test(text) === true) {
-    return true;
-  } else if (pslpatt.test(text) === true) {
-    return true;
-  } else if (pnodpatt.test(text) === true) {
-    return true;
-  } else if (pnospatt.test(text) === true) {
-    return true;
-  }
+  } 
   return false;
 }
 
@@ -59,7 +38,7 @@ function entryErrorCheck(md) {
   for (let i = 0, len = entries.length; i < len; i += 1) { // Loop to create array of objects
     entryArray[i] = new Object;
     entryArray[i].raw = entries[i];
-    if (entryFilter(entries[i]) === true) { // filter out lines that don't with * [)
+    if (entryFilter(entries[i]) === true) { // filter out lines that don't start with * [)
       total += 1;
       entryArray[i].name = namepatt.exec(entries[i])[1]; // Parses name of entry
       entryArray[i].pass = findPattern(entries[i]); // Tests against known patterns