MDL-81581 moved assert_same_xml() into \question_testcase so any implementation a subclass must match this definition.
While removing type declarations for assert_same_xml()'s parameters would fix this, this PR additionally uses the parent's implementation if present, falling back to the existing implementation if if it isn't to avoid making the plugin dependent on Moodle versions >= 4.4.1. This is a little clunky but makes explicit that the core code change means the existing implementation is considered deprecated.
(In core, MDL-81581 removed qtype plugins' implementations of assert_same_xml(), but we can't do that without making qtype_pmatch dependent on Moodle >= 4.4.1).
MDL-81581 moved assert_same_xml() into \question_testcase so any implementation a subclass must match this definition.
While removing type declarations for assert_same_xml()'s parameters would fix this, this PR additionally uses the parent's implementation if present, falling back to the existing implementation if if it isn't to avoid making the plugin dependent on Moodle versions >= 4.4.1. This is a little clunky but makes explicit that the core code change means the existing implementation is considered deprecated.
(In core, MDL-81581 removed qtype plugins' implementations of assert_same_xml(), but we can't do that without making qtype_pmatch dependent on Moodle >= 4.4.1).