Skip to content

Commit 2c54670

Browse files
author
Sven Ulrich
authored
tests (#17)
1 parent fac4d5e commit 2c54670

File tree

4 files changed

+84
-6
lines changed

4 files changed

+84
-6
lines changed

dist/index.js

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
"use strict";
2+
var __spreadArrays = (this && this.__spreadArrays) || function () {
3+
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
4+
for (var r = Array(s), k = 0, i = 0; i < il; i++)
5+
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
6+
r[k] = a[j];
7+
return r;
8+
};
29
Object.defineProperty(exports, "__esModule", { value: true });
10+
exports.StringBuilder = exports.String = void 0;
311
var String = (function () {
412
function String() {
513
}
@@ -45,7 +53,7 @@ var String = (function () {
4553
return tempString_1;
4654
}
4755
var stringArray = args;
48-
return String.join.apply(String, [delimiter].concat(stringArray));
56+
return String.join.apply(String, __spreadArrays([delimiter], stringArray));
4957
}
5058
catch (e) {
5159
console.log(e);
@@ -131,7 +139,7 @@ var String = (function () {
131139
var numberparts = replacedString.split(/[^0-9]+/g);
132140
var parts = numberparts;
133141
if (numberparts.length > 1) {
134-
parts = [String.join.apply(String, [''].concat((numberparts.splice(0, numberparts.length - 1)))), numberparts[numberparts.length - 1]];
142+
parts = [String.join.apply(String, __spreadArrays([''], (numberparts.splice(0, numberparts.length - 1)))), numberparts[numberparts.length - 1]];
135143
}
136144
var integer = parts[0];
137145
var mod = integer.length % 3;
@@ -238,12 +246,22 @@ var StringBuilder = (function () {
238246
StringBuilder.prototype.Append = function (value) {
239247
this.Values.push(value);
240248
};
249+
StringBuilder.prototype.AppendLine = function (value) {
250+
this.Values.push('\r\n' + value);
251+
};
241252
StringBuilder.prototype.AppendFormat = function (format) {
242253
var args = [];
243254
for (var _i = 1; _i < arguments.length; _i++) {
244255
args[_i - 1] = arguments[_i];
245256
}
246-
this.Values.push(String.Format.apply(String, [format].concat(args)));
257+
this.Values.push(String.Format.apply(String, __spreadArrays([format], args)));
258+
};
259+
StringBuilder.prototype.AppendLineFormat = function (format) {
260+
var args = [];
261+
for (var _i = 1; _i < arguments.length; _i++) {
262+
args[_i - 1] = arguments[_i];
263+
}
264+
this.Values.push("\r\n" + String.Format.apply(String, __spreadArrays([format], args)));
247265
};
248266
StringBuilder.prototype.Clear = function () {
249267
this.Values = [];

dist/index.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,21 +252,27 @@ export class StringBuilder {
252252
constructor(value: string = String.Empty) {
253253
this.Values = new Array(value);
254254
}
255+
255256
public ToString() {
256257
return this.Values.join('');
257258
}
259+
258260
public Append(value: string) {
259261
this.Values.push(value);
260262
}
263+
261264
public AppendLine(value: string) {
262-
this.Values.push('\n' + value);
265+
this.Values.push('\r\n' + value);
263266
}
267+
264268
public AppendFormat(format: string, ...args: any[]) {
265269
this.Values.push(String.Format(format, ...args));
266270
}
271+
267272
public AppendLineFormat(format: string, ...args: any[]) {
268-
this.Values.push('\n' + String.Format(format, ...args));
273+
this.Values.push("\r\n" + String.Format(format, ...args));
269274
}
275+
270276
public Clear() {
271277
this.Values = [];
272278
}

dist/stringbuilder.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ export declare class StringBuilder {
33
constructor(value?: string);
44
ToString(): string;
55
Append(value: string): void;
6+
AppendLine(value: string): void;
67
AppendFormat(value: string, ...args: string[]): void;
8+
AppendLineFormat(value: string, ...args: string[]): void;
79
Clear(): void;
810
}

tests/tests.ts

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { String } from '../dist/index';
1+
import { String, StringBuilder } from '../dist/index';
22
import { Fruit } from './fruit';
33
import { expect } from 'chai';
44
import 'mocha';
@@ -235,4 +235,56 @@ describe('String.Join', () => {
235235
console.log(result);
236236
expect(result).to.equal("Foo.Bar");
237237
});
238+
});
239+
240+
describe('String.Append', () => {
241+
it('should append characters', () => {
242+
var builder = new StringBuilder();
243+
builder.Append('First Part... ');
244+
builder.Append('Second Part...');
245+
246+
expect(builder.ToString()).to
247+
.equal('First Part... Second Part...');
248+
});
249+
250+
it('should append characters', () => {
251+
var builder = new StringBuilder();
252+
builder.AppendFormat('First {0}... ', 'Part');
253+
builder.AppendFormat('Second {0}...', 'Part');
254+
255+
console.log(builder.ToString());
256+
expect(builder.ToString()).to
257+
.equal('First Part... Second Part...');
258+
});
259+
});
260+
261+
describe('String.AppendLine', () => {
262+
it('should append characters and new line', () => {
263+
var builder = new StringBuilder();
264+
builder.AppendLine('First Line...');
265+
builder.AppendLine('Second Line...');
266+
267+
expect(builder.ToString()).to
268+
.equal('\r\nFirst Line...\r\nSecond Line...');
269+
});
270+
271+
it('should append characters and new line', () => {
272+
var builder = new StringBuilder();
273+
builder.AppendLineFormat('First {0}...', 'Line');
274+
builder.AppendLineFormat('Second {0}...', 'Line');
275+
276+
console.log(builder.ToString());
277+
expect(builder.ToString()).to
278+
.equal('\r\nFirst Line...\r\nSecond Line...');
279+
});
280+
281+
it('should append characters and new line', () => {
282+
var builder = new StringBuilder();
283+
builder.AppendLine('First Line...');
284+
builder.AppendLine('Second Line...');
285+
286+
console.log(builder.ToString());
287+
expect(builder.ToString()).to
288+
.equal('\r\nFirst Line...\r\nSecond Line...');
289+
});
238290
});

0 commit comments

Comments
 (0)