sha,message,author_date,committer_date,raw_author,raw_author_label,raw_committer,raw_committer_label,repo,repo_label,author,author_label,committer,committer_label e8625695a3b7938f37b64dff09c14e47d9428fe5,"xfail documentation unit tests for view classes, refs #299 More documentation unit tests. These ones check that every single **View class imported into the datasette/app.py module are covered by our documentation. Just one problem: they aren't documented yet. So I'm using the xfail pytest decorator to mark these tests as allowed-to-fail. When you run the test suite you now get a report of how many views still need to be documented, but it doesn't fail the tests. The output looks something like this: $ pytest tests/test_docs.py collected 31 items tests/test_docs.py ..........................XXXxx. [100%] ============ 26 passed, 2 xfailed, 3 xpassed in 1.06 seconds ============ Once I have documented all the views I will remove the xfail so any future views that are added without documentation will cause a test failure. We can detect that a view is documented by looking for ReST label in the docs, for example: .. _IndexView: Some view classes can be used to power multiple URLs - the JsonDataView class for example is used to power /-/metadata and /-/config and /-/plugins In this case, the second part of the label can indicate the variety of page, e.g: .. _JsonDataView_metadata: The test will pass as long as there is at least one label that starts with _JsonDataView.",2018-07-28T03:13:26Z,2018-07-28T03:13:26Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8da6b0d542c7ea276df8b5467d4be6cd08cf867f,"Added labels so unit tests can detect docs, refs #299",2018-07-28T03:26:18Z,2018-07-28T03:26:18Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 788a542d3c739da5207db7d1fb91789603cdd336,"Docs for IndexView, TableView, RowView, closes #299 Also removed xfail from test_view_classes_are_documented, so any future *View classes that are added without documentation will cause the tests to fail.",2018-07-28T04:21:42Z,2018-07-28T04:21:42Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 8128497b7946ab68fff703e207fc7c5b26b6e9c9,"Only run documented_views() fixture once per session Speeds up tests, because previously it ran once per view class.",2018-07-28T04:49:20Z,2018-07-28T04:49:20Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw 295d005ca48747faf046ed30c3c61e7563c61ed2,"Renamed variable, since docs are not written in Markdown",2018-07-28T04:56:51Z,2018-07-28T04:56:51Z,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,13ae486343ea6454a93114c6f558ffea2f2c6874,Simon Willison,107914493,datasette,9599,simonw,9599,simonw bd71be32abead38ec0b69695347219024efea0fe,Initial project layout + database table creation tools,2018-07-28T13:43:18Z,2018-07-28T13:46:17Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 03e3f7d6486123bf3eb852ad007d9761475f138c,Configured Travis CI,2018-07-28T13:48:53Z,2018-07-28T13:48:53Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 3c50a3600d0975b84d98c93bb2336a790afc6aca,Unit test for black-approved coding style,2018-07-28T14:29:20Z,2018-07-28T14:29:20Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 501618d0d519f808e54210f3c54420e5559a9343,Ensure black is correctly installed for tests,2018-07-28T14:36:43Z,2018-07-28T14:36:43Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 56e29158fe5174a5b06d0a58090da7fb4624ed60,"Don't run black test on Python 3.7 It breaks on that version - see https://github.com/ambv/black/issues/425 But that's OK, we only need it to run onder one version anyway.",2018-07-28T18:18:40Z,2018-07-28T18:18:40Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw acea54877ca65f08cef4f7260bd7f7fcabe31b90,Create table now works for pure m2m where both rows are foreign keys,2018-07-28T22:06:59Z,2018-07-28T22:06:59Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 95bce37ad3447d3c265316fa029fc09b7bbdae11,Store list/dict/tuple values as JSON strings,2018-07-28T22:20:29Z,2018-07-28T22:20:29Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw e51f36d3ebb28378d0938aabb80a432720269bce,"Added table.foreign_keys property, fixed bug in foreign key creation",2018-07-28T22:41:18Z,2018-07-28T22:41:18Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw 29c897bb5649c35463618a32d095f72755aae8c6,Started the docs with a meaty example,2018-07-28T23:52:07Z,2018-07-28T23:52:07Z,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,2946d096d0cdefdc017559e6b57e87658736e843,Simon Willison,140912432,sqlite-utils,9599,simonw,9599,simonw