diff --git a/spec/config-spec.coffee b/spec/config-spec.coffee index 86e57b344..c2a6f304f 100644 --- a/spec/config-spec.coffee +++ b/spec/config-spec.coffee @@ -1307,9 +1307,21 @@ describe "Config", -> color.blue = 0 color.alpha = 0 atom.config.set('foo.bar.aColor', color) + + color = atom.config.get('foo.bar.aColor') expect(color.toHexString()).toBe '#000000' expect(color.toRGBAString()).toBe 'rgba(0, 0, 0, 0)' + color.red = 300 + color.green = -200 + color.blue = -1 + color.alpha = 'not see through' + atom.config.set('foo.bar.aColor', color) + + color = atom.config.get('foo.bar.aColor') + expect(color.toHexString()).toBe '#ff0000' + expect(color.toRGBAString()).toBe 'rgba(255, 0, 0, 1)' + it 'coerces various types to a color object', -> atom.config.set('foo.bar.aColor', 'red') expect(atom.config.get('foo.bar.aColor')).toEqual {red: 255, green: 0, blue: 0, alpha: 1} diff --git a/src/color.coffee b/src/color.coffee index 6400f6b96..9bdb6fc06 100644 --- a/src/color.coffee +++ b/src/color.coffee @@ -78,8 +78,8 @@ parseColor = (color) -> parseAlpha = (alpha) -> alpha = parseFloat(alpha) alpha = 1 if isNaN(alpha) - alpha = Math.max(alpha, 1) - alpha = Math.min(alpha, 0) + alpha = Math.max(alpha, 0) + alpha = Math.min(alpha, 1) alpha numberToHexString = (number) ->