Characters were being split up and causing invalid sequences when using
`substr()`. Went ahead and updated to use `mb_strcut()` and forcing the
character encoding to UTF-8. I think the plan down the road will be to set the
internal encoding to UTF-8 but I am not currently sure how that could effect
the rest of the system (perhaps it won't). Closes#39
The vendor directory is now just composer stuff. Planning to rearrange some
files soon but wanted to commit these changes. AYAH is now installed via
composer from a package I am maintaining and I dropped the test helpers as it
is a dev-only requirement (and that's assuming you even want to test).
Had to rework the Model class a bit, there's some weirdness happening and I'm
unsure if it's part of the rewrite or always been busted. Won't really know for
sure until I start porting sites over to it I suppose.
Not being used and the logic is pretty damn hacky. I don't believe in JOINs so
I'm unsure if this support will be re-added in the future or if there will
simply be a backed in opinion that JOINs are the devil.
Coverage testing wasn't analyzing files that weren't touched at all. All files
are now included with the exception of the Database files that I'll be
consolidating soon into a single class (no reason to have so many classes
touched just to create a single database object). Aside from that, all classes
are now represented in the coverage report, Sad to go from 80% down to 50% but
oh well, it's for the best!
Finished up all the low hanging fruit (working the classes I already started
that were just shy of 100% coverage). Just shy of 80% coverage at this point.
Also fixed a few minor bugs and reworked Browser class to not use the constant
UNIT_TESTING so I could get the class to 100% coverage. Adds a dependency of
testing_helpers which I believe is available on Travis CI by default. Up to 75%
coverage, w00t w00t!
Also found a bug in the Form class that would bork phone numbers with dashes in
them. Even though the Form class is going to go away eventually I wanted to fix
the issue.
Had to half ass the AYAH test because it was throwing too many errors w/o an actual API key. Testing the error scenarios in the methods themselves and not the results from AYAH.