# Copyright 2013 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.


 # mime package test
.t1		application	test		-		y # Simple test	
.t2		text		test		-		y # Text test	
