Move mark_whole_doc_dirty to text api

+ add a test