Create ERT-based test for issue #9.

This allows regression testing without needing manual inspection.
ERT test for issue #8.
ERT tests for issues 14, 16, and 18
ERT test for ejmr/php-mode#19
Require `php-mode` in `php-mode-test.el`, duh.
ERT tests for remaining example files.

This should close ejmr/php-mode#60
Mark tests 9, 14, and 19 as expected failures.

This makes all tests pass or fail expectedly for the current version. As bugs
are fixed, the expectation of failure can be removed.
Simplify setting `php-file-patterns` with `mapc`

Rather than a `while` loop, use the functionalerific `mapc` to add file-name
patterns to `auto-mode-alist`.

Signed-off-by: Eric James Michael Ritz <lobbyjones@gmail.com>
Define `php-mode-map` in a `defvar`, as is the recommended style.

See Tips for Defining(elisp).

Signed-off-by: Eric James Michael Ritz <lobbyjones@gmail.com>
Merge branch 'haxney/ert-tests'

* haxney/ert-tests:
  Mark tests 9, 14, and 19 as expected failures.
  ERT tests for remaining example files.
  Require `php-mode` in `php-mode-test.el`, duh.
  ERT test for ejmr/php-mode#19
  ERT tests for issues 14, 16, and 18
  ERT test for issue #8.
  Create ERT-based test for issue #9.
Add documentation about the automated unit tests to the README
Update php-mode-modified for the new automated unit tests
Do not override font-lock for case/continue/break labels

This prevents us from displaying words following "case", "continue",
and "break" in unexpected faces inside comments.

Signed-off-by: Eric James Michael Ritz <lobbyjones@gmail.com>
Do not highling function calls or variables within comments

This addresses the same issue as commit 4a7a6b0b.  We often use
regular expressions to capture parts of code and apply syntax
highlighting to those captured groups via font-lock definitions like
this:

    (1 font-lock-variable-name-face t t)

That third parameter causes a problem.  That controls the ‘override’
properties meaning, in this case, that Emacs will apply the face
font-lock-variable-name-face to whatever we capture even if it already
has syntax highlighting.  It overrides existing faces.  That behavior
causes comments like

    // $foo->bar

to have syntax highlighting for ‘bar’ like any other variable.  We can
fix this by changing the override parameter to ‘keep’, which tells
font-lock to keep any existing face.  Or to put it another way, to
only apply the face if none is already there.  This fixes the issue
with comments since they are highlighting before we try to
highlighting variables, function calls, et cetera.
Update php-mode-modified for today’s syntax and font-lock changes
Add Nate Eagleson to the list of contributors

Whoops.  I was in a rush yesterday and forgot to do this after putting
his recent patch into the master branch.  My apologies.
Add a shell script to run all tests from the command-line

This script is also meant for use with ‘git bisect run’ to help
developers track down regressions.
Mention using run-tests.sh with ‘git bisect run’ in the README
Merge branch 'test-shell-script'

* test-shell-script:
  Mention using run-tests.sh with ‘git bisect run’ in the README
  Add a shell script to run all tests from the command-line