From 6df15daafc1aa27b26a5ce11dbd7981043aedade Mon Sep 17 00:00:00 2001 From: Vladimir Enchev Date: Mon, 11 Jan 2016 13:10:55 +0200 Subject: [PATCH] Span colors fixed to accept known colors --- apps/tests/text/formatted-string-tests.ts | 19 +++++++++++++++++++ text/span-common.ts | 4 ++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/apps/tests/text/formatted-string-tests.ts b/apps/tests/text/formatted-string-tests.ts index 5c9ef10c6..a614a6cfe 100644 --- a/apps/tests/text/formatted-string-tests.ts +++ b/apps/tests/text/formatted-string-tests.ts @@ -66,4 +66,23 @@ export var test_FormattedTextProperty_IsChanged_When_SpanIsChanged = function () TKUnit.assert(formattedTextChanged === true, "FormattedText property is not changed."); TKUnit.assert(formattedString.spans.getItem(0).fontSize === expectedValue, "FormattedString internal span is not changed as expected"); +} + +export var test_FormattedTextProperty_DoNotCrash_When_KnownColorIsSetForForegroundColor = function () { + var formattedString = new formattedStringModule.FormattedString(); + var expectedValue1 = "red"; + var expectedValue2 = "blue"; + + var firstSpan = new spanModule.Span(); + firstSpan.foregroundColor = expectedValue1; + firstSpan.text = "LoremIpsum1"; + formattedString.spans.push(firstSpan); + + var secondSpan = new spanModule.Span(); + secondSpan.backgroundColor = expectedValue2; + secondSpan.text = "LoremIpsum2"; + formattedString.spans.push(secondSpan); + + TKUnit.assertEqual(formattedString.spans.getItem(0).foregroundColor.name, expectedValue1); + TKUnit.assertEqual(formattedString.spans.getItem(1).backgroundColor.name, expectedValue2); } \ No newline at end of file diff --git a/text/span-common.ts b/text/span-common.ts index f52826de9..768b8b566 100644 --- a/text/span-common.ts +++ b/text/span-common.ts @@ -49,8 +49,8 @@ export class Span extends bindable.Bindable implements definition.Span, view.App private _getColorValue(value: any): colorModule.Color { var result; - if (types.isString(value) && (value).indexOf("#") === 0) { - result = new colorModule.Color(value); + if (types.isString(value) && colorModule.Color.isValid(value)) { + result = new colorModule.Color(value); } else { result = value;