diff --git a/src/css_composer/model/CssRule.js b/src/css_composer/model/CssRule.js index b08a5f331..a7384f74d 100644 --- a/src/css_composer/model/CssRule.js +++ b/src/css_composer/model/CssRule.js @@ -178,13 +178,10 @@ export default Backbone.Model.extend(Styleable).extend({ var wd = width || ''; var selectorsAdd = ruleProps.selectorsAdd || ''; var atRuleType = ruleProps.atRuleType || ''; - var cId = 'cid'; - //var a1 = _.pluck(selectors.models || selectors, cId); - //var a2 = _.pluck(this.get('selectors').models, cId); if (!(selectors instanceof Array) && !selectors.models) selectors = [selectors]; - var a1 = map(selectors.models || selectors, model => model.get('name')); - var a2 = map(this.get('selectors').models, model => model.get('name')); + var a1 = map(selectors.models || selectors, model => model.getFullName()); + var a2 = map(this.get('selectors').models, model => model.getFullName()); var f = false; if (a1.length !== a2.length) return f; diff --git a/test/specs/css_composer/index.js b/test/specs/css_composer/index.js index b00c1f828..1ee273b73 100644 --- a/test/specs/css_composer/index.js +++ b/test/specs/css_composer/index.js @@ -321,5 +321,25 @@ describe('Css Composer', () => { }); expect(obj.getAll().length).toEqual(toTest.length); }); + + test('Get the right rule, containg similar selector names', () => { + const all = obj.getAll(); + const name = 'rule-test'; + const selClass = `.${name}`; + const selId = `#${name}`; + const decl = `{colore:red;}`; + all.add(`${selClass}${decl} ${selId}${decl}`); + expect(all.length).toBe(2); + const ruleClass = all.at(0); + const ruleId = all.at(1); + // Pre-check + expect(ruleClass.selectorsToString()).toBe(selClass); + expect(ruleId.selectorsToString()).toBe(selId); + expect(ruleClass.toCSS()).toBe(`${selClass}${decl}`); + expect(ruleId.toCSS()).toBe(`${selId}${decl}`); + // Check the get with the right rule + expect(obj.get(ruleClass.getSelectors())).toBe(ruleClass); + expect(obj.get(ruleId.getSelectors())).toBe(ruleId); + }); }); });