@@ -925,6 +925,57 @@ describe('morgan()', function () {
925
925
} )
926
926
} )
927
927
928
+ describe ( 'a string' , function ( ) {
929
+ it ( 'should accept format as format string of tokens' , function ( done ) {
930
+ var cb = after ( 2 , function ( err , res , line ) {
931
+ if ( err ) return done ( err )
932
+ assert . strictEqual ( line , 'GET /' )
933
+ done ( )
934
+ } )
935
+
936
+ var stream = createLineStream ( function ( line ) {
937
+ cb ( null , null , line )
938
+ } )
939
+
940
+ request ( createServer ( ':method :url' , { stream : stream } ) )
941
+ . get ( '/' )
942
+ . expect ( 200 , cb )
943
+ } )
944
+
945
+ it ( 'should accept text mixed with tokens' , function ( done ) {
946
+ var cb = after ( 2 , function ( err , res , line ) {
947
+ if ( err ) return done ( err )
948
+ assert . strictEqual ( line , 'method=GET url=/' )
949
+ done ( )
950
+ } )
951
+
952
+ var stream = createLineStream ( function ( line ) {
953
+ cb ( null , null , line )
954
+ } )
955
+
956
+ request ( createServer ( 'method=:method url=:url' , { stream : stream } ) )
957
+ . get ( '/' )
958
+ . expect ( 200 , cb )
959
+ } )
960
+
961
+ it ( 'should accept special characters' , function ( done ) {
962
+ var cb = after ( 2 , function ( err , res , line ) {
963
+ if ( err ) return done ( err )
964
+ assert . strictEqual ( line , 'LOCAL\\tobi "GET /" 200' )
965
+ done ( )
966
+ } )
967
+
968
+ var stream = createLineStream ( function ( line ) {
969
+ cb ( null , null , line )
970
+ } )
971
+
972
+ request ( createServer ( 'LOCAL\\:remote-user ":method :url" :status' , { stream : stream } ) )
973
+ . get ( '/' )
974
+ . set ( 'Authorization' , 'Basic dG9iaTpsb2tp' )
975
+ . expect ( 200 , cb )
976
+ } )
977
+ } )
978
+
928
979
describe ( 'combined' , function ( ) {
929
980
it ( 'should match expectations' , function ( done ) {
930
981
var cb = after ( 2 , function ( err , res , line ) {
0 commit comments