浏览代码

#275: Add test suite for destroy() method

nghuuphuoc 11 年之前
父节点
当前提交
f05432c7c6
共有 2 个文件被更改,包括 91 次插入0 次删除
  1. 46 0
      test/spec.js
  2. 45 0
      test/spec/api.js

+ 46 - 0
test/spec.js

@@ -1,3 +1,49 @@
+describe('api', function() {
+    // Override the options
+    $.extend($.fn.bootstrapValidator.DEFAULT_OPTIONS, {
+        feedbackIcons: {
+            valid: 'glyphicon glyphicon-ok',
+            invalid: 'glyphicon glyphicon-remove',
+            validating: 'glyphicon glyphicon-refresh'
+        }
+    });
+
+    beforeEach(function() {
+        $([
+            '<div class="container">',
+                '<form class="form-horizontal" id="apiForm">',
+                    '<div class="form-group">',
+                        '<input type="text" name="username" data-bv-notempty />',
+                    '</div>',
+                    '<div class="form-group">',
+                        '<input type="text" name="email" data-bv-emailaddress />',
+                    '</div>',
+                '</form>',
+            '</div>'
+        ].join('\n')).appendTo('body');
+
+        $('#apiForm').bootstrapValidator();
+
+        this.bv     = $('#apiForm').data('bootstrapValidator');
+        this.$email = this.bv.getFieldElements('email');
+    });
+
+    afterEach(function() {
+        $('#apiForm').bootstrapValidator('destroy').parent().remove();
+    });
+
+    it('destroy', function() {
+        this.bv.destroy();
+        expect($('#apiForm').data('bootstrapValidator')).toBeUndefined();
+        expect($('#apiForm').find('i[data-bv-icon-for]').length).toEqual(0);
+        expect($('#apiForm').find('.help-block[data-bv-for]').length).toEqual(0);
+        expect($('#apiForm').find('.has-feedback').length).toEqual(0);
+        expect($('#apiForm').find('.has-success').length).toEqual(0);
+        expect($('#apiForm').find('.has-error').length).toEqual(0);
+        expect($('#apiForm').find('[data-bv-field]').length).toEqual(0);
+    });
+});
+
 function onEmailValid(e, data) {
     $('#msg').html(data.field + ' is valid');
 };

+ 45 - 0
test/spec/api.js

@@ -0,0 +1,45 @@
+describe('api', function() {
+    // Override the options
+    $.extend($.fn.bootstrapValidator.DEFAULT_OPTIONS, {
+        feedbackIcons: {
+            valid: 'glyphicon glyphicon-ok',
+            invalid: 'glyphicon glyphicon-remove',
+            validating: 'glyphicon glyphicon-refresh'
+        }
+    });
+
+    beforeEach(function() {
+        $([
+            '<div class="container">',
+                '<form class="form-horizontal" id="apiForm">',
+                    '<div class="form-group">',
+                        '<input type="text" name="username" data-bv-notempty />',
+                    '</div>',
+                    '<div class="form-group">',
+                        '<input type="text" name="email" data-bv-emailaddress />',
+                    '</div>',
+                '</form>',
+            '</div>'
+        ].join('\n')).appendTo('body');
+
+        $('#apiForm').bootstrapValidator();
+
+        this.bv     = $('#apiForm').data('bootstrapValidator');
+        this.$email = this.bv.getFieldElements('email');
+    });
+
+    afterEach(function() {
+        $('#apiForm').bootstrapValidator('destroy').parent().remove();
+    });
+
+    it('destroy', function() {
+        this.bv.destroy();
+        expect($('#apiForm').data('bootstrapValidator')).toBeUndefined();
+        expect($('#apiForm').find('i[data-bv-icon-for]').length).toEqual(0);
+        expect($('#apiForm').find('.help-block[data-bv-for]').length).toEqual(0);
+        expect($('#apiForm').find('.has-feedback').length).toEqual(0);
+        expect($('#apiForm').find('.has-success').length).toEqual(0);
+        expect($('#apiForm').find('.has-error').length).toEqual(0);
+        expect($('#apiForm').find('[data-bv-field]').length).toEqual(0);
+    });
+});