message: cover radio buttons siblings classes application
diff: @@ -879,6 +879,34 @@ test('triggers initial validation for fields', async () => {
  expect(v.validate).toHaveBeenCalledWith(`#${field.id}`, '123');
  });
  +test('updates classes on related radio input fields', async () => {
  + function createRadio (val) {
  + const el = document.createElement('input');
  + el.name = 'myinput';
  + el.type = 'radio';
  + el.value = val;
  +
  + document.body.appendChild(el);
  + return el;
  + }
  + const v = new Validator();
  + const el = createRadio('1');
  + const el2 = createRadio('2');
  + const el3 = createRadio('3');
  +
  + const field = v.attach({ name: 'field', rules: 'required', el, classes: true });
  + expect(await v.validate(`#${field.id}`)).toBe(false);
  + expect(el.classList.contains('invalid')).toBe(true);
  + expect(el2.classList.contains('invalid')).toBe(true);
  + expect(el3.classList.contains('invalid')).toBe(true);
  +
  + el.checked = true;
  + expect(await v.validate(`#${field.id}`, '1')).toBe(true);
  + expect(el.classList.contains('valid')).toBe(true);
  + expect(el2.classList.contains('valid')).toBe(true);
  + expect(el3.classList.contains('valid')).toBe(true);
  +});
  +
  test('validates multi-valued promises', async () => {
  Validator.extend('many_promise', () => {
  return new Promise(resolve => {
  