Path: blob/dev/pkg/js/compiler/compiler_test.go
2070 views
package compiler12import (3"context"4"strings"5"testing"6"time"78"github.com/projectdiscovery/gologger"9"github.com/projectdiscovery/gologger/levels"10"github.com/projectdiscovery/nuclei/v3/pkg/types"11)1213func TestNewCompilerConsoleDebug(t *testing.T) {14gotString := ""15gologger.DefaultLogger.SetMaxLevel(levels.LevelDebug)16gologger.DefaultLogger.SetWriter(&noopWriter{17Callback: func(data []byte, level levels.Level) {18gotString = string(data)19},20})2122compiler := New()23p, err := SourceAutoMode("console.log('hello world');", false)24if err != nil {25t.Fatal(err)26}2728_, err = compiler.ExecuteWithOptions(p, NewExecuteArgs(), &ExecuteOptions{Context: context.Background(),29TimeoutVariants: &types.Timeouts{JsCompilerExecutionTimeout: time.Duration(20) * time.Second}},30)31if err != nil {32t.Fatal(err)33}34if !strings.HasSuffix(gotString, "hello world") {35t.Fatalf("console.log not working, got=%v", gotString)36}37}3839type noopWriter struct {40Callback func(data []byte, level levels.Level)41}4243func (n *noopWriter) Write(data []byte, level levels.Level) {44if n.Callback != nil {45n.Callback(data, level)46}47}484950