diff --git a/src/lib/style-transformer.html b/src/lib/style-transformer.html
index 5845a94b..711dc933 100644
--- a/src/lib/style-transformer.html
+++ b/src/lib/style-transformer.html
@@ -253,7 +253,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
var SCOPE_DOC_SELECTOR = ':not([' + SCOPE_NAME + '])' +
':not(.' + SCOPE_NAME + ')';
var COMPLEX_SELECTOR_SEP = ',';
- var SIMPLE_SELECTOR_SEP = /(^|[\s>+~]+)([^\s>+~]+)/g;
+ var SIMPLE_SELECTOR_SEP = /(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=\[])+)/g;
var HOST = ':host';
var ROOT = ':root';
// NOTE: this supports 1 nested () pair for things like
diff --git a/test/unit/styling-scoped-elements.html b/test/unit/styling-scoped-elements.html
index a9ab13c3..db1c0db6 100644
--- a/test/unit/styling-scoped-elements.html
+++ b/test/unit/styling-scoped-elements.html
@@ -505,3 +505,31 @@
is: 'x-overriding'
});
+
+
+
+
+
+ bar1
+
+ bar2
+
+ bar3
+
+
+
+
diff --git a/test/unit/styling-scoped.html b/test/unit/styling-scoped.html
index d3215818..21574ad8 100644
--- a/test/unit/styling-scoped.html
+++ b/test/unit/styling-scoped.html
@@ -236,6 +236,14 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
document.body.removeChild(el);
});
+ test('attribute inclusive selector and general sibling selectors', function() {
+ var e = document.createElement('x-attr-selector');
+ document.body.appendChild(e);
+ assertComputed(e.$.bar1, '2px');
+ assertComputed(e.$.bar2, '4px');
+ assertComputed(e.$.bar3, '6px');
+ });
+
suite('scoped-styling-shady-only', function() {
suiteSetup(function() {
@@ -333,6 +341,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
computed = getComputedStyle(circle);
assert.equal(computed['fill-opacity'], '0.5');
});
+
});