@@ -2,6 +2,7 @@ package engine_test
22
33import (
44 "github.com/stretchr/testify/require"
5+ "mokapi/engine"
56 "mokapi/engine/common"
67 "mokapi/engine/enginetest"
78 "testing"
@@ -11,6 +12,7 @@ func TestEventHandler(t *testing.T) {
1112 testcases := []struct {
1213 name string
1314 script string
15+ logger * enginetest.Logger
1416 run func (evt common.EventEmitter ) []* common.Action
1517 test func (t * testing.T , actions []* common.Action , err error )
1618 }{
@@ -50,6 +52,48 @@ export default () => {
5052 require .Len (t , actions , 1 )
5153 require .Len (t , actions [0 ].Logs , 1 )
5254 require .Equal (t , "a log message from event handler" , actions [0 ].Logs [0 ].Message )
55+ require .Equal (t , "log" , actions [0 ].Logs [0 ].Level )
56+ },
57+ },
58+ {
59+ name : "console.warn" ,
60+ script : `import { on } from 'mokapi'
61+ export default () => {
62+ on('http', () => {
63+ console.warn('a log message from event handler')
64+ return true
65+ })
66+ }
67+ ` ,
68+ run : func (evt common.EventEmitter ) []* common.Action {
69+ return evt .Emit ("http" )
70+ },
71+ test : func (t * testing.T , actions []* common.Action , err error ) {
72+ require .NoError (t , err )
73+ require .Len (t , actions , 1 )
74+ require .Len (t , actions [0 ].Logs , 1 )
75+ require .Equal (t , "a log message from event handler" , actions [0 ].Logs [0 ].Message )
76+ require .Equal (t , "warn" , actions [0 ].Logs [0 ].Level )
77+ },
78+ },
79+ {
80+ name : "console.warn but not match log level" ,
81+ script : `import { on } from 'mokapi'
82+ export default () => {
83+ on('http', () => {
84+ console.warn('a log message from event handler')
85+ return true
86+ })
87+ }
88+ ` ,
89+ logger : & enginetest.Logger {IsLevelEnabledFunc : func (level string ) bool { return false }},
90+ run : func (evt common.EventEmitter ) []* common.Action {
91+ return evt .Emit ("http" )
92+ },
93+ test : func (t * testing.T , actions []* common.Action , err error ) {
94+ require .NoError (t , err )
95+ require .Len (t , actions , 1 )
96+ require .Len (t , actions [0 ].Logs , 0 )
5397 },
5498 },
5599 {
@@ -110,7 +154,12 @@ export default () => {
110154 t .Run (tc .name , func (t * testing.T ) {
111155 t .Parallel ()
112156
113- e := enginetest .NewEngine ()
157+ var opts []engine.Options
158+ if tc .logger != nil {
159+ opts = append (opts , engine .WithLogger (tc .logger ))
160+ }
161+
162+ e := enginetest .NewEngine (opts ... )
114163 err := e .AddScript (newScript ("test.js" , tc .script ))
115164
116165 var actions []* common.Action
0 commit comments