Files
project-work/worker-toolkit-stocks-in-the-future/repo/test/helpers/application_helper_test.rb
Eric Bell 392781f7aa chore: init commit
in worker.../repo/GITFOLDER.zip is the .git folder.
2026-08-11 14:44:09 -04:00

82 lines
1.4 KiB
Ruby

# frozen_string_literal: true
require "test_helper"
class ApplicationHelperTest < ActionView::TestCase
test "safe_url returns valid http URL" do
url = "http://example.com"
result = safe_url(url)
assert_equal url, result
end
test "safe_url returns valid https URL" do
url = "https://example.com"
result = safe_url(url)
assert_equal url, result
end
test "safe_url returns valid https URL with path and query" do
url = "https://example.com/path?query=value"
result = safe_url(url)
assert_equal url, result
end
test "safe_url returns nil for javascript URL" do
url = "javascript:alert('XSS')"
result = safe_url(url)
assert_nil result
end
test "safe_url returns nil for data URL" do
url = "data:text/html,<script>alert('XSS')</script>"
result = safe_url(url)
assert_nil result
end
test "safe_url returns nil for invalid URL" do
url = "not a valid url"
result = safe_url(url)
assert_nil result
end
test "safe_url returns nil for blank string" do
result = safe_url("")
assert_nil result
end
test "safe_url returns nil for nil" do
result = safe_url(nil)
assert_nil result
end
test "safe_url returns nil for ftp URL" do
url = "ftp://example.com"
result = safe_url(url)
assert_nil result
end
test "safe_url returns nil for file URL" do
url = "file:///etc/passwd"
result = safe_url(url)
assert_nil result
end
end