diff --git a/lib/scope.js b/lib/scope.js index becc1cf2..94957ab2 100644 --- a/lib/scope.js +++ b/lib/scope.js @@ -557,9 +557,9 @@ module.exports = { }, continue_button_selector: `fieldset.da-field-buttons button[type="submit"].btn-primary`, - continue_button_selector_backup: `.da-fieldset.da-field-buttons button[type="submit"].btn-primary`, + continue_button_selector_backup: `.da-fieldset.da-field-buttons button[type="submit"].btn-primary, .da-button-set.da-field-buttons button[type="submit"].btn-primary`, signature_selector: `fieldset .dasigsave`, - signature_selector_backup: `.da-fieldset .dasigsave`, + signature_selector_backup: `.da-fieldset .dasigsave, .da-button-set .dasigsave`, continue: async function ( scope ) { /* Presses whatever button it finds that might lead to the next page. */ // Any selectors I find seem somewhat precarious. @@ -963,7 +963,7 @@ module.exports = { // All the different types of fields // buttons, canvases, inputs of all kinds, selects (dropdowns), textareas. Are there more? // Will deal with `option` once inside `select` - let all_nodes = $( `#dasigpage, fieldset button, .da-fieldset button, .daquestionactionbutton, fieldset input, da-fieldset input, .da-form-group input, .da-form-group select, form select, .da-form-group textarea` ); + let all_nodes = $( `#dasigpage, fieldset button, .da-fieldset button, .da-button-set button, .daquestionactionbutton, fieldset input, da-fieldset input, .da-form-group input, .da-form-group select, form select, .da-form-group textarea` ); for ( let node of all_nodes ) { // Decision: Do not abstract the below. There's too much data to pass around for it to make sense let $node = $( node ); diff --git a/tests/unit_tests/getAllFields.test.js b/tests/unit_tests/getAllFields.test.js index a06009f5..76b6653d 100644 --- a/tests/unit_tests/getAllFields.test.js +++ b/tests/unit_tests/getAllFields.test.js @@ -170,3 +170,11 @@ it(`creates the right data for a question whose table will have mixed quotes`, a let result = await getAllFields( scope, { html: html.mixed_quotes }); expect( result ).to.deep.equalInAnyOrder( fields.mixed_quotes ); }); + +for (const fixture of ['button_continue', 'buttons_yesnomaybe', 'buttons_other']) { + it(`recognizes docassemble 1.10 div button groups: ${fixture}`, async function() { + const markup = html[fixture].replace(/