Allows '%' and ',' in tag names. There's no technical need to forbid
these characters.
Fixes an issue with these characters being stripped away inside metatags
(e.g. tagging a post with `pool:ichigo_100%` strips away the '%').
Makes these tag names invalid when tagging posts:
* Blank names (e.g. ___).
* Non-ASCII characters (Japanese text).
* Non-printable characters (e.g. control characters < 0x20).
* Leading or trailing underscores, or consecutive underscores. Reason:
`_foo__bar_` and `foo_bar` both render as `foo bar` in the tag list.
* Leading `-` or `~`, or '*' (-foo, ~foo, foo*bar). Previously
these were silently stripped, but that meant tagging a post with e.g.
`*-foo` tagged the post with the invalid tag `-foo`.
* Tag type prefixes (e.g. `character:character:hatsune_miku` no longer creates
the literal tag `character:hatsune_miku`).
* Metatags (order:score, user:evazion, etc).
Works around connection reset errors in the test suite by disabling
persistent connections.
20) Error:
Sources::PixivTest#test_: in all cases fetching source data for a new manga image should get the tags. :
Net::HTTP::Persistent::Error: too many connection resets (due to closed stream - IOError) after 0 requests on 47071328584700, last used 1.842702476 seconds ago
app/logical/pixiv_web_agent.rb:46:in `build'
app/logical/sources/strategies/pixiv.rb:104:in `agent'
app/logical/sources/strategies/pixiv.rb:72:in `get'
app/logical/sources/site.rb:6:in `get'
test/unit/sources/pixiv_test.rb:7:in `get_source'
test/unit/sources/pixiv_test.rb:64:in `block (3 levels) in <class:PixivTest>'
ref: github.com/sparklemotion/mechanize/issues/123
ref: http://www.rubydoc.info/gems/mechanize/Mechanize#retry_change_requests%3D-instance_method
7) Failure:
PostTest#test_: Tagging: A post that has been updated should increment the updater's post_update_count. [/home/danbooru/src/danbooru/test/unit/post_test.rb:1010]:
"CurrentUser.post_update_count" didn't change by 1.
Expected: 1
Actual: 3
5) Failure:
NoteTest#test_: In all cases updating a note should increment the updater's note_update_count. [/home/danbooru/src/danbooru/test/unit/note_test.rb:113]:
"CurrentUser.note_update_count" didn't change by 1.
Expected: 1
Actual: 0