2015-07-25 12:33:48 +00:00
|
|
|
|
/* DocumentWriterClass.cs
|
|
|
|
|
* part of zaaReloaded2
|
|
|
|
|
*
|
2018-02-13 08:28:44 +00:00
|
|
|
|
* Copyright 2015-2018 Daniel Kraus
|
2015-07-25 12:33:48 +00:00
|
|
|
|
*
|
|
|
|
|
* Licensed 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.
|
|
|
|
|
*/
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using NUnit.Framework;
|
|
|
|
|
using zaaReloaded2.Formatter;
|
2015-08-14 09:22:11 +00:00
|
|
|
|
using Microsoft.Office.Interop.Word;
|
2015-07-25 12:33:48 +00:00
|
|
|
|
|
|
|
|
|
namespace Tests.Formatter
|
|
|
|
|
{
|
|
|
|
|
[TestFixture]
|
|
|
|
|
class DocumentWriterTest
|
|
|
|
|
{
|
|
|
|
|
DocumentWriter _docWriter;
|
|
|
|
|
|
|
|
|
|
[SetUp]
|
|
|
|
|
public void SetUp()
|
|
|
|
|
{
|
|
|
|
|
_docWriter = new DocumentWriter();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[TearDown]
|
|
|
|
|
public void TearDown()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void AddText()
|
|
|
|
|
{
|
|
|
|
|
string s = "hello world";
|
|
|
|
|
_docWriter.Write(s);
|
|
|
|
|
Assert.AreEqual(s, _docWriter.ToString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void AddLine()
|
|
|
|
|
{
|
|
|
|
|
string s = "hello world";
|
|
|
|
|
_docWriter.WriteLine(s);
|
|
|
|
|
Assert.AreEqual(s + Environment.NewLine, _docWriter.ToString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void PrependText()
|
|
|
|
|
{
|
|
|
|
|
string first = "first";
|
|
|
|
|
string second = "second";
|
|
|
|
|
_docWriter.Write(first);
|
|
|
|
|
_docWriter.Prepend(second);
|
|
|
|
|
Assert.AreEqual(second + first, _docWriter.ToString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void FlushingThrowsWithoutTarget()
|
|
|
|
|
{
|
|
|
|
|
_docWriter.Write("asdf");
|
|
|
|
|
Assert.Throws<InvalidOperationException>(_docWriter.Flush);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void FlushBuffer()
|
|
|
|
|
{
|
|
|
|
|
DocumentWriter parent = new DocumentWriter();
|
|
|
|
|
_docWriter.Parent = parent;
|
|
|
|
|
string s = "hello world";
|
|
|
|
|
_docWriter.Write(s);
|
|
|
|
|
_docWriter.Flush();
|
|
|
|
|
Assert.AreEqual(s, parent.ToString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void BufferIsEmptyAfterFlush()
|
|
|
|
|
{
|
|
|
|
|
DocumentWriter parent = new DocumentWriter();
|
|
|
|
|
_docWriter.Parent = parent;
|
|
|
|
|
string s = "hello world";
|
|
|
|
|
_docWriter.Write(s);
|
|
|
|
|
_docWriter.Flush();
|
|
|
|
|
Assert.IsFalse(_docWriter.HasBufferedText);
|
|
|
|
|
Assert.AreEqual(String.Empty, _docWriter.ToString());
|
|
|
|
|
}
|
2015-08-14 09:22:11 +00:00
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void TextMarkup()
|
|
|
|
|
{
|
2015-08-16 14:25:53 +00:00
|
|
|
|
DocumentWriter output = new DocumentWriter();
|
|
|
|
|
_docWriter.Parent = output;
|
|
|
|
|
_docWriter.Write("This is not bold. <b>This is bold!</b>\rThis not.");
|
2015-08-14 09:22:11 +00:00
|
|
|
|
_docWriter.Flush();
|
2015-08-16 14:25:53 +00:00
|
|
|
|
Assert.AreEqual("This is not bold. This is bold!\rThis not.", output.Text);
|
2015-08-14 09:22:11 +00:00
|
|
|
|
}
|
2015-07-25 12:33:48 +00:00
|
|
|
|
}
|
|
|
|
|
}
|