anorgatarrak-wordpress-theme/node_modules/cheerio/test/api/forms.js

121 lines
2.7 KiB
JavaScript

var expect = require('expect.js'),
cheerio = require('../..'),
forms = require('../fixtures').forms;
describe('$(...)', function() {
var $;
beforeEach(function() {
$ = cheerio.load(forms);
});
describe('.serializeArray', function() {
it('() : should get form controls', function() {
expect($('form#simple').serializeArray()).to.eql([
{
name: 'fruit',
value: 'Apple'
}
]);
});
it('() : should get nested form controls', function() {
expect($('form#nested').serializeArray()).to.have.length(2);
var data = $('form#nested').serializeArray();
data.sort(function (a, b) {
return a.value - b.value;
});
expect(data).to.eql([
{
name: 'fruit',
value: 'Apple'
},
{
name: 'vegetable',
value: 'Carrot'
}
]);
});
it('() : should not get disabled form controls', function() {
expect($('form#disabled').serializeArray()).to.eql([]);
});
it('() : should not get form controls with the wrong type', function() {
expect($('form#submit').serializeArray()).to.eql([
{
name: 'fruit',
value: 'Apple'
}
]);
});
it('() : should get selected options', function() {
expect($('form#select').serializeArray()).to.eql([
{
name: 'fruit',
value: 'Orange'
}
]);
});
it('() : should not get unnamed form controls', function() {
expect($('form#unnamed').serializeArray()).to.eql([
{
name: 'fruit',
value: 'Apple'
}
]);
});
it('() : should get multiple selected options', function() {
expect($('form#multiple').serializeArray()).to.have.length(2);
var data = $('form#multiple').serializeArray();
data.sort(function (a, b) {
return a.value - b.value;
});
expect(data).to.eql([
{
name: 'fruit',
value: 'Apple'
},
{
name: 'fruit',
value: 'Orange'
}
]);
});
it('() : should get individually selected elements', function() {
var data = $('form#nested input').serializeArray();
data.sort(function (a, b) {
return a.value - b.value;
});
expect(data).to.eql([
{
name: 'fruit',
value: 'Apple'
},
{
name: 'vegetable',
value: 'Carrot'
}
]);
});
it('() : should standardize line breaks', function() {
expect($('form#textarea').serializeArray()).to.eql([
{
name: 'fruits',
value: 'Apple\r\nOrange'
}
]);
});
});
});