Diff for /parser3/tests/464.html between versions 1.1 and 1.3

version 1.1, 2026/10/10 13:00:13 version 1.3, 2026/10/22 23:31:36
Line 1 Line 1
 # ^response:send[]: the headers go with the first part, the result of @main is not sent  # ^response:stream[]: the headers go with the first part, the result of @main is not sent
 @main[]  @main[][before;error;failed]
 not sent  not sent
   # the first field of the response is not a header: see the failed start below
   $response:x-table[^table::create{a}]
 $response:x-test[sent with the first part]  $response:x-test[sent with the first part]
   $before[$response:started]
   # $response:started can not be assigned
   ^try{ $response:started[stream] }{ $exception.handled(true) $error[$exception.comment] }
 # a part is checked before the headers are sent  # a part is checked before the headers are sent
 ^try{ ^response:send(true) }{ $exception.handled(true) $response:x-bool[$exception.comment] }  ^try{ ^response:stream(true) }{ $exception.handled(true) $response:x-bool[$exception.comment] }
 ^try{ ^response:send[^file::stat[464.html]] }{ $exception.handled(true) $response:x-stat[$exception.comment] }  ^try{ ^response:stream[^file::stat[464.html]] }{ $exception.handled(true) $response:x-stat[$exception.comment] }
 ^response:send[1. string, untainted: ^taint[<b>]  # the headers are prepared before the state is set: a failure is an ordinary error, nothing is sent
   ^try{ ^response:stream[never sent] }{ $exception.handled(true) $failed[$exception.comment, started: [$response:started]] }
   $response:x-table[ok]
   ^response:stream[1. string, untainted: ^taint[<b>]
 ]  ]
 not sent either  not sent either
 ^response:send[^file::create[text;part.txt;2. file  ^response:stream[^file::create[text;part.txt;2. file
 ]]  ]]
 $response:x-late[too late, not sent]  $response:x-late[too late, not sent]
 ^response:send[3. number and void: |]  ^response:stream[3. number and void: |]
 ^response:send(3)  ^response:stream(3)
 ^response:send[$void]  ^response:stream[$void]
 ^response:send[|  ^response:stream[|
 ]  ]
 ^check{^response:send[$.a[1]]}  ^check{^response:stream[$.a[1]]}
 ^check{^response:send[^table::create{a}]}  ^check{^response:stream[^table::create{a}]}
 ^check{^response:send{code}}  ^check{^response:stream{code}}
 ^response:send[5. the last part  ^response:stream[5. state, before the first part: [$before], assignment: $error, failed start: $failed, now: [$response:started]
   ]
   ^response:stream[6. the last part
 ]  ]
   
 @check[code]  @check[code]
 ^try{$code}{ $exception.handled(true) ^response:send[4. $exception.comment^#0A] }  ^try{$code}{ $exception.handled(true) ^response:stream[4. $exception.comment^#0A] }
   
 @postprocess[body]  @postprocess[body]
 ^response:send[not sent: @postprocess is not called]  ^response:stream[not sent: @postprocess is not called]

Removed from v.1.1  
changed lines
  Added in v.1.3


E-mail: