diff --git a/src/model/Color.ts b/src/model/Color.ts index e247a4260..426c2a5a0 100644 --- a/src/model/Color.ts +++ b/src/model/Color.ts @@ -119,7 +119,8 @@ export class Color { throw new FormatError('No values specified for rgb/rgba function'); } - const numbers = json.substring(start + 1, end - start - 1).split(','); + const numbers = json.substring(start + 1, end).split(','); + if (numbers.length === 3) { return new Color(parseInt(numbers[0]), parseInt(numbers[1]), parseInt(numbers[2])); } diff --git a/test/model/Color.test.ts b/test/model/Color.test.ts new file mode 100644 index 000000000..b4714b481 --- /dev/null +++ b/test/model/Color.test.ts @@ -0,0 +1,9 @@ +import { Color } from "@src/model/Color"; + +describe('ColorTests', () => { + it('fromJson-rgb', () => { + const color = Color.fromJson('rgb(0,0,0)'); + + expect(color!.rgba).toEqual('#000000'); + }); +});