FLEX-34876 - Add unit test which reproducing the issue
diff --git a/automation_tests/src/AllTestsSuite.as b/automation_tests/src/AllTestsSuite.as
index 933cb2c..8843dc1 100644
--- a/automation_tests/src/AllTestsSuite.as
+++ b/automation_tests/src/AllTestsSuite.as
@@ -48,6 +48,7 @@
     import UnitTest.Tests.MeasurementTest;
     import UnitTest.Tests.OperationTest;
     import UnitTest.Tests.ParagraphTest;
+    import UnitTest.Tests.PasteWithMutliParagraph_FLEX_34876_Test;
     import UnitTest.Tests.ScrollToRangeTest;
     import UnitTest.Tests.ScrollingTest;
     import UnitTest.Tests.SelectionTest;
@@ -110,6 +111,7 @@
         public var measurementTest:MeasurementTest;
         public var leadingTest:LeadingTest;
         public var scrollToRangeTest:ScrollToRangeTest;
+        public var pasteWithMultiParagraph:PasteWithMutliParagraph_FLEX_34876_Test;
     }
 
 }
diff --git a/automation_tests/src/UnitTest/Tests/PasteWithMutliParagraph_FLEX_34876_Test.as b/automation_tests/src/UnitTest/Tests/PasteWithMutliParagraph_FLEX_34876_Test.as
new file mode 100644
index 0000000..e17ed4d
--- /dev/null
+++ b/automation_tests/src/UnitTest/Tests/PasteWithMutliParagraph_FLEX_34876_Test.as
@@ -0,0 +1,113 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package UnitTest.Tests
+{
+    import UnitTest.ExtendedClasses.VellumTestCase;
+    import UnitTest.Fixtures.TestConfig;
+
+    import flash.text.engine.ContentElement;
+    import flash.text.engine.ElementFormat;
+    import flash.text.engine.TextBlock;
+    import flash.text.engine.TextLine;
+
+    import flashx.textLayout.compose.TextFlowLine;
+    import flashx.textLayout.conversion.TextConverter;
+    import flashx.textLayout.edit.EditManager;
+    import flashx.textLayout.edit.TextClipboard;
+    import flashx.textLayout.edit.TextScrap;
+    import flashx.textLayout.elements.ParagraphElement;
+    import flashx.textLayout.elements.SpanElement;
+    import flashx.textLayout.elements.TextFlow;
+    import flashx.textLayout.tlf_internal;
+
+    import org.flexunit.asserts.assertTrue;
+
+    use namespace tlf_internal;
+
+    [TestCase(order=44)]
+    public class PasteWithMutliParagraph_FLEX_34876_Test extends VellumTestCase
+    {
+        private const inputString:String = "line 1\nline 2\nline 3\nline 4\nline 5";
+        private const spanColor:uint = 0xFF0000;
+        private const spanFontSize:int = 20;
+
+        public function PasteWithMutliParagraph_FLEX_34876_Test()
+        {
+            super("", "PasteWithMutliParagraph_FLEX_34876_Test", TestConfig.getInstance());
+
+            metaData = {};
+        }
+
+        [Before]
+        override public function setUpTest():void
+        {
+            super.setUpTest();
+        }
+
+        [After]
+        public override function tearDownTest():void
+        {
+             super.tearDownTest();
+        }
+
+        [Test]
+        public function multiLinePasteElementFormatCheckTest():void
+        {
+            reproduceIssueFlex_34876();
+
+            var textFlowNumLines:int = SelManager.textFlow.flowComposer.numLines;
+            var textFlowLine:TextFlowLine = null;
+            var textLine:TextLine = null;
+            var textBlock:TextBlock = null;
+            var contentElement:ContentElement = null;
+            var elementFormat:ElementFormat = null;
+
+            for (var i:int = 0; i < textFlowNumLines; i++)
+            {
+                textFlowLine = SelManager.textFlow.flowComposer.getLineAt(i);
+                textLine = textFlowLine.getTextLine();
+                textBlock = textLine.textBlock;
+                contentElement = textBlock.content;
+                elementFormat = contentElement.elementFormat;
+
+                assertTrue("Text color for TextFlowLine was not applied correctly", elementFormat.color == spanColor);
+                assertTrue("Font size for TextFlowLine was not applied correctly", elementFormat.fontSize == spanFontSize);
+            }
+        }
+
+        private function reproduceIssueFlex_34876():void
+        {
+            setUpFlowForTest(new TextFlow());
+
+            var para:ParagraphElement = new ParagraphElement();
+            var span:SpanElement = new SpanElement();
+            span.color = spanColor;
+            span.fontSize = spanFontSize;
+
+            para.addChild(span);
+            SelManager.textFlow.addChild(para);
+            (SelManager.textFlow.interactionManager as EditManager).selectAll();
+
+            var multiLineScrap:TextScrap = TextClipboard.importToScrap(inputString, TextConverter.PLAIN_TEXT_FORMAT);
+
+            (SelManager.textFlow.interactionManager as EditManager).pasteTextScrap(multiLineScrap);
+
+        }
+    }
+}