Stack of 2
| 1/2 | Update watch_test+41 -38 | |
| 2/2 | Update 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 }1