File tree Expand file tree Collapse file tree 6 files changed +110
-2
lines changed
Expand file tree Collapse file tree 6 files changed +110
-2
lines changed Original file line number Diff line number Diff line change @@ -8,9 +8,17 @@ gem 'kramdown-parser-gfm', '~> 1.0'
88gem 'jekyll-redirect-from'
99gem 'jekyll-sitemap'
1010
11+ group :development , :test do
12+ gem 'pry-byebug'
13+ end
14+
1115group :test do
16+ gem 'capybara'
1217 gem 'html-proofer' , '~> 4.0'
18+ gem 'nokogiri' , '>= 1.10.5'
19+ gem 'rackup' # required for `Capybara.server = :webrick`
20+ gem 'rack-jekyll'
1321 gem 'rspec'
1422 gem 'rspec_junit_formatter' , require : false
15- gem 'nokogiri' , '>= 1.10.5 '
23+ gem 'selenium-webdriver '
1624end
Original file line number Diff line number Diff line change 33 specs:
44 addressable (2.8.7 )
55 public_suffix (>= 2.0.2 , < 7.0 )
6+ base64 (0.3.0 )
67 bigdecimal (3.1.8 )
8+ byebug (12.0.0 )
9+ capybara (3.40.0 )
10+ addressable
11+ matrix
12+ mini_mime (>= 0.1.3 )
13+ nokogiri (~> 1.11 )
14+ rack (>= 1.6.0 )
15+ rack-test (>= 0.6.3 )
16+ regexp_parser (>= 1.5 , < 3.0 )
17+ xpath (~> 3.2 )
18+ coderay (1.1.3 )
719 colorator (1.1.0 )
820 concurrent-ruby (1.3.4 )
921 diff-lcs (1.5.1 )
6274 listen (3.9.0 )
6375 rb-fsevent (~> 0.10 , >= 0.10.3 )
6476 rb-inotify (~> 0.9 , >= 0.9.10 )
77+ logger (1.7.0 )
78+ matrix (0.4.2 )
6579 mercenary (0.4.0 )
80+ method_source (1.1.0 )
81+ mini_mime (1.1.5 )
6682 mini_portile2 (2.8.9 )
6783 nokogiri (1.18.8 )
6884 mini_portile2 (~> 2.8.2 )
6985 racc (~> 1.4 )
7086 parallel (1.26.3 )
7187 pathutil (0.16.2 )
7288 forwardable-extended (~> 2.6 )
89+ pry (0.15.2 )
90+ coderay (~> 1.1 )
91+ method_source (~> 1.0 )
92+ pry-byebug (3.11.0 )
93+ byebug (~> 12.0 )
94+ pry (>= 0.13 , < 0.16 )
7395 public_suffix (6.0.1 )
7496 racc (1.8.1 )
97+ rack (1.6.13 )
98+ rack-jekyll (0.5.0 )
99+ jekyll (>= 1.3 )
100+ listen (>= 1.3 )
101+ rack (~> 1.5 )
102+ rack-test (2.2.0 )
103+ rack (>= 1.3 )
104+ rackup (1.0.1 )
105+ rack (< 3 )
106+ webrick
75107 rainbow (3.1.1 )
76108 rake (13.2.1 )
77109 rb-fsevent (0.11.2 )
78110 rb-inotify (0.11.1 )
79111 ffi (~> 1.0 )
112+ regexp_parser (2.10.0 )
80113 rexml (3.3.9 )
81114 rouge (4.4.0 )
82115 rspec (3.13.0 )
94127 rspec-support (3.13.1 )
95128 rspec_junit_formatter (0.6.0 )
96129 rspec-core (>= 2 , < 4 , != 2.12.0 )
130+ rubyzip (2.4.1 )
97131 safe_yaml (1.0.5 )
98132 sass-embedded (1.80.6 )
99133 google-protobuf (~> 4.28 )
100134 rake (>= 13 )
135+ selenium-webdriver (4.33.0 )
136+ base64 (~> 0.2 )
137+ logger (~> 1.4 )
138+ rexml (~> 3.2 , >= 3.2.5 )
139+ rubyzip (>= 1.2.2 , < 3.0 )
140+ websocket (~> 1.0 )
101141 terminal-table (3.0.2 )
102142 unicode-display_width (>= 1.1.1 , < 3 )
103143 typhoeus (1.4.1 )
104144 ethon (>= 0.9.0 )
105145 unicode-display_width (2.6.0 )
106146 webrick (1.9.0 )
147+ websocket (1.2.11 )
148+ xpath (3.2.0 )
149+ nokogiri (~> 1.8 )
107150 yell (2.2.2 )
108151 zeitwerk (2.7.1 )
109152
110153PLATFORMS
111154 ruby
112155
113156DEPENDENCIES
157+ capybara
114158 html-proofer (~> 4.0 )
115159 jekyll (~> 4.3.0 )
116160 jekyll-redirect-from
117161 jekyll-sass-converter (~> 3.0.0 )
118162 jekyll-sitemap
119163 kramdown-parser-gfm (~> 1.0 )
120164 nokogiri (>= 1.10.5 )
165+ pry-byebug
166+ rack-jekyll
167+ rackup
121168 rspec
122169 rspec_junit_formatter
170+ selenium-webdriver
123171
124172RUBY VERSION
125173 ruby 3.2.5p208
126174
127175BUNDLED WITH
128- 2.5 .9
176+ 2.6 .9
Original file line number Diff line number Diff line change @@ -153,6 +153,7 @@ <h1 class="usa-display">{{ page.title }}</h1>
153153 < script src ="{{ site.baseurl }}/assets/js/toggle_view.js "> </ script >
154154 < script src ="{{ site.baseurl }}/assets/js/main.js "> </ script >
155155 < script src ="{{ site.baseurl }}/assets/js/anchor.js "> </ script >
156+ < script src ="{{ site.baseurl }}/assets/js/anchor_accordion.js "> </ script >
156157
157158 < script >
158159 anchors . add ( [
Original file line number Diff line number Diff line change 1+ ( ( ) => {
2+ const onChange = ( _event ) => {
3+ const urlHash = new URL ( document . URL ) . hash ;
4+ const idFromHash = urlHash . match ( / ^ ( # [ A - Z a - z 0 - 9 _ - ] + ) $ / ) ;
5+ if ( idFromHash ) {
6+ const accordionHeading = document . querySelector (
7+ `${ idFromHash [ 1 ] } .usa-accordion__heading > button` ,
8+ ) ;
9+ if ( accordionHeading ) {
10+ accordionHeading . click ( ) ;
11+ }
12+ }
13+ } ;
14+ document . addEventListener ( 'DOMContentLoaded' , onChange ) ;
15+ window . addEventListener ( 'hashchange' , onChange ) ;
16+ } ) ( ) ;
Original file line number Diff line number Diff line change 1+ require 'spec_helper'
2+ require 'capybara/rspec'
3+ require 'rack/jekyll'
4+ require 'selenium-webdriver'
5+ require 'yaml'
6+
7+ Capybara . javascript_driver = :selenium_chrome_headless
8+ Capybara . app = Rack ::Jekyll . new ( force_build : true )
9+ Capybara . server = :webrick
Original file line number Diff line number Diff line change 1+ require 'capybara_helper'
2+ require 'pry-byebug'
3+
4+ RSpec . describe 'accordions on /oidc/authorization/' , :js , type : :feature do
5+ it 'is not expanded by default' do
6+ visit '/oidc/authorization'
7+ expect ( page ) . to have_element ( 'dt' )
8+ expect ( page ) . to have_no_element ( 'dd' )
9+ accordion_button = find ( '#service_level button' )
10+ expect ( accordion_button . native . attribute ( 'aria-expanded' ) ) . to eq ( 'false' )
11+ end
12+
13+ it 'is expanded with an anchor in the URL' do
14+ visit '/oidc/authorization#service_level'
15+ expect ( page ) . to have_element ( 'dt' )
16+ expect ( page ) . to have_element ( 'dd' )
17+ definition = find ( '#service_level ~ dd' ) . text
18+ expect ( definition ) . to include ( 'acr.login.gov:verified' )
19+ accordion_button = find ( '#service_level > button' )
20+ expect ( accordion_button . native . attribute ( 'aria-expanded' ) ) . to eq ( 'true' )
21+
22+ visit '/oidc/authorization#aal_values'
23+ next_definition = find ( '#aal_values ~ dd' ) . text
24+ expect ( next_definition ) . to include ( 'http://idmanagement.gov/ns/assurance/aal/2' )
25+ end
26+ end
You can’t perform that action at this time.
0 commit comments