This is a test page for image and attachment syntax that leaves out underscores.

!Wiki file.png|thumbnail!
!Wiki_file.png|thumbnail!
[^Wiki file.doc]
[alias|^Wiki file.doc]
[^Wiki file.doc]

