isbn.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. describe('isbn', function() {
  2. // Override the default options
  3. $.extend($.fn.bootstrapValidator.DEFAULT_OPTIONS, {
  4. feedbackIcons: {
  5. valid: 'glyphicon glyphicon-ok',
  6. invalid: 'glyphicon glyphicon-remove',
  7. validating: 'glyphicon glyphicon-refresh'
  8. }
  9. });
  10. beforeEach(function() {
  11. var html = [
  12. '<div class="container">',
  13. '<form class="form-horizontal" id="form">',
  14. '<div class="form-group">',
  15. '<input type="text" name="isbn" id="isbn" data-bv-isbn />',
  16. '</div>',
  17. '</form>',
  18. '</div>'
  19. ].join('\n');
  20. $(html).appendTo('body');
  21. $('#form').bootstrapValidator();
  22. this._bs = $('#form').data('bootstrapValidator');
  23. this._$field = this._bs.getFieldElements('isbn');
  24. });
  25. afterEach(function() {
  26. this._bs.destroy();
  27. $('#form').remove();
  28. });
  29. it('isbn10 hyphen', function() {
  30. var samples = ['99921-58-10-7', '9971-5-0210-0', '960-425-059-0', '80-902734-1-6'];
  31. for (var i in samples) {
  32. this._$field.val(samples[i]);
  33. this._bs.validate();
  34. expect(this._bs.isValidField('isbn')).toBeTruthy();
  35. }
  36. });
  37. it('isbn10 space', function() {
  38. var samples = ['85 359 0277 5', '1 84356 028 3', '0 684 84328 5', '0 85131 041 9', '0 943396 04 2'];
  39. for (var i in samples) {
  40. this._$field.val(samples[i]);
  41. this._bs.validate();
  42. expect(this._bs.isValidField('isbn')).toBeTruthy();
  43. }
  44. });
  45. it('isbn10 hyphen with X', function() {
  46. var samples = ['0-8044-2957-X', '0-9752298-0-X'];
  47. for (var i in samples) {
  48. this._$field.val(samples[i]);
  49. this._bs.validate();
  50. expect(this._bs.isValidField('isbn')).toBeTruthy();
  51. }
  52. });
  53. it('isbn10 invalid check digit', function() {
  54. this._$field.val('99921-58-10-6');
  55. this._bs.validate();
  56. expect(this._bs.isValidField('isbn')).toEqual(false);
  57. });
  58. it('isbn13', function() {
  59. this._$field.val('978-0-306-40615-7');
  60. this._bs.validate();
  61. expect(this._bs.isValidField('isbn')).toBeTruthy();
  62. });
  63. it('isbn13 invalid check digit', function() {
  64. this._$field.val('978-0-306-40615-6');
  65. this._bs.validate();
  66. expect(this._bs.isValidField('isbn')).toEqual(false);
  67. });
  68. });