@@ -36,6 +36,62 @@ public function testDuplicateSubmitButtonApplied(): void
3636 $ this ->assertHtml ($ expected , $ this ->form );
3737 }
3838
39+ public function testSubmitElementDuplication (): void
40+ {
41+ $ this ->form ->addElement ('submit ' , 'submit ' , [
42+ 'label ' => 'Submit label ' ,
43+ 'class ' => 'btn-primary '
44+ ]);
45+ $ this ->form ->addElement ('submit ' , 'delete ' , [
46+ 'label ' => 'Delete label ' ,
47+ 'class ' => 'btn-danger '
48+ ]);
49+ $ this ->form ->setSubmitButton ($ this ->form ->getElement ('submit ' ));
50+
51+ $ expected = <<<'HTML'
52+ <form class="icinga-form icinga-controls" method="POST">
53+ <input class="primary-submit-btn-duplicate" name="submit" type="submit" value="Submit label"/>
54+ <div class="control-group form-controls">
55+ <input class="btn-primary btn-primary" name="submit" type="submit" value="Submit label"/>
56+ </div>
57+ <div class="control-group form-controls">
58+ <input class="btn-danger btn-primary" name="delete" type="submit" value="Delete label"/>
59+ </div>
60+ </form>
61+ HTML;
62+
63+ $ this ->assertHtml ($ expected , $ this ->form );
64+ }
65+
66+
67+ public function testSubmitButtonElementDuplication (): void
68+ {
69+ $ this ->form ->addElement ('submitButton ' , 'submit ' , [
70+ 'label ' => 'Submit label ' ,
71+ 'class ' => 'btn-primary ' ,
72+ 'value ' => 'submit_value '
73+ ]);
74+ $ this ->form ->addElement ('submitButton ' , 'delete ' , [
75+ 'label ' => 'Delete label ' ,
76+ 'class ' => 'btn-danger '
77+ ]);
78+ $ this ->form ->setSubmitButton ($ this ->form ->getElement ('submit ' ));
79+
80+ $ expected = <<<'HTML'
81+ <form class="icinga-form icinga-controls" method="POST">
82+ <button class="primary-submit-btn-duplicate" name="submit" type="submit" value="submit_value" />
83+ <div class="control-group form-controls">
84+ <button class="btn-primary btn-primary" name="submit" type="submit" value="submit_value">Submit label</button>
85+ </div>
86+ <div class="control-group form-controls">
87+ <button class="btn-danger btn-primary" name="delete" type="submit" value="y">Delete label</button>
88+ </div>
89+ </form>
90+ HTML;
91+
92+ $ this ->assertHtml ($ expected , $ this ->form );
93+ }
94+
3995 public function testDuplicateSubmitButtonOmitted (): void
4096 {
4197 $ this ->form ->addElement ('submit ' , 'submitCreate ' );
0 commit comments