Sha256: baf19d8105a86854ca2f719b2a1d10a2729a51ced8c3fec4cc85ec7386b6ecd9

Contents?: true

Size: 909 Bytes

Versions: 87

Compression:

Stored size: 909 Bytes

Contents

package util

import "testing"

// fzf events
const (
	EvtReadNew EventType = iota
	EvtReadFin
	EvtSearchNew
	EvtSearchProgress
	EvtSearchFin
	EvtClose
)

func TestEventBox(t *testing.T) {
	eb := NewEventBox()

	// Wait should return immediately
	ch := make(chan bool)

	go func() {
		eb.Set(EvtReadNew, 10)
		ch <- true
		<-ch
		eb.Set(EvtSearchNew, 10)
		eb.Set(EvtSearchNew, 15)
		eb.Set(EvtSearchNew, 20)
		eb.Set(EvtSearchProgress, 30)
		ch <- true
		<-ch
		eb.Set(EvtSearchFin, 40)
		ch <- true
		<-ch
	}()

	count := 0
	sum := 0
	looping := true
	for looping {
		<-ch
		eb.Wait(func(events *Events) {
			for _, value := range *events {
				switch val := value.(type) {
				case int:
					sum += val
					looping = sum < 100
				}
			}
			events.Clear()
		})
		ch <- true
		count++
	}

	if count != 3 {
		t.Error("Invalid number of events", count)
	}
	if sum != 100 {
		t.Error("Invalid sum", sum)
	}
}

Version data entries

87 entries across 87 versions & 1 rubygems

Version Path
doing-2.1.41 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.40 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.39 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.38 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.37 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.36 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.35 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.34 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.33 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.32 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.31pre lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.30 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.29 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.28 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.27 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.26 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.25 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.24 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.23 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.22 lib/helpers/fzf/src/util/eventbox_test.go