autoprefixer-rails (10.4.19.0)
execjs (~> 2)
aws-eventstream (1.3.0)
- aws-partitions (1.1013.0)
+ aws-partitions (1.1016.0)
aws-sdk-core (3.214.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sdk-kms (1.96.0)
aws-sdk-core (~> 3, >= 3.210.0)
aws-sigv4 (~> 1.5)
- aws-sdk-s3 (1.174.0)
+ aws-sdk-s3 (1.175.0)
aws-sdk-core (~> 3, >= 3.210.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
sprockets (> 3.0)
sprockets-rails
tilt
- date (3.4.0)
+ date (3.4.1)
debug (1.9.2)
irb (~> 1.10)
reline (>= 0.3.8)
activerecord (>= 3.0, < 9.0)
delayed_job (>= 3.0, < 5)
docile (1.4.1)
- doorkeeper (5.7.1)
+ doorkeeper (5.8.0)
railties (>= 5)
doorkeeper-i18n (5.2.7)
doorkeeper (>= 5.2)
- doorkeeper-openid_connect (1.8.9)
- doorkeeper (>= 5.5, < 5.8)
+ doorkeeper-openid_connect (1.8.10)
+ doorkeeper (>= 5.5, < 5.9)
jwt (>= 2.5)
drb (2.2.1)
dry-configurable (1.2.0)
image_size (3.4.0)
in_threads (1.6.0)
iniparse (1.5.0)
- io-console (0.7.2)
+ io-console (0.8.0)
irb (1.14.1)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
- json (2.8.2)
+ json (2.9.0)
jwt (2.9.3)
base64
kgio (2.11.4)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
- logger (1.6.1)
+ logger (1.6.2)
logstasher (2.1.5)
activesupport (>= 5.2)
request_store
multi_xml (0.7.1)
bigdecimal (~> 3.1)
nap (1.1.0)
- net-http (0.5.0)
+ net-http (0.6.0)
uri
net-imap (0.5.1)
date
net-smtp (0.5.0)
net-protocol
nio4r (2.7.4)
- nokogiri (1.16.7)
+ nokogiri (1.16.8)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
oauth (1.1.0)
popper_js (2.11.8)
progress (3.6.0)
pstore (0.1.3)
- psych (5.2.0)
+ psych (5.2.1)
+ date
stringio
public_suffix (6.0.1)
puma (5.6.9)
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6)
- rails-html-sanitizer (1.6.0)
+ rails-html-sanitizer (1.6.1)
loofah (~> 2.21)
- nokogiri (~> 1.14)
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
rails-i18n (7.0.10)
i18n (>= 0.7, < 2)
railties (>= 6.0.0, < 8)
rchardet (1.8.0)
rdoc (6.8.1)
psych (>= 4.0.0)
- regexp_parser (2.9.2)
- reline (0.5.11)
+ regexp_parser (2.9.3)
+ reline (0.5.12)
io-console (~> 0.5)
request_store (1.7.0)
rack (>= 1.4)
rouge (4.5.1)
rtlcss (0.2.1)
mini_racer (>= 0.6.3)
- rubocop (1.69.0)
+ rubocop (1.69.1)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
- regexp_parser (>= 2.4, < 3.0)
- rubocop-ast (>= 1.36.1, < 2.0)
+ regexp_parser (>= 2.9.3, < 3.0)
+ rubocop-ast (>= 1.36.2, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0)
- rubocop-ast (1.36.1)
+ rubocop-ast (1.36.2)
parser (>= 3.3.1.0)
rubocop-capybara (2.21.0)
rubocop (~> 1.41)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
- securerandom (0.3.2)
+ securerandom (0.4.0)
selenium-webdriver (4.23.0)
base64 (~> 0.2)
logger (~> 1.4)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
- webrick (1.9.0)
+ webrick (1.9.1)
websocket (1.2.11)
websocket-driver (0.7.6)
websocket-extensions (>= 0.1.0)
class ChangesetsHelperTest < ActionView::TestCase
def test_changeset_user_link
changeset = create(:changeset)
- assert_equal %(<a href="/user/#{ERB::Util.u(changeset.user.display_name)}">#{changeset.user.display_name}</a>), changeset_user_link(changeset)
+ changeset_user_link_dom = Rails::Dom::Testing.html_document_fragment.parse changeset_user_link(changeset)
+ assert_dom changeset_user_link_dom, "a:root", :text => changeset.user.display_name do
+ assert_dom "> @href", "/user/#{ERB::Util.u(changeset.user.display_name)}"
+ end
changeset = create(:changeset, :user => create(:user, :data_public => false))
assert_equal "anonymous", changeset_user_link(changeset)
changeset = create(:changeset, :created_at => Time.utc(2007, 1, 1, 0, 0, 0), :user => create(:user, :data_public => false))
# We need to explicitly reset the closed_at to some point in the future, and avoid the before_save callback
changeset.update_column(:closed_at, Time.now.utc + 1.day) # rubocop:disable Rails/SkipsModelValidations
-
- assert_match %r{^Created <time title="Mon, 01 Jan 2007 00:00:00 \+0000" datetime="2007-01-01T00:00:00Z">.*</time> by anonymous$}, changeset_details(changeset)
+ changeset_details_dom = Rails::Dom::Testing.html_document_fragment.parse "<div>#{changeset_details(changeset)}</div>"
+ assert_dom changeset_details_dom, ":root", :text => /^Created .* by anonymous$/ do
+ assert_dom "> time", :count => 1 do
+ assert_dom "> @title", "Mon, 01 Jan 2007 00:00:00 +0000"
+ assert_dom "> @datetime", "2007-01-01T00:00:00Z"
+ end
+ assert_dom "> a", :count => 0
+ end
changeset = create(:changeset, :created_at => Time.utc(2007, 1, 1, 0, 0, 0), :closed_at => Time.utc(2007, 1, 2, 0, 0, 0))
- user_link = %(<a href="/user/#{ERB::Util.u(changeset.user.display_name)}">#{changeset.user.display_name}</a>)
-
- assert_match %r{^Closed <time title="Created: Mon, 01 Jan 2007 00:00:00 \+0000 Closed: Tue, 02 Jan 2007 00:00:00 \+0000" datetime="2007-01-02T00:00:00Z">.*</time> by #{user_link}$}, changeset_details(changeset)
+ changeset_details_dom = Rails::Dom::Testing.html_document_fragment.parse "<div>#{changeset_details(changeset)}</div>"
+ assert_dom changeset_details_dom, ":root", :text => /^Closed .* by #{changeset.user.display_name}$/ do
+ assert_dom "> time", :count => 1 do
+ assert_dom "> @title", "Created: Mon, 01 Jan 2007 00:00:00 +0000\nClosed: Tue, 02 Jan 2007 00:00:00 +0000"
+ assert_dom "> @datetime", "2007-01-02T00:00:00Z"
+ end
+ assert_dom "> a", :count => 1, :text => changeset.user.display_name do
+ assert_dom "> @href", "/user/#{ERB::Util.u(changeset.user.display_name)}"
+ end
+ end
end
end