bdLeftToRight then + begin + ChangeBidiModeAlignment(Alignment); + Buffer.Add(' dir="rtl"'); + end; + + // Consider aligment. + case Alignment of + taRightJustify: + Buffer.Add(' align=right'); + taCenter: + Buffer.Add(' align=center'); + else + Buffer.Add(' align=left'); + end; + + Index := Columns[I].Index; + // Merge cells of the header emulation in the main column. + if (MaxLevel > 0) and (Index = Header.MainColumn) then + begin + Buffer.Add(' colspan="'); + Buffer.Add(IntToStr(MaxLevel + 1)); + Buffer.Add('"'); + end; + + // The color of the header is usually clBtnFace. + Buffer.Add(' bgcolor='); + WriteColorAsHex(clBtnFace); + + // Set column width in pixels. + Buffer.Add(' width="'); + Buffer.Add(IntToStr(Columns[I].Width)); + Buffer.Add('px">'); + + if Length(Columns[I].Text) > 0 then + Buffer.Add(UTF16ToUTF8(Columns[I].Text)); + Buffer.Add(' | '); + if Assigned(FOnAfterColumnExport) then + FOnAfterColumnExport(Self, etHTML, Columns[I]); + end; + Buffer.Add('|||
---|---|---|---|
'); + end; + end + else + begin + for J := 1 to Level do + if J = 1 then + begin + Buffer.Add(' | '); + end + else + Buffer.Add(' | '); + end; + end; + + if FFontChanged then + begin + Buffer.Add(' | bdLeftToRight then + begin + ChangeBidiModeAlignment(Alignment); + Buffer.Add(' dir="rtl"'); + end; + + // Consider aligment. + case Alignment of + taRightJustify: + Buffer.Add(' align=right'); + taCenter: + Buffer.Add(' align=center'); + else + Buffer.Add(' align=left'); + end; + // Merge cells in the main column. + if (MaxLevel > 0) and (Index = FHeader.MainColumn) and (Level < MaxLevel) then + begin + Buffer.Add(' colspan="'); + Buffer.Add(IntToStr(MaxLevel - Level + 1)); + Buffer.Add('"'); + end; + if RenderColumns and not (coParentColor in Columns[I].FOptions) then + begin + Buffer.Add(' bgcolor='); + WriteColorAsHex(Columns[I].Color); + end; + Buffer.Add('>'); + Text := Self.Text[Run, Index]; + if Length(Text) > 0 then + begin + Text := UTF16ToUTF8(Text); + Buffer.Add(Text); + end; + Buffer.Add(' | '); + end; + + if not RenderColumns then + Break; + Inc(I); + end; + if Assigned(FOnAfterNodeExport) then + FOnAfterNodeExport(Self, etHTML, Run); + Run := GetNextNode(Run); + Buffer.Add('
+/// <test-results name="etc" >
+/// <environment nunit-version="2.5.8.0" />
+/// <culture-info current-culture="en" current-uiculture="en" />
+/// <test-suite name="etc.exe" executed="true" result="Success" success="true" time="0.000" asserts="0" type="Assembly" >
+/// <results
+///
+///
+/// <test-results name="etc" >
+/// <environment nunit-version="2.5.8.0" />
+/// <culture-info current-culture="en" current-uiculture="en" />
+/// <test-suite name="etc.exe" executed="true" result="Success" success="true" time="0.000" asserts="0" type="Assembly" >
+/// <results
+///
+///
+/// <test-suite name="NewTests" executed="false" result="Success" success="true" time="0.000" asserts="0" type="Namespace" >
+/// <results
+///
+/// where "NewTests" comes from the 'Name' parameter value. Notice that the 'type' attribute value is 'Namespace'.
+///
+/// <test-suite name="Sprint5" description="Banana banana banana" executed="false" result="Success" success="true" time="0.000" asserts="0" type="TestFixture" >
+/// <results
+///
+/// where "NewTests" comes from the 'Name' parameter value. Notice that the 'type' attribute value is 'TestFixture'.
+/// Also optionally, a <reason/> element may be inserted beneath <test-suite/>, at the same level as <results/>.
+///
+/// </results>
+/// </test-suite>
+///
+/// It is assumed that the </test-suite> and </results> are open upon function entry.
+///
+/// <test-suite name="etc.exe" executed="true" result="Success" success="true" time="0.000" asserts="0" type="Assembly" >
+/// <results
+///
+///
+/// <test-case name="TestOne" description="Banana banana" executed="true" result="Success" success="true" time="0.000" asserts="0" />
+///
+/// Optional sub-elements may include either <failure/>/<stack-trace/> or reason <elements/>.
+///