describe('isbn', function() {
// Override the default options
$.extend($.fn.bootstrapValidator.DEFAULT_OPTIONS, {
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
}
});
beforeEach(function() {
var html = [
'
'
].join('\n');
$(html).appendTo('body');
$('#form').bootstrapValidator();
this._bs = $('#form').data('bootstrapValidator');
this._$field = this._bs.getFieldElements('isbn');
});
afterEach(function() {
this._bs.destroy();
$('#form').remove();
});
it('isbn10 hyphen', function() {
var samples = ['99921-58-10-7', '9971-5-0210-0', '960-425-059-0', '80-902734-1-6'];
for (var i in samples) {
this._$field.val(samples[i]);
this._bs.validate();
expect(this._bs.isValidField('isbn')).toBeTruthy();
}
});
it('isbn10 space', function() {
var samples = ['85 359 0277 5', '1 84356 028 3', '0 684 84328 5', '0 85131 041 9', '0 943396 04 2'];
for (var i in samples) {
this._$field.val(samples[i]);
this._bs.validate();
expect(this._bs.isValidField('isbn')).toBeTruthy();
}
});
it('isbn10 hyphen with X', function() {
var samples = ['0-8044-2957-X', '0-9752298-0-X'];
for (var i in samples) {
this._$field.val(samples[i]);
this._bs.validate();
expect(this._bs.isValidField('isbn')).toBeTruthy();
}
});
it('isbn10 invalid check digit', function() {
this._$field.val('99921-58-10-6');
this._bs.validate();
expect(this._bs.isValidField('isbn')).toEqual(false);
});
it('isbn13', function() {
this._$field.val('978-0-306-40615-7');
this._bs.validate();
expect(this._bs.isValidField('isbn')).toBeTruthy();
});
it('isbn13 invalid check digit', function() {
this._$field.val('978-0-306-40615-6');
this._bs.validate();
expect(this._bs.isValidField('isbn')).toEqual(false);
});
});