mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
Fixes #551 - <Select> is not working properly
This commit is contained in:
parent
eb7fe13474
commit
b9871ae422
@ -172,7 +172,8 @@ VElement.prototype = {
|
||||
// We don't care about the namespaces since the there
|
||||
// is no chance that attributes with the same name will have
|
||||
// different namespaces
|
||||
return this.$__attributes[name] !== undefined;
|
||||
var value = this.$__attributes[name];
|
||||
return value != null && value !== false;
|
||||
},
|
||||
|
||||
getAttribute: function(name) {
|
||||
|
||||
@ -0,0 +1 @@
|
||||
<OPTION selected="">
|
||||
@ -0,0 +1,9 @@
|
||||
var expect = require('chai').expect;
|
||||
|
||||
module.exports = function(helpers) {
|
||||
var virtualEl = helpers.vdom.createElement('option', { selected: '' });
|
||||
|
||||
expect(virtualEl.hasAttributeNS(null, 'selected')).to.equal(true);
|
||||
|
||||
return virtualEl.actualize(helpers.document);
|
||||
};
|
||||
@ -0,0 +1 @@
|
||||
<OPTION>
|
||||
9
test/autotests/vdom-create/hasAttributeNS-false/index.js
Normal file
9
test/autotests/vdom-create/hasAttributeNS-false/index.js
Normal file
@ -0,0 +1,9 @@
|
||||
var expect = require('chai').expect;
|
||||
|
||||
module.exports = function(helpers) {
|
||||
var virtualEl = helpers.vdom.createElement('option', { selected: false });
|
||||
|
||||
expect(virtualEl.hasAttributeNS(null, 'selected')).to.equal(false);
|
||||
|
||||
return virtualEl.actualize(helpers.document);
|
||||
};
|
||||
@ -0,0 +1 @@
|
||||
<OPTION>
|
||||
9
test/autotests/vdom-create/hasAttributeNS-null/index.js
Normal file
9
test/autotests/vdom-create/hasAttributeNS-null/index.js
Normal file
@ -0,0 +1,9 @@
|
||||
var expect = require('chai').expect;
|
||||
|
||||
module.exports = function(helpers) {
|
||||
var virtualEl = helpers.vdom.createElement('option', { selected: null });
|
||||
|
||||
expect(virtualEl.hasAttributeNS(null, 'selected')).to.equal(false);
|
||||
|
||||
return virtualEl.actualize(helpers.document);
|
||||
};
|
||||
@ -0,0 +1 @@
|
||||
<OPTION selected="0">
|
||||
@ -0,0 +1,9 @@
|
||||
var expect = require('chai').expect;
|
||||
|
||||
module.exports = function(helpers) {
|
||||
var virtualEl = helpers.vdom.createElement('option', { selected: 0 });
|
||||
|
||||
expect(virtualEl.hasAttributeNS(null, 'selected')).to.equal(true);
|
||||
|
||||
return virtualEl.actualize(helpers.document);
|
||||
};
|
||||
@ -0,0 +1 @@
|
||||
<OPTION selected="1">
|
||||
@ -0,0 +1,9 @@
|
||||
var expect = require('chai').expect;
|
||||
|
||||
module.exports = function(helpers) {
|
||||
var virtualEl = helpers.vdom.createElement('option', { selected: 1 });
|
||||
|
||||
expect(virtualEl.hasAttributeNS(null, 'selected')).to.equal(true);
|
||||
|
||||
return virtualEl.actualize(helpers.document);
|
||||
};
|
||||
@ -0,0 +1 @@
|
||||
<OPTION selected="">
|
||||
9
test/autotests/vdom-create/hasAttributeNS-true/index.js
Normal file
9
test/autotests/vdom-create/hasAttributeNS-true/index.js
Normal file
@ -0,0 +1,9 @@
|
||||
var expect = require('chai').expect;
|
||||
|
||||
module.exports = function(helpers) {
|
||||
var virtualEl = helpers.vdom.createElement('option', { selected: true });
|
||||
|
||||
expect(virtualEl.hasAttributeNS(null, 'selected')).to.equal(true);
|
||||
|
||||
return virtualEl.actualize(helpers.document);
|
||||
};
|
||||
@ -0,0 +1 @@
|
||||
<OPTION>
|
||||
@ -0,0 +1,9 @@
|
||||
var expect = require('chai').expect;
|
||||
|
||||
module.exports = function(helpers) {
|
||||
var virtualEl = helpers.vdom.createElement('option', { selected: undefined });
|
||||
|
||||
expect(virtualEl.hasAttributeNS(null, 'selected')).to.equal(false);
|
||||
|
||||
return virtualEl.actualize(helpers.document);
|
||||
};
|
||||
@ -6,10 +6,12 @@ var toHTML = require('./util/toHTML');
|
||||
var jsdom = require("jsdom").jsdom;
|
||||
var document = jsdom('<html><body></body></html>');
|
||||
|
||||
var VElement = require('../runtime/vdom/VElement');
|
||||
var VText = require('../runtime/vdom/VText');
|
||||
var VComment = require('../runtime/vdom/VComment');
|
||||
var VDocumentFragment = require('../runtime/vdom/VDocumentFragment');
|
||||
var vdom = require('../runtime/vdom/vdom');
|
||||
var VElement = vdom.$__VElement;
|
||||
var VText = vdom.$__VText;
|
||||
var VComment = vdom.$__VComment;
|
||||
var VDocumentFragment = vdom.$__VDocumentFragment;
|
||||
|
||||
|
||||
var vdomHelpers = {
|
||||
createElement: function(tagName, attrs, childCount, constId) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user