Migrate SpacingTest to FU 4
Move SingleContainer class to helper package.
diff --git a/automation_tests/src/AllTestsSuite.as b/automation_tests/src/AllTestsSuite.as
index cf1c29e..708c768 100644
--- a/automation_tests/src/AllTestsSuite.as
+++ b/automation_tests/src/AllTestsSuite.as
@@ -43,6 +43,7 @@
import UnitTest.Tests.KeyboardGestureTest;
import UnitTest.Tests.OperationTest;
import UnitTest.Tests.ScrollingTest;
+ import UnitTest.Tests.SpacingTest;
import UnitTest.Tests.TabTest;
import UnitTest.Tests.TextFlowEditTest;
import UnitTest.Tests.UndoRedoTest;
@@ -80,6 +81,7 @@
public var impliedParagraphTest:ImpliedParagraphTest;
public var importApiTest:ImportAPITest;
public var keyboardGestureTest:KeyboardGestureTest;
+ public var spacingTest:SpacingTest;
}
}
diff --git a/automation_tests/src/UnitTest/Helpers/SingleContainer.as b/automation_tests/src/UnitTest/Helpers/SingleContainer.as
new file mode 100644
index 0000000..db4b50f
--- /dev/null
+++ b/automation_tests/src/UnitTest/Helpers/SingleContainer.as
@@ -0,0 +1,211 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.Helpers
+{
+ import flash.display.Sprite;
+ import flash.events.Event;
+ import flash.events.MouseEvent;
+ import flash.system.System;
+ import flash.text.TextField;
+ import flash.text.TextFormat;
+
+ import flashx.textLayout.container.ContainerController;
+ import flashx.textLayout.edit.EditManager;
+ import flashx.textLayout.elements.DivElement;
+ import flashx.textLayout.elements.InlineGraphicElement;
+ import flashx.textLayout.elements.ParagraphElement;
+ import flashx.textLayout.elements.SpanElement;
+ import flashx.textLayout.elements.TextFlow;
+ import flashx.textLayout.tlf_internal;
+ import flashx.undo.UndoManager;
+
+ use namespace tlf_internal;
+
+ [SWF(width="500", height="700", backgroundColor="#FFFFFF")]
+
+ public class SingleContainer extends Sprite
+ {
+
+ protected var tf:TextFlow;
+ protected var em:EditManager;
+ protected var um:UndoManager
+ protected var _bg:Sprite;
+ protected var _spr:Sprite;
+ protected var _cc:ContainerController;
+ protected var _btn:Sprite;
+ protected var _playing:Boolean = false;
+ protected var _count:int = 0;
+
+ protected var _graph:Sprite;
+ protected var _print_out:TextField;
+ protected var _last_time:Date = new Date();
+ protected var _last_five:Array = [];
+
+ public function SingleContainer()
+ {
+
+ // stage.scaleMode = StageScaleMode.NO_SCALE;
+ // stage.align = StageAlign.TOP_LEFT;
+
+ var cw:Number = 200; // the container width
+ var ch:Number = 600; // the container height
+
+ _bg = new Sprite();
+ _bg.graphics.lineStyle(.25, 0);
+ _bg.graphics.drawRect(0, 0, cw, ch);
+ addChild(_bg);
+
+ _spr = new Sprite();
+ addChild(_spr);
+
+ _graph = new Sprite();
+ _graph.x = cw + 10;
+ _graph.y = 250;
+ addChild(_graph);
+
+ _print_out = new TextField();
+ var fmt:TextFormat = _print_out.defaultTextFormat;
+ fmt.font = "_sans";
+ _print_out.wordWrap = true;
+ _print_out.multiline = true;
+ // _print_out.width = stage.stageWidth - (10 + _graph.x);
+ _print_out.x = _graph.x;
+ _print_out.y = _graph.y + 10;
+ addChild(_print_out);
+
+ //define TextFlow and manager objects
+ tf = new TextFlow();
+ um = new UndoManager();
+ em = new EditManager(um);
+ tf.interactionManager = em;
+
+ //compose TextFlow to display
+ _cc = new ContainerController(_spr, cw, ch);
+ //_cc.verticalAlign = VerticalAlign.BOTTOM;
+ //_cc.verticalScrollPolicy = ScrollPolicy.ON;
+ tf.flowComposer.addController(_cc);
+ tf.flowComposer.updateAllControllers();
+
+ //make a button to add Inline Graphic elements
+ _btn = new Sprite();
+ _btn.graphics.beginFill(0xFF0000, 1);
+ _btn.graphics.drawRect(0, 0, 120, 30);
+ addChild(_btn);
+ _btn.addEventListener(MouseEvent.CLICK, btnClicked);
+ _btn.y = 600;
+
+ addMessage("1");
+ addMessage("2");
+ addMessage("3", true);
+
+ }
+
+ public function addMessage(msg:String, add_image:Boolean = false):void
+ {
+ //define elements to contain text
+ var d:DivElement = new DivElement();
+ var p:ParagraphElement = new ParagraphElement();
+ var s:SpanElement = new SpanElement();
+ s.text = msg;
+ //add these elements to the TextFlow
+ p.addChild(s);
+ d.addChild(p);
+ if (add_image)
+ {
+ var sp:Sprite = new Sprite();
+ sp.graphics.beginFill(0xFFCC00);
+ sp.graphics.drawRect(0, 0, 100, 20);
+ var i:InlineGraphicElement = new InlineGraphicElement();
+ i.source = sp;
+ i.width = 100;
+ i.height = 20;
+ p.addChild(i);
+ }
+ tf.addChild(d);
+ tf.flowComposer.updateAllControllers();
+ _cc.verticalScrollPosition = _cc.getContentBounds().height;
+ tf.flowComposer.updateAllControllers();
+ }
+
+ protected function btnClicked(e:MouseEvent):void
+ {
+ _playing = !_playing;
+ removeEventListener(Event.ENTER_FRAME, onEnterFrame);
+ if (_playing)
+ {
+ addEventListener(Event.ENTER_FRAME, onEnterFrame);
+ }
+ }
+
+ protected function onEnterFrame(e:Event):void
+ {
+ _count++;
+
+ if (_count > 100)
+ {
+ tf.removeChildAt(0);
+ }
+
+ addMessage("Message Number: " + _count + " " + randomString());
+ printOut()
+ }
+
+ protected function printOut():void
+ {
+ var now:Date = new Date();
+ var tm:Number = (now.getTime() - _last_time.getTime());
+ _last_five.push(tm);
+ if (_last_five.length > 10) _last_five.shift();
+ var avg_tm:Number = 0;
+ for (var i:int = 0; i < _last_five.length; i++) avg_tm += _last_five[i];
+ avg_tm = Math.round(avg_tm / _last_five.length);
+ var elapsed_str:String = "message: \t\t\t" + _count
+ + "\ntime: \t\t\t\t" + tm + "ms"
+ + "\navg of last 10:\t\t" + avg_tm + "ms";
+ //trace(elapsed_str );
+ _print_out.text = elapsed_str;
+ _last_time = now;
+ drawGraph(tm);
+ }
+
+ protected function drawGraph(tm:Number):void
+ {
+ if (_count % 5 == 0)
+ {
+ _graph.graphics.beginFill(0x0);
+ _graph.graphics.drawRect(_count / 10, -Math.round(tm / 10), 1, 1);
+ _graph.graphics.beginFill(0xFF0000);
+ _graph.graphics.drawRect(_count / 10, -Math.round(System.totalMemory / 1000000), 1, 1);
+ }
+ }
+
+ protected function randomString():String
+ {
+ var chars:String = "abcdefghijklmnopqrstuvwzyz ";
+ var chars_len:Number = chars.length;
+ var random_str:String = "";
+ var num_chars:Number = Math.round(Math.random() * 100);
+ for (var i:int = 0; i < num_chars; i++)
+ {
+ random_str = random_str + chars.charAt(Math.round(Math.random() * chars_len));
+ }
+ return random_str;
+ }
+ }
+}
\ No newline at end of file
diff --git a/automation_tests/src/UnitTest/Tests/ScrollingTest.as b/automation_tests/src/UnitTest/Tests/ScrollingTest.as
index 6ca0e41..e530c07 100644
--- a/automation_tests/src/UnitTest/Tests/ScrollingTest.as
+++ b/automation_tests/src/UnitTest/Tests/ScrollingTest.as
@@ -32,6 +32,7 @@
import UnitTest.ExtendedClasses.VellumTestCase;
import UnitTest.Fixtures.TestCaseVo;
import UnitTest.Fixtures.TestConfig;
+ import UnitTest.Helpers.SingleContainer;
import flash.display.Shape;
import flash.display.Sprite;
@@ -558,7 +559,7 @@
}
}
- private var singleCT:SingleContainerTest = new SingleContainerTest();
+ private var singleCT:SingleContainer = new SingleContainer();
/**
* mjzhang : Watson#2819924 Error #1009 in flashx.textLayout.container::ContainerController::updateGraphics()
diff --git a/automation_tests/src/UnitTest/Tests/SimpleTest.as b/automation_tests/src/UnitTest/Tests/SimpleTest.as
deleted file mode 100644
index da26661..0000000
--- a/automation_tests/src/UnitTest/Tests/SimpleTest.as
+++ /dev/null
@@ -1,48 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// 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 org.flexunit.asserts.assertTrue;
-
- public class SimpleTest
- {
- public function SimpleTest()
- {
- }
-
- [Before]
- public function setUp() : void
- {
- var ddd:Object = null;
- }
-
- [After]
- public function tearDown():void
- {
- var ddd:Object = null;
- }
-
- [Test]
- public function myTest():void
- {
- assertTrue(true);
- }
- }
-}
diff --git a/automation_tests/src/UnitTest/Tests/SingleContainerTest.as b/automation_tests/src/UnitTest/Tests/SingleContainerTest.as
deleted file mode 100644
index d575685..0000000
--- a/automation_tests/src/UnitTest/Tests/SingleContainerTest.as
+++ /dev/null
@@ -1,206 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// 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 flash.display.Sprite;
- import flash.display.StageAlign;
- import flash.display.StageScaleMode;
- import flash.events.Event;
- import flash.events.MouseEvent;
- import flash.system.System;
- import flash.text.TextField;
- import flash.text.TextFormat;
-
- import flashx.textLayout.container.ContainerController;
- import flashx.textLayout.container.ScrollPolicy;
- import flashx.textLayout.edit.EditManager;
- import flashx.textLayout.elements.DivElement;
- import flashx.textLayout.elements.InlineGraphicElement;
- import flashx.textLayout.elements.ParagraphElement;
- import flashx.textLayout.elements.SpanElement;
- import flashx.textLayout.elements.TextFlow;
- import flashx.textLayout.formats.TextLayoutFormat;
- import flashx.textLayout.formats.VerticalAlign;
- import flashx.textLayout.tlf_internal;
- import flashx.undo.UndoManager;
-
- use namespace tlf_internal;
-
- [SWF (width="500", height="700", backgroundColor="#FFFFFF")]
-
- public class SingleContainerTest extends Sprite
- {
-
- protected var tf:TextFlow;
- protected var em:EditManager;
- protected var um:flashx.undo.UndoManager
- protected var _bg:Sprite;
- protected var _spr:Sprite;
- protected var _cc:ContainerController
- protected var _init_fmt:TextLayoutFormat;
- protected var _btn:Sprite;
- protected var _playing:Boolean = false;
- protected var _count:int = 0;
-
- protected var _graph:Sprite;
- protected var _print_out:TextField;
- protected var _last_time:Date = new Date();
- protected var _last_five:Array = [];
-
- public function SingleContainerTest()
- {
-
-// stage.scaleMode = StageScaleMode.NO_SCALE;
-// stage.align = StageAlign.TOP_LEFT;
-
- var cw:Number = 200; // the container width
- var ch:Number = 600; // the container height
-
- _bg = new Sprite();
- _bg.graphics.lineStyle(.25, 0);
- _bg.graphics.drawRect(0,0,cw,ch);
- addChild(_bg);
-
- _spr = new Sprite();
- addChild(_spr);
-
- _graph = new Sprite();
- _graph.x = cw + 10;
- _graph.y = 250;
- addChild(_graph);
-
- _print_out = new TextField();
- var fmt:TextFormat = _print_out.defaultTextFormat;
- fmt.font = "_sans";
- _print_out.wordWrap = true;
- _print_out.multiline = true;
-// _print_out.width = stage.stageWidth - (10 + _graph.x);
- _print_out.x = _graph.x;
- _print_out.y = _graph.y + 10;
- addChild(_print_out);
-
- //define TextFlow and manager objects
- tf = new TextFlow();
- um = new UndoManager();
- em = new EditManager(um);
- tf.interactionManager = em;
-
- //compose TextFlow to display
- _cc = new ContainerController(_spr,cw,ch);
- //_cc.verticalAlign = VerticalAlign.BOTTOM;
- //_cc.verticalScrollPolicy = ScrollPolicy.ON;
- tf.flowComposer.addController(_cc);
- tf.flowComposer.updateAllControllers();
-
- //make a button to add Inline Graphic elements
- _btn = new Sprite();
- _btn.graphics.beginFill(0xFF0000,1);
- _btn.graphics.drawRect(0,0,120,30);
- addChild(_btn);
- _btn.addEventListener(MouseEvent.CLICK, btnClicked);
- _btn.y = 600;
-
- addMessage("1");
- addMessage("2");
- addMessage("3", true);
-
- }
-
- public function addMessage(msg:String, add_image:Boolean = false):void {
- //define elements to contain text
- var d:DivElement = new DivElement();
- var p:ParagraphElement = new ParagraphElement();
- var s:SpanElement = new SpanElement();
- s.text = msg;
- //add these elements to the TextFlow
- p.addChild(s);
- d.addChild(p);
- if(add_image){
- var sp:Sprite = new Sprite();
- sp.graphics.beginFill(0xFFCC00);
- sp.graphics.drawRect(0,0,100,20);
- var i:InlineGraphicElement = new InlineGraphicElement();
- i.source = sp;
- i.width = 100;
- i.height = 20;
- p.addChild(i);
- }
- tf.addChild(d);
- tf.flowComposer.updateAllControllers();
- _cc.verticalScrollPosition = _cc.getContentBounds().height;
- tf.flowComposer.updateAllControllers();
- }
-
- protected function btnClicked(e:MouseEvent):void {
- _playing = !_playing;
- removeEventListener(Event.ENTER_FRAME, onEnterFrame);
- if(_playing){
- addEventListener(Event.ENTER_FRAME, onEnterFrame);
- }
- }
-
- protected function onEnterFrame(e:Event):void {
- _count++;
-
- if(_count > 100){
- tf.removeChildAt(0);
- }
-
- addMessage("Message Number: " + _count + " " + randomString());
- printOut()
- }
-
- protected function printOut():void {
- var now:Date = new Date();
- var tm:Number = (now.getTime() - _last_time.getTime());
- _last_five.push(tm);
- if(_last_five.length > 10) _last_five.shift();
- var avg_tm:Number = 0;
- for(var i:int = 0; i < _last_five.length; i++) avg_tm += _last_five[i];
- avg_tm = Math.round(avg_tm/_last_five.length);
- var elapsed_str:String = "message: \t\t\t"+_count
- + "\ntime: \t\t\t\t" + tm + "ms"
- + "\navg of last 10:\t\t" + avg_tm +"ms";
- //trace(elapsed_str );
- _print_out.text = elapsed_str;
- _last_time = now;
- drawGraph(tm);
- }
-
- protected function drawGraph(tm:Number):void {
- if(_count % 5 == 0){
- _graph.graphics.beginFill(0x0);
- _graph.graphics.drawRect(_count/10,-Math.round(tm/10),1,1);
- _graph.graphics.beginFill(0xFF0000);
- _graph.graphics.drawRect(_count/10,-Math.round(System.totalMemory/1000000),1,1);
- }
- }
-
- protected function randomString():String {
- var chars:String = "abcdefghijklmnopqrstuvwzyz ";
- var chars_len:Number = chars.length;
- var random_str:String = "";
- var num_chars:Number = Math.round(Math.random() * 100);
- for (var i:int =0; i < num_chars; i++){
- random_str = random_str + chars.charAt(Math.round(Math.random() * chars_len));
- }
- return random_str;
- }
- }
-}
\ No newline at end of file
diff --git a/automation_tests/src/UnitTest/Tests/SpacingTest.as b/automation_tests/src/UnitTest/Tests/SpacingTest.as
index a689a28..fcd4438 100644
--- a/automation_tests/src/UnitTest/Tests/SpacingTest.as
+++ b/automation_tests/src/UnitTest/Tests/SpacingTest.as
@@ -18,138 +18,136 @@
////////////////////////////////////////////////////////////////////////////////
package UnitTest.Tests
{
- import UnitTest.ExtendedClasses.TestDescriptor;
- import UnitTest.ExtendedClasses.TestSuiteExtended;
- import UnitTest.ExtendedClasses.VellumTestCase;
- import UnitTest.Fixtures.TestConfig;
+ import UnitTest.ExtendedClasses.VellumTestCase;
+ import UnitTest.Fixtures.TestConfig;
- import flash.events.Event;
- import flash.geom.Point;
- import flash.geom.Rectangle;
-
- import flashx.textLayout.compose.StandardFlowComposer;
- import flashx.textLayout.compose.TextFlowLine;
- import flashx.textLayout.formats.BlockProgression;
- import flashx.textLayout.formats.Direction;
- import flashx.textLayout.formats.ITextLayoutFormat;
- import flashx.textLayout.formats.TextLayoutFormat;
- import flashx.textLayout.tlf_internal;
+ import flashx.textLayout.compose.StandardFlowComposer;
+ import flashx.textLayout.compose.TextFlowLine;
+ import flashx.textLayout.formats.BlockProgression;
+ import flashx.textLayout.formats.Direction;
+ import flashx.textLayout.formats.TextLayoutFormat;
+ import flashx.textLayout.tlf_internal;
import org.flexunit.asserts.assertTrue;
-
import org.flexunit.asserts.fail;
use namespace tlf_internal;
- public class SpacingTest extends VellumTestCase
- {
- private var firstLine:TextFlowLine;
- private var secondLine:TextFlowLine;
+ [TestCase(order=29)]
+ public class SpacingTest extends VellumTestCase
+ {
+ private var firstLine:TextFlowLine;
+ private var secondLine:TextFlowLine;
- public function SpacingTest(methodName:String, testID:String, testConfig:TestConfig, testCaseXML:XML=null)
- {
- super(methodName, testID, testConfig, testCaseXML);
+ public function SpacingTest()
+ {
+ super("", "SpacingTest", TestConfig.getInstance());
- // Note: These must correspond to a Watson product area (case-sensitive)
- metaData.productArea = "Text Composition";
- }
+ metaData = {};
+ // Note: These must correspond to a Watson product area (case-sensitive)
+ metaData.productArea = "Text Composition";
+ }
- public static function suite(testConfig:TestConfig, ts:TestSuiteExtended):void
- {
- ts.addTestDescriptor(new TestDescriptor(SpacingTest, "spaceLeadingMarginTest", testConfig));
- }
+ [Before]
+ public override function setUpTest():void
+ {
+ super.setUpTest();
- public override function setUpTest():void
- {
- super.setUpTest();
+ var ca:TextLayoutFormat = new TextLayoutFormat(TestFrame.format);
+ ca.columnCount = 1;
+ TestFrame.format = ca;
- var ca:TextLayoutFormat = new TextLayoutFormat(TestFrame.format);
- ca.columnCount = 1;
- TestFrame.format = ca;
+ TestFrame.textFlow.flowComposer.updateAllControllers();
+ }
- TestFrame.textFlow.flowComposer.updateAllControllers();
- }
+ [After]
+ override public function tearDownTest():void
+ {
+ super.tearDownTest();
+ }
- //Paragraph.
- public function spaceLeadingMarginTest():void
- {
- var lines:Array = StandardFlowComposer(SelManager.textFlow.flowComposer).lines;
- firstLine = lines[0] as TextFlowLine;
+ [Test]
+ public function spaceLeadingMarginTest():void
+ {
+ var lines:Array = StandardFlowComposer(SelManager.textFlow.flowComposer).lines;
+ firstLine = lines[0] as TextFlowLine;
- for each (var sl:TextFlowLine in lines){
- if(sl.paragraph != firstLine.paragraph &&
- sl.location == firstLine.location
- ){
- secondLine = sl;
- break;
- }
- }
+ for each (var sl:TextFlowLine in lines)
+ {
+ if (sl.paragraph != firstLine.paragraph &&
+ sl.location == firstLine.location
+ )
+ {
+ secondLine = sl;
+ break;
+ }
+ }
- SelManager.selectRange(firstLine.absoluteStart,firstLine.textLength - 2);
- var pa:TextLayoutFormat = new TextLayoutFormat();
+ SelManager.selectRange(firstLine.absoluteStart, firstLine.textLength - 2);
+ var pa:TextLayoutFormat = new TextLayoutFormat();
- if (this.writingDirection[0] == BlockProgression.TB)
- {
- if (this.writingDirection[1] == Direction.LTR)
- {
- assertTrue(firstLine.x == secondLine.x);
- pa.paragraphStartIndent = 100;
- }
- else if (this.writingDirection[1] == Direction.RTL)
- {
- // these should be close
- var l1End:Number = firstLine.x+firstLine.getTextLine().width;
- var l2End:Number = secondLine.x+secondLine.getTextLine().width;
- var isNearlyEqual:Boolean = Math.abs(l1End-l2End)< 0.1;
- assertTrue(isNearlyEqual);
- pa.paragraphEndIndent = 100;
- }
- else
- fail("Unknown direction " + this.writingDirection[1]);
- }
- else if (this.writingDirection[0] == BlockProgression.RL)
- {
- assertTrue(firstLine.y == secondLine.y);
- pa.paragraphStartIndent = 100;
- }
- else
- fail("Unknown blockProgression " + this.writingDirection[0]);
+ if (this.writingDirection[0] == BlockProgression.TB)
+ {
+ if (this.writingDirection[1] == Direction.LTR)
+ {
+ assertTrue(firstLine.x == secondLine.x);
+ pa.paragraphStartIndent = 100;
+ }
+ else if (this.writingDirection[1] == Direction.RTL)
+ {
+ // these should be close
+ var l1End:Number = firstLine.x + firstLine.getTextLine().width;
+ var l2End:Number = secondLine.x + secondLine.getTextLine().width;
+ var isNearlyEqual:Boolean = Math.abs(l1End - l2End) < 0.1;
+ assertTrue(isNearlyEqual);
+ pa.paragraphEndIndent = 100;
+ }
+ else
+ fail("Unknown direction " + this.writingDirection[1]);
+ }
+ else if (this.writingDirection[0] == BlockProgression.RL)
+ {
+ assertTrue(firstLine.y == secondLine.y);
+ pa.paragraphStartIndent = 100;
+ }
+ else
+ fail("Unknown blockProgression " + this.writingDirection[0]);
- SelManager.applyParagraphFormat(pa);
- SelManager.flushPendingOperations();
+ SelManager.applyParagraphFormat(pa);
+ SelManager.flushPendingOperations();
- firstLine = lines[0];
- testLines();
- }
+ firstLine = lines[0];
+ testLines();
+ }
- private function testLines():void
- {
- if (this.writingDirection[0] == BlockProgression.TB)
- {
- if (this.writingDirection[1] == Direction.LTR)
- {
- assertTrue("First = " + firstLine.x + ", Second = " + secondLine.x,
- firstLine.x == secondLine.x + 100
- );
- }
- else if (this.writingDirection[1] == Direction.RTL)
- {
- assertTrue("First = " + firstLine.targetWidth +
- ", Second = " + secondLine.targetWidth,
- firstLine.targetWidth == secondLine.targetWidth - 100
- );
- }
- else
- fail("Unknown direction " + this.writingDirection[1]);
- }
- else if (this.writingDirection[0] == BlockProgression.RL)
- {
- assertTrue("First = " + firstLine.y + ", Second = " + secondLine.y,
- firstLine.y == secondLine.y + 100
- );
- }
- else
- fail("Unknown blockProgression " + this.writingDirection[0]);
- }
- }
+ private function testLines():void
+ {
+ if (this.writingDirection[0] == BlockProgression.TB)
+ {
+ if (this.writingDirection[1] == Direction.LTR)
+ {
+ assertTrue("First = " + firstLine.x + ", Second = " + secondLine.x,
+ firstLine.x == secondLine.x + 100
+ );
+ }
+ else if (this.writingDirection[1] == Direction.RTL)
+ {
+ assertTrue("First = " + firstLine.targetWidth +
+ ", Second = " + secondLine.targetWidth,
+ firstLine.targetWidth == secondLine.targetWidth - 100
+ );
+ }
+ else
+ fail("Unknown direction " + this.writingDirection[1]);
+ }
+ else if (this.writingDirection[0] == BlockProgression.RL)
+ {
+ assertTrue("First = " + firstLine.y + ", Second = " + secondLine.y,
+ firstLine.y == secondLine.y + 100
+ );
+ }
+ else
+ fail("Unknown blockProgression " + this.writingDirection[0]);
+ }
+ }
}