Haven't added any tests. But re-rolling #2 for 2.x-dev