Stack of 2
1/2Update watch_test+41 -38
2/2Update parser+20 -17

patchstack/tests main

...

Update watch_test

Patch does not have a description.
1 file changed+41 -38
  cmd/templ/generatecmd/watcher/watch_test.go
79
cmd/templ/generatecmd/watcher/watch_test.go+41 -38
             @@ -12,23 +12,20 @@    12     12    13     13func TestWatchDebouncesDuplicates(t *testing.T) {    14     14	ctx, cancel := context.WithCancel(context.Background())    15       	w := &fsnotify.Watcher{    16       		Events: make(chan fsnotify.Event),    17       	}    18       	events := make(chan fsnotify.Event, 2)    19       	errors := make(chan error)    20       	watchPattern, err := regexp.Compile(".*")    21       	if err != nil {    22       		t.Fatal(fmt.Errorf("failed to compile watch pattern: %w", err))    23       	}    24       	rw := NewRecursiveWatcher(ctx, w, watchPattern, events, errors)    25       	go func() {    26       		rw.w.Events <- fsnotify.Event{Name: "test.templ"}    27       		rw.w.Events <- fsnotify.Event{Name: "test.templ"}    28       		cancel()    29       		close(rw.w.Events)    30       	}()    31       	rw.loop()           15	events := make(chan fsnotify.Event, 2)           16	errors := make(chan error)           17	watchPattern, err := regexp.Compile(".*")           18	if err != nil {           19		t.Fatal(fmt.Errorf("failed to compile watch pattern: %w", err))           20	}           21	rw, err := Recursive(ctx, watchPattern, events, errors)           22	if err != nil {           23		t.Fatal(fmt.Errorf("failed to create recursive watcher: %w", err))           24	}           25	go func() {           26		rw.w.Events <- fsnotify.Event{Name: "test.templ"}           27		rw.w.Events <- fsnotify.Event{Name: "test.templ"}           28	}()    32     29	count := 0    33     30	exp := time.After(300 * time.Millisecond)    34     31	for {             @@ -39,6 +36,10 @@    39     36			if count != 1 {    40     37				t.Errorf("expected 1 event, got %d", count)    41     38			}           39			cancel()           40			if err := rw.Close(); err != nil {           41				t.Errorf("unexpected error closing watcher: %v", err)           42			}    42     43			return    43     44		}    44     45	}             @@ -64,9 +65,6 @@    64     65	}    65     66	for _, test := range tests {    66     67		ctx, cancel := context.WithCancel(context.Background())    67       		w := &fsnotify.Watcher{    68       			Events: make(chan fsnotify.Event),    69       		}    70     68		events := make(chan fsnotify.Event, 2)    71     69		errors := make(chan error)    72     70		watchPattern, err := regexp.Compile(".*")             @@ -73,14 +71,14 @@    73     71		if err != nil {    74     72			t.Fatal(fmt.Errorf("failed to compile watch pattern: %w", err))    75     73		}    76       		rw := NewRecursiveWatcher(ctx, w, watchPattern, events, errors)           74		rw, err := Recursive(ctx, watchPattern, events, errors)           75		if err != nil {           76			t.Fatal(fmt.Errorf("failed to create recursive watcher: %w", err))           77		}    77     78		go func() {    78     79			rw.w.Events <- test.event1    79     80			rw.w.Events <- test.event2    80       			cancel()    81       			close(rw.w.Events)    82     81		}()    83       		rw.loop()    84     82		count := 0    85     83		exp := time.After(300 * time.Millisecond)    86     84		for {             @@ -91,6 +89,10 @@    91     89				if count != 2 {    92     90					t.Errorf("expected 2 event, got %d", count)    93     91				}           92				cancel()           93				if err := rw.Close(); err != nil {           94					t.Errorf("unexpected error closing watcher: %v", err)           95				}    94     96				return    95     97			}    96     98		}             @@ -99,24 +101,21 @@    99    101   100    102func TestWatchDoesNotDebounceSeparateEvents(t *testing.T) {   101    103	ctx, cancel := context.WithCancel(context.Background())   102       	w := &fsnotify.Watcher{   103       		Events: make(chan fsnotify.Event),   104       	}   105       	events := make(chan fsnotify.Event, 2)   106       	errors := make(chan error)   107       	watchPattern, err := regexp.Compile(".*")   108       	if err != nil {   109       		t.Fatal(fmt.Errorf("failed to compile watch pattern: %w", err))   110       	}   111       	rw := NewRecursiveWatcher(ctx, w, watchPattern, events, errors)          104	events := make(chan fsnotify.Event, 2)          105	errors := make(chan error)          106	watchPattern, err := regexp.Compile(".*")          107	if err != nil {          108		t.Fatal(fmt.Errorf("failed to compile watch pattern: %w", err))          109	}          110	rw, err := Recursive(ctx, watchPattern, events, errors)          111	if err != nil {          112		t.Fatal(fmt.Errorf("failed to create recursive watcher: %w", err))          113	}   112    114	go func() {   113    115		rw.w.Events <- fsnotify.Event{Name: "test.templ"}   114    116		<-time.After(200 * time.Millisecond)   115    117		rw.w.Events <- fsnotify.Event{Name: "test.templ"}   116       		cancel()   117       		close(rw.w.Events)   118       	}()   119       	rw.loop()          118	}()   120    119	count := 0   121    120	exp := time.After(500 * time.Millisecond)   122    121	for {             @@ -127,6 +126,10 @@   127    126			if count != 2 {   128    127				t.Errorf("expected 2 event, got %d", count)   129    128			}          129			cancel()          130			if err := rw.Close(); err != nil {          131				t.Errorf("unexpected error closing watcher: %v", err)          132			}   130    133			return   131    134		}   132    135	}
se created patch version 1