I like the question.
I don't like the confilicting documentation.
TRUNCATE TABLE always locks the table and page but not each row.
http://msdn.microsoft.com/en-us/library/ms177570.aspx
Same article also mentions that this is a DDL command, so I guess the Schema M lock is infered like most ddl commands.