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
|
// We don't care about the namespaces since the there
|
||||||
// is no chance that attributes with the same name will have
|
// is no chance that attributes with the same name will have
|
||||||
// different namespaces
|
// different namespaces
|
||||||
return this.$__attributes[name] !== undefined;
|
var value = this.$__attributes[name];
|
||||||
|
return value != null && value !== false;
|
||||||
},
|
},
|
||||||
|
|
||||||
getAttribute: function(name) {
|
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 jsdom = require("jsdom").jsdom;
|
||||||
var document = jsdom('<html><body></body></html>');
|
var document = jsdom('<html><body></body></html>');
|
||||||
|
|
||||||
var VElement = require('../runtime/vdom/VElement');
|
var vdom = require('../runtime/vdom/vdom');
|
||||||
var VText = require('../runtime/vdom/VText');
|
var VElement = vdom.$__VElement;
|
||||||
var VComment = require('../runtime/vdom/VComment');
|
var VText = vdom.$__VText;
|
||||||
var VDocumentFragment = require('../runtime/vdom/VDocumentFragment');
|
var VComment = vdom.$__VComment;
|
||||||
|
var VDocumentFragment = vdom.$__VDocumentFragment;
|
||||||
|
|
||||||
|
|
||||||
var vdomHelpers = {
|
var vdomHelpers = {
|
||||||
createElement: function(tagName, attrs, childCount, constId) {
|
createElement: function(tagName, attrs, childCount, constId) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user