|
32 | 32 | resyntax/private/logger |
33 | 33 | resyntax/private/refactoring-result |
34 | 34 | resyntax/private/source |
| 35 | + resyntax/private/string-indent |
35 | 36 | resyntax/private/string-replacement |
36 | 37 | syntax/modread |
37 | 38 | syntax/parse |
|
41 | 42 | ;@---------------------------------------------------------------------------------------------------- |
42 | 43 |
|
43 | 44 |
|
| 45 | +(define (string-block-info s) |
| 46 | + (string-info (string-hanging-indent s #:amount 2))) |
| 47 | + |
| 48 | + |
44 | 49 | (struct code-block (raw-string) #:transparent |
45 | 50 | #:guard (λ (raw-string _) (string->immutable-string raw-string)) |
46 | 51 |
|
|
50 | 55 | (define raw (code-block-raw-string this)) |
51 | 56 | (define-values (_line col _pos) (port-next-location out)) |
52 | 57 | (cond |
53 | | - [(and (pretty-printing) (integer? (pretty-print-columns)) col) |
| 58 | + [(and (pretty-printing) col) |
54 | 59 | (define lead (make-string col #\space)) |
55 | 60 | (for ([line (in-lines (open-input-string raw))] |
56 | 61 | [i (in-naturals)]) |
57 | 62 | (unless (zero? i) |
58 | 63 | (write-string lead out) |
59 | | - (pretty-print-newline out (pretty-print-columns))) |
| 64 | + (if (integer? (pretty-print-columns)) |
| 65 | + (pretty-print-newline out (pretty-print-columns)) |
| 66 | + (newline out))) |
60 | 67 | (write-string line out))] |
61 | 68 | [else |
62 | 69 | (for ([line (in-lines (open-input-string raw))] |
|
118 | 125 | (with-intercepted-logging save-log #:logger resyntax-logger proc 'debug 'resyntax)) |
119 | 126 |
|
120 | 127 | (define (build-logs-info) |
121 | | - (string-info (string-join (vector->list (build-vector logged-messages-builder)) "\n"))) |
| 128 | + (string-block-info (string-join (vector->list (build-vector logged-messages-builder)) "\n"))) |
122 | 129 |
|
123 | 130 | (define result-set |
124 | 131 | (call-with-logs-captured |
|
137 | 144 | ([exn:fail? |
138 | 145 | (λ (e) |
139 | 146 | (with-check-info (['logs (build-logs-info)] |
140 | | - ['original original-program] |
141 | | - ['expected expected-program] |
| 147 | + ['original (string-block-info (code-block-raw-string original-program))] |
| 148 | + ['expected (string-block-info expected-program)] |
142 | 149 | ['exception e]) |
143 | 150 | (fail-check "an error occurred while processing refactoring results")))]) |
144 | 151 | (call-with-logs-captured |
145 | 152 | (λ () (modified-source-contents (refactoring-result-set-updated-source result-set)))))) |
146 | 153 | (with-check-info (['logs (build-logs-info)] |
147 | | - ['actual (code-block refactored-program)] |
148 | | - ['expected expected-program]) |
| 154 | + ['actual (string-block-info refactored-program)] |
| 155 | + ['expected (string-block-info (code-block-raw-string expected-program))]) |
149 | 156 | (when (empty? (refactoring-result-set-results result-set)) |
150 | 157 | (fail-check "no changes were made")) |
151 | 158 | (when (equal? refactored-program (code-block-raw-string original-program)) |
152 | 159 | (fail-check "fixes were made, but they left the program unchanged")) |
153 | 160 | (unless (equal? refactored-program (code-block-raw-string expected-program)) |
154 | | - (with-check-info (['original original-program]) |
| 161 | + (with-check-info (['original (string-block-info (code-block-raw-string original-program))]) |
155 | 162 | (fail-check "incorrect changes were made")))) |
156 | 163 | (match-define (program-output original-stdout original-stderr) |
157 | 164 | (eval-program (code-block-raw-string original-program))) |
158 | 165 | (match-define (program-output actual-stdout actual-stderr) (eval-program refactored-program)) |
159 | 166 | (unless (equal? original-stdout actual-stdout) |
160 | 167 | (with-check-info (['logs (build-logs-info)] |
161 | | - ['actual (code-block actual-stdout)] |
162 | | - ['original (code-block original-stdout)]) |
| 168 | + ['actual (string-block-info actual-stdout)] |
| 169 | + ['original (string-block-info original-stdout)]) |
163 | 170 | (fail-check "output to stdout changed"))) |
164 | 171 | (unless (equal? original-stderr actual-stderr) |
165 | 172 | (with-check-info (['logs (build-logs-info)] |
166 | | - ['actual (code-block actual-stderr)] |
167 | | - ['original (code-block original-stderr)]) |
| 173 | + ['actual (string-block-info actual-stderr)] |
| 174 | + ['original (string-block-info original-stderr)]) |
168 | 175 | (fail-check "output to stderr changed")))))) |
169 | 176 |
|
170 | 177 |
|
|
180 | 187 | (with-intercepted-logging save-log #:logger resyntax-logger proc 'debug 'resyntax)) |
181 | 188 |
|
182 | 189 | (define (build-logs-info) |
183 | | - (string-info (string-join (vector->list (build-vector logged-messages-builder)) "\n"))) |
| 190 | + (string-block-info (string-join (vector->list (build-vector logged-messages-builder)) "\n"))) |
184 | 191 |
|
185 | 192 | (define result-set |
186 | 193 | (call-with-logs-captured |
|
194 | 201 | (list (check-info 'matched-rules (refactoring-result-set-matched-rules-info result-set)))) |
195 | 202 | (λ () |
196 | 203 | (with-check-info (['logs (build-logs-info)] |
197 | | - ['actual (code-block refactored-program)] |
198 | | - ['original original-program]) |
| 204 | + ['actual (string-block-info refactored-program)] |
| 205 | + ['original (string-block-info (code-block-raw-string original-program))]) |
199 | 206 | (unless (equal? refactored-program (code-block-raw-string original-program)) |
200 | 207 | (fail-check "expected no changes, but changes were made"))) |
201 | 208 | (with-check-info (['logs (build-logs-info)] |
202 | | - ['actual (code-block refactored-program)]) |
| 209 | + ['actual (string-block-info refactored-program)]) |
203 | 210 | (unless (empty? (refactoring-result-set-results result-set)) |
204 | 211 | (fail-check "the program was not changed, but no-op fixes were suggested")))))) |
205 | 212 |
|
|
0 commit comments