* Fix #2192 * Fix mock style property definitions * Re-instate camelCased style property key declaration support * Fix removeProperty, eslint fix * Stringify style keys: fix perf tests * Fix weird uncaught mixed whitespace * Fix weird uncaught mixed whitespace
This commit is contained in:
parent
d1c090efb7
commit
4c5968a526
4 changed files with 46 additions and 36 deletions
|
|
@ -227,29 +227,40 @@ module.exports = function(options) {
|
|||
createElement: function(tag) {
|
||||
var cssText = ""
|
||||
var style = {}
|
||||
Object.defineProperty(style, "cssText", {
|
||||
get: function() {return cssText},
|
||||
set: function (value) {
|
||||
var buf = []
|
||||
if (typeof value === "string") {
|
||||
for (var key in style) style[key] = ""
|
||||
var rules = splitDeclList(value)
|
||||
for (var i = 0; i < rules.length; i++) {
|
||||
var rule = rules[i]
|
||||
var colonIndex = rule.indexOf(":")
|
||||
if (colonIndex > -1) {
|
||||
var rawKey = rule.slice(0, colonIndex).trim()
|
||||
var key = rawKey.replace(/-\D/g, function(match) {return match[1].toUpperCase()})
|
||||
var value = rule.slice(colonIndex + 1).trim()
|
||||
if (key !== "cssText") {
|
||||
style[key] = value
|
||||
buf.push(rawKey + ": " + value + ";")
|
||||
Object.defineProperties(style, {
|
||||
cssText: {
|
||||
get: function() {return cssText},
|
||||
set: function (value) {
|
||||
var buf = []
|
||||
if (typeof value === "string") {
|
||||
for (var key in style) style[key] = ""
|
||||
var rules = splitDeclList(value)
|
||||
for (var i = 0; i < rules.length; i++) {
|
||||
var rule = rules[i]
|
||||
var colonIndex = rule.indexOf(":")
|
||||
if (colonIndex > -1) {
|
||||
var rawKey = rule.slice(0, colonIndex).trim()
|
||||
var key = rawKey.replace(/-\D/g, function(match) {return match[1].toUpperCase()})
|
||||
var value = rule.slice(colonIndex + 1).trim()
|
||||
if (key !== "cssText") {
|
||||
style[key] = value
|
||||
buf.push(rawKey + ": " + value + ";")
|
||||
}
|
||||
}
|
||||
}
|
||||
element.setAttribute("style", cssText = buf.join(" "))
|
||||
}
|
||||
element.setAttribute("style", cssText = buf.join(" "))
|
||||
}
|
||||
}
|
||||
},
|
||||
getPropertyValue: {value: function(key){
|
||||
return style[key]
|
||||
}},
|
||||
removeProperty: {value: function(key){
|
||||
style[key] = ""
|
||||
}},
|
||||
setProperty: {value: function(key, value){
|
||||
style[key] = value
|
||||
}}
|
||||
})
|
||||
var events = {}
|
||||
var element = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue