Properly implement the browscap matching algorithm. #16
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
https://github.com/browscap/browscap/wiki/Specification:-Lookup-Algorithm says:
The old code, as far as I can tell -- which isn't very far, to be fair --
always picked the earliest in the list of patterns, regardless of length.
I did the minimal changes to implement the algorithm as specified.
This possibly saved some space in the bargain, as I lowered the space
required for scores from 64 bits to 32.
I added a test-case that failed with the old code but passes with the
new. It requires an up-to-date browscap.ini file, so I updated the
one in test-data as part of this diff.