From e8079727ee5548e48f05ab208dba4191b98201e2 Mon Sep 17 00:00:00 2001 From: Alex Ford Date: Tue, 13 Jun 2023 11:46:59 +0100 Subject: [PATCH] Ruby: rack - extend rack tests --- .../frameworks/rack/Rack.expected | 2 ++ .../library-tests/frameworks/rack/rack.rb | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/ruby/ql/test/library-tests/frameworks/rack/Rack.expected b/ruby/ql/test/library-tests/frameworks/rack/Rack.expected index c55afeb7801..82f2d4cc82e 100644 --- a/ruby/ql/test/library-tests/frameworks/rack/Rack.expected +++ b/ruby/ql/test/library-tests/frameworks/rack/Rack.expected @@ -4,8 +4,10 @@ rackApps | rack.rb:24:1:37:3 | Logger | rack.rb:30:12:30:14 | env | | rack.rb:39:1:45:3 | Redirector | rack.rb:40:12:40:14 | env | | rack.rb:59:1:75:3 | Baz | rack.rb:60:12:60:14 | env | +| rack.rb:77:1:95:3 | Qux | rack.rb:79:17:79:19 | env | rackResponseContentTypes | rack.rb:8:5:8:38 | call to [] | rack.rb:7:34:7:45 | "text/plain" | | rack.rb:20:5:20:27 | call to [] | rack.rb:19:28:19:38 | "text/html" | redirectResponses | rack.rb:43:5:43:45 | call to [] | rack.rb:42:30:42:40 | "/foo.html" | +| rack.rb:93:5:93:78 | call to finish | rack.rb:93:60:93:70 | redirect_to | diff --git a/ruby/ql/test/library-tests/frameworks/rack/rack.rb b/ruby/ql/test/library-tests/frameworks/rack/rack.rb index 9f743496ad2..109016f018d 100644 --- a/ruby/ql/test/library-tests/frameworks/rack/rack.rb +++ b/ruby/ql/test/library-tests/frameworks/rack/rack.rb @@ -73,3 +73,23 @@ class Baz [400, {}, "nope"] end end + +class Qux + attr_reader :env + def self.call(env) + new(env).call + end + + def initialize(env) + @env = env + end + + def call + do_redirect + end + + def do_redirect + redirect_to = env['redirect_to'] + Rack::Response.new(['redirecting'], 302, 'Location' => redirect_to).finish + end +end