# Mutations the trove tests must catch (format: see read/mutants.txt).
gwt_trove.py |     if not key: |     if False: | no key exits 4 with a message before any request
gwt_trove.py | dict(headers or {}, **{KEY_HEADER: key}) | dict(headers or {}) | the key is sent as the X-API-KEY header
gwt_trove.py |     if rec['total'] == 0 and not arts: |     if not arts: | a total above zero with the articles gone is a STOP, never "none"
gwt_trove.py |     if rec is None or not _number(rec.get('total')): |     if rec is None: | an answer with no total is a STOP, never "none"
gwt_trove.py |     if not arts and start not in ('', '*'): |     if False: | a cursor past the last article is the end of the results
gwt_trove.py | if arts and all(isinstance(x, dict) and x.get('id') for x in arts): | if arts: | an article with no id is a changed answer, a STOP
gwt_trove.py | 'text': plain(x.get('articleText')) or plain(x.get('snippet'))}) | 'text': plain(x.get('snippet'))}) | the article's full text reaches the candidate
gwt_trove.py |         params += [('reclevel', 'full'), ('include', 'articletext')] |         pass | a search asks for the article text
gwt_trove.py |     if cands and rec.get('nextStart'): |     if False: | a search with more articles prints the next cursor
gwt_trove.py | ('n', max(1, min(int(count), 100))) | ('n', max(1, int(count))) | a search never asks for more than the API's 100 rows
gwt_trove.py |         q = '(%s) date:[%s-01-01T00:00:00Z TO %s-12-31T23:59:59Z]' % (q, | q = '%s date:[%s-01-01T00:00:00Z TO %s-12-31T23:59:59Z]' % (q, | the date range wraps the query in brackets, so an OR never escapes it
gwt_trove.py |         if e.verdict != 'dead': |         if True: | a 401 says the API key was refused and how to end the pause, not "session token"
gwt_trove.py | dest='year_from', type=int, default=None | dest='year_from', default=None | a year that is not a number is refused before any request
gwt_trove.py | `gwt gate --dir ~/.cache/gwt-gate-trove clear "new key"` | `gwt gate clear --dir ~/.cache/gwt-gate-trove "new key"` | the 401 message prints a gate command that runs as written (--dir before the subcommand)
gwt_trove.py | dest='year_to', type=int, default=None | dest='year_to', default=None | a --to that is not a number is refused before any request
