<NME> ModulesEffect.txt
<BEF> ADDFILE
<MSG> Add tests for external/manual parser rules

<DFF> @@ -0,0 +1,36 @@
+Elm File
+  ElmModuleDeclarationImpl(MODULE_DECLARATION)
+    ElmEffectImpl(EFFECT)
+      PsiElement(LOWER_CASE_IDENTIFIER)('effect')
+    PsiWhiteSpace(' ')
+    PsiElement(MODULE)('module')
+    PsiWhiteSpace(' ')
+    ElmUpperCasePathImpl(UPPER_CASE_PATH)
+      ElmUpperCaseIdImpl(UPPER_CASE_ID)
+        PsiElement(UPPER_CASE_IDENTIFIER)('Time')
+    PsiWhiteSpace(' ')
+    PsiElement(WHERE)('where')
+    PsiWhiteSpace(' ')
+    ElmRecordImpl(RECORD)
+      PsiElement(LEFT_BRACE)('{')
+      PsiWhiteSpace(' ')
+      ElmFieldImpl(FIELD)
+        ElmLowerCaseIdImpl(LOWER_CASE_ID)
+          PsiElement(LOWER_CASE_IDENTIFIER)('subscription')
+        PsiWhiteSpace(' ')
+        PsiElement(EQ)('=')
+        PsiWhiteSpace(' ')
+        ElmExpressionImpl(EXPRESSION)
+          ElmListOfOperandsImpl(LIST_OF_OPERANDS)
+            ElmMixedCasePathImpl(MIXED_CASE_PATH)
+              ElmUpperCaseIdImpl(UPPER_CASE_ID)
+                PsiElement(UPPER_CASE_IDENTIFIER)('MySub')
+      PsiWhiteSpace(' ')
+      PsiElement(RIGHT_BRACE)('}')
+    PsiWhiteSpace(' ')
+    PsiElement(EXPOSING)('exposing')
+    PsiWhiteSpace(' ')
+    PsiElement(LEFT_PARENTHESIS)('(')
+    ElmLowerCaseIdImpl(LOWER_CASE_ID)
+      PsiElement(LOWER_CASE_IDENTIFIER)('now')
+    PsiElement(RIGHT_PARENTHESIS)(')')
\ No newline at end of file

Add tests for external/manual parser rules