Skip to content

Commit e705240

Browse files
Merge branch 'release/6.1.3'
2 parents 66cfcdb + b431a17 commit e705240

File tree

4 files changed

+133
-7
lines changed

4 files changed

+133
-7
lines changed

.github/workflows/release-notes.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ jobs:
2121
key: ${{ runner.os }}-tools-${{ hashFiles('recipe.cake') }}
2222
- name: Set up git version
2323
if: ${{ !contains(github.ref, '/hotfix/') && !contains(github.ref, '/release/') }}
24-
uses: gittools/actions/gitversion/setup@v0.9.15
24+
uses: gittools/actions/gitversion/setup@v0.10.2
2525
with:
2626
versionSpec: "5.x"
2727
- name: Run git version
2828
if: ${{ !contains(github.ref, '/hotfix/') && !contains(github.ref, '/release/') }}
2929
id: gitversion
30-
uses: gittools/actions/gitversion/execute@v0.9.15
30+
uses: gittools/actions/gitversion/execute@v0.10.2
3131
- name: Create release branch ${{ github.event.inputs.version }}
3232
if: ${{ steps.gitversion.outputs.majorMinorPatch }}
3333
run: git switch -c release/${{ steps.gitversion.outputs.majorMinorPatch }}

src/Cake.FileHelpers.Tests/Cake.FileHelpers.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</PackageReference>
1111
<PackageReference Include="xunit" Version="2.4.2" />
1212
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5" />
13-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
13+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.5.0" />
1414
</ItemGroup>
1515
<ItemGroup>
1616
<ProjectReference Include="..\Cake.FileHelpers\Cake.FileHelpers.csproj" />

src/Cake.FileHelpers.Tests/FileHelperTests.cs

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,132 @@ public void TestWriteAndReadLines()
5959
Assert.Equal (contents[i], read[i]);
6060
}
6161

62+
[Fact]
63+
public void TestAppendToNewFileAndReadText()
64+
{
65+
const string file = "./testdata/Text.txt";
66+
const string contents = "This is a test";
67+
68+
context.CakeContext.FileAppendText(file, contents);
69+
70+
var read = context.CakeContext.FileReadText(file);
71+
72+
Assert.Equal(contents, read);
73+
}
74+
75+
[Fact]
76+
public void TestAppendToExistingFileAndReadText()
77+
{
78+
const string file = "./testdata/Text.txt";
79+
const string contents1 = "This is ";
80+
const string contents2 = "a test";
81+
82+
context.CakeContext.FileAppendText(file, contents1);
83+
context.CakeContext.FileAppendText(file, contents2);
84+
85+
var read = context.CakeContext.FileReadText(file);
86+
87+
Assert.Equal(contents1 + contents2, read);
88+
}
89+
90+
[Fact]
91+
public void TestAppendToNewFileAndReadTextWithUTF8Encoding()
92+
{
93+
const string file = "./testdata/Text.txt";
94+
const string contents = "Monkey🐒";
95+
96+
context.CakeContext.FileAppendText(file, Encoding.UTF8, contents);
97+
98+
var read = context.CakeContext.FileReadText(file, Encoding.UTF8);
99+
100+
Assert.Equal(contents, read);
101+
}
102+
103+
[Fact]
104+
public void TestAppendToExistingFileAndReadTextWithUTF8Encoding()
105+
{
106+
const string file = "./testdata/Text.txt";
107+
const string contents1 = "Monkey";
108+
const string contents2 = "🐒";
109+
110+
context.CakeContext.FileAppendText(file, Encoding.UTF8, contents1);
111+
context.CakeContext.FileAppendText(file, Encoding.UTF8, contents2);
112+
113+
var read = context.CakeContext.FileReadText(file, Encoding.UTF8);
114+
115+
Assert.Equal(contents1 + contents2, read);
116+
}
117+
118+
[Fact]
119+
public void TestAppendLinesToNewFileAndReadLines()
120+
{
121+
const string file = "./testdata/Text.txt";
122+
var contents = new[] { "This", "is", "a", "test" };
123+
124+
context.CakeContext.FileAppendLines(file, contents);
125+
126+
var read = context.CakeContext.FileReadLines(file);
127+
128+
Assert.Equal(contents.Length, read.Length);
129+
130+
for (int i = 0; i < read.Length; i++)
131+
Assert.Equal(contents[i], read[i]);
132+
}
133+
134+
[Fact]
135+
public void TestAppendLinesToExistingFileAndReadLines()
136+
{
137+
const string file = "./testdata/Text.txt";
138+
var contents = new[] { "This", "is", "a", "test" };
139+
var contents1 = new[] { contents[0], contents[1] };
140+
var contents2 = new[] { contents[2], contents[3] };
141+
142+
context.CakeContext.FileAppendLines(file, contents1);
143+
context.CakeContext.FileAppendLines(file, contents2);
144+
145+
var read = context.CakeContext.FileReadLines(file);
146+
147+
Assert.Equal(contents.Length, read.Length);
148+
149+
for (int i = 0; i < read.Length; i++)
150+
Assert.Equal(contents[i], read[i]);
151+
}
152+
153+
[Fact]
154+
public void TestAppendLinesToNewFileAndReadLinesWithUTF8Encoding()
155+
{
156+
const string file = "./testdata/Text.txt";
157+
var contents = new[] { "This is a test", "Monkey🐒" };
158+
159+
context.CakeContext.FileAppendLines(file, Encoding.UTF8, contents);
160+
161+
var read = context.CakeContext.FileReadLines(file, Encoding.UTF8);
162+
163+
Assert.Equal(contents.Length, read.Length);
164+
165+
for (int i = 0; i < read.Length; i++)
166+
Assert.Equal(contents[i], read[i]);
167+
}
168+
169+
[Fact]
170+
public void TestAppendLinesToExistingFileAndReadLinesWithUTF8Encoding()
171+
{
172+
const string file = "./testdata/Text.txt";
173+
var contents = new[] { "This is a test", "Monkey🐒" };
174+
var contents1 = new[] { contents[0] };
175+
var contents2 = new[] { contents[1] };
176+
177+
context.CakeContext.FileAppendLines(file, Encoding.UTF8, contents1);
178+
context.CakeContext.FileAppendLines(file, Encoding.UTF8, contents2);
179+
180+
var read = context.CakeContext.FileReadLines(file, Encoding.UTF8);
181+
182+
Assert.Equal(contents.Length, read.Length);
183+
184+
for (int i = 0; i < read.Length; i++)
185+
Assert.Equal(contents[i], read[i]);
186+
}
187+
62188
[Fact]
63189
public void FindTextInFilesGlob()
64190
{

src/Cake.FileHelpers/FileHelpers.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public static void FileWriteLines(this ICakeContext context, FilePath file, Enco
135135
[CakeMethodAlias]
136136
public static void FileAppendText (this ICakeContext context, FilePath file, string text)
137137
{
138-
using var streamWriter = CreateStreamWriter(context, file, FileMode.OpenOrCreate);
138+
using var streamWriter = CreateStreamWriter(context, file, FileMode.Append);
139139
streamWriter.Write(text);
140140
}
141141

@@ -149,7 +149,7 @@ public static void FileAppendText (this ICakeContext context, FilePath file, str
149149
[CakeMethodAlias]
150150
public static void FileAppendText(this ICakeContext context, FilePath file, Encoding encoding, string text)
151151
{
152-
using var streamWriter = CreateStreamWriter(context, file, FileMode.OpenOrCreate, encoding);
152+
using var streamWriter = CreateStreamWriter(context, file, FileMode.Append, encoding);
153153
streamWriter.Write(text);
154154
}
155155

@@ -162,7 +162,7 @@ public static void FileAppendText(this ICakeContext context, FilePath file, Enco
162162
[CakeMethodAlias]
163163
public static void FileAppendLines (this ICakeContext context, FilePath file, string[] lines)
164164
{
165-
using var streamWriter = CreateStreamWriter(context, file, FileMode.OpenOrCreate);
165+
using var streamWriter = CreateStreamWriter(context, file, FileMode.Append);
166166
WriteLines(streamWriter, lines);
167167
}
168168

@@ -176,7 +176,7 @@ public static void FileAppendLines (this ICakeContext context, FilePath file, st
176176
[CakeMethodAlias]
177177
public static void FileAppendLines(this ICakeContext context, FilePath file, Encoding encoding, string[] lines)
178178
{
179-
using var streamWriter = CreateStreamWriter(context, file, FileMode.OpenOrCreate, encoding);
179+
using var streamWriter = CreateStreamWriter(context, file, FileMode.Append, encoding);
180180
WriteLines(streamWriter, lines);
181181
}
182182

0 commit comments

Comments
 (0)