26 lines
490 B
Go
26 lines
490 B
Go
package loading
|
|
|
|
import (
|
|
"context"
|
|
"os/signal"
|
|
"syscall"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestLoadingPrint(t *testing.T) {
|
|
ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT)
|
|
defer cancel()
|
|
|
|
Do(ctx, func(ctx context.Context, print func(msg string, types ...Type)) error {
|
|
print("start task 1...")
|
|
time.Sleep(3 * time.Second)
|
|
|
|
print("warning...1", TypeWarning)
|
|
|
|
time.Sleep(2 * time.Second)
|
|
|
|
return nil
|
|
})
|
|
}
|