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.88 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.87 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.86 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.85 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.84 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.83 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.82 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.81 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.80 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.79 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.78 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.77 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.76 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.75 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.74 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.73 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.72 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.69 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.68 lib/helpers/fzf/src/util/eventbox_test.go
doing-2.1.66 lib/helpers/fzf/src/util/eventbox_test.go