Would you mind providing a commit description in addition to the one-line summary? A good description explains _why_ this new functionality is useful, rather than what the change does.
Nit: could you put the results of all std::get<N>(it) into named variables? It would make the code more readable.
Nit: could this match .* instead of the specific regexp?
I don't think it's important for this code to be on the next line, so let's just use CHECK and avoid over-constraining the tests.
It looks like this tests for a sequence of canonicalizations. Could we in addition have a test that exercises only the new canonicalization you are adding? This helps bisecting problems.