================================================================================
Empty file
================================================================================

--------------------------------------------------------------------------------

(source)

================================================================================
Simple subject
================================================================================
This is a simple subject

--------------------------------------------------------------------------------

(source
  (subject))

================================================================================
Subject with comment
================================================================================
# comment
this is a simple subject

--------------------------------------------------------------------------------

(source
  (comment)
  (subject))

================================================================================
Subject with comment
================================================================================
# comment
this is a simple subject
# comment

--------------------------------------------------------------------------------

(source
  (comment)
  (subject)
  (comment))

================================================================================
Empty file w/ comments
================================================================================
# comment

--------------------------------------------------------------------------------

(source
  (comment))

================================================================================
Empty file w/ empty comment
================================================================================
#

--------------------------------------------------------------------------------

(source
  (comment))

================================================================================
Subject overflow
================================================================================
this is a simple subject with an awesome overflow because it's longer than 50 characters

--------------------------------------------------------------------------------

(source
  (subject))

================================================================================
Not a comment
================================================================================
 # not a comment

--------------------------------------------------------------------------------

(source
  (subject))

================================================================================
Error if not a new line after subject
================================================================================
This is a subject
This should not exists

--------------------------------------------------------------------------------

(source
  (ERROR
    (subject))
  (subject))

================================================================================
Subject with type and scope
================================================================================
feat(git): allow provided config object to extend other configs

--------------------------------------------------------------------------------

(source
  (subject
    (prefix
      (type)
      (scope))))

================================================================================
Subject complete
================================================================================
feat(git)!: allow provided config object to extend other configs

--------------------------------------------------------------------------------

(source
  (subject
    (prefix
      (type)
      (scope))))

================================================================================
Subject type and BC
================================================================================
feat!: allow provided config object to extend other configs

--------------------------------------------------------------------------------

(source
  (subject
    (prefix
      (type))))

================================================================================
fix #36
================================================================================
feat(test):
--------------------------------------------------------------------------------

(source
  (ERROR
    (prefix
      (type)
      (scope))))

================================================================================
Allows numbers in scope (fix #42)
================================================================================
feat(issue42): allow numbers in scope

--------------------------------------------------------------------------------

(source
  (subject
    (prefix
      (type)
      (scope))))

================================================================================
Parse fixup!
================================================================================
fixup! allow fixup

--------------------------------------------------------------------------------

(source
  (subject
    (subject_prefix)))

================================================================================
Parse amend! with conventional commit
================================================================================
amend! feat(test): allow fixup

--------------------------------------------------------------------------------

(source
  (subject
    (subject_prefix)
    (prefix
      (type)
      (scope))))

================================================================================
Parse amend! with conventional commit and overflow
================================================================================
amend! feat(test): allow fixup with an overflow on the subject

--------------------------------------------------------------------------------

(source
  (subject
    (subject_prefix)
    (prefix
      (type)
      (scope))))

================================================================================
Parse fixup! with conventional commit and no scope
================================================================================
amend! feat: allow fixup

--------------------------------------------------------------------------------

(source
  (subject
    (subject_prefix)
    (prefix
      (type))))

================================================================================
Allow U+FF1A as colon separator
================================================================================
feat(hi)：some message

--------------------------------------------------------------------------------

(source
  (subject
    (prefix
      (type)
      (scope))))

================================================================================
Allows 1 char subject
================================================================================
o

--------------------------------------------------------------------------------

(source
  (subject))

================================================================================
Allows numbers and symbols in conventional commit type
================================================================================
f-e_a12t*$(test): allow numbers and symbols

--------------------------------------------------------------------------------

(source
  (subject
    (prefix
      (type)
      (scope))))

================================================================================
Not conventional commit if starts with a !
================================================================================
!test(test): allow numbers and symbols

--------------------------------------------------------------------------------

(source
  (subject))

================================================================================
Not conventional commit if starts with a :
================================================================================
:test: allow numbers and symbols

--------------------------------------------------------------------------------

(source
  (subject))

================================================================================
Not conventional commit if starts with a space
================================================================================
  test: allow numbers and symbols

--------------------------------------------------------------------------------

(source
  (subject))

================================================================================
Scope can contain a special chars
================================================================================
test(10_-#{} test): scope

--------------------------------------------------------------------------------

(source
  (subject
    (prefix
      (type)
      (scope))))
