form_email.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. QUnit.test( "field type email check", assert => {
  2. $('#forms').append('<hr>' +
  3. '<h1>field type email check</h1>' +
  4. '<form id="form1">' +
  5. '</form>')
  6. var el = $('#form1')
  7. new App.ControllerForm({
  8. el: el,
  9. model: {
  10. configure_attributes: [
  11. {
  12. name: 'email',
  13. display: 'Email',
  14. tag: 'input',
  15. type: 'email',
  16. limit: 100,
  17. null: true
  18. },
  19. ]
  20. },
  21. autofocus: true
  22. });
  23. var input = el.find('[name="email"]');
  24. var validator = document.querySelector('input[name="email"]');
  25. [
  26. { value: 'acme.corp', valid: false },
  27. { value: 'john.doe', valid: false },
  28. { value: '@acme.corp', valid: false },
  29. { value: 'john.doe@', valid: false },
  30. { value: 'john.doe@acme.corp', valid: true },
  31. { value: 'john.döe@acme.corp', valid: true },
  32. { value: 'john.doe@äcme.corp', valid: true },
  33. { value: 'john.döe@äcme.corp', valid: true },
  34. { value: 'john.doe@бах.corp', valid: true },
  35. { value: 'john.doe@xn--cme-pla.corp', valid: true }
  36. ].forEach(verify);
  37. function verify(testee) {
  38. input.val(testee.value);
  39. valid = validator.checkValidity()
  40. assert.equal(testee.valid, valid, testee.value)
  41. }
  42. });