Skip to content

FCL-FPCUnit: many non-const string params

Continuation of #40047 (closed). In SUBJ package using the same RegEx, I found many non-const str params. Full log:

+Search "[\(;]\s*\w+\s*:\s*string". Report with [styles].
	<fpcunit.pp>: #12
		< 143>:     class procedure AssertException(const AMessage: string; AExceptionClass: ExceptClass; AMethod: TRunMethod;AExceptionMessage : String = ''; AExceptionContext : Integer = 0; AErrorAddr : Pointer = Nil); overload;
		< 144>:     class procedure AssertException(AExceptionClass: ExceptClass; AMethod: TRunMethod;AExceptionMessage : String = ''; AExceptionContext : Integer = 0); overload;
		< 226>:     procedure ExpectException(AExceptionClass: TClass; AExceptionMessage: string=''; AExceptionHelpContext: Integer=0);
		< 227>:     procedure ExpectException(const Msg: String; AExceptionClass: TClass; AExceptionMessage: string=''; AExceptionHelpContext: Integer=0);
		< 264>:     constructor Create(AClass: TClass; AName: string); reintroduce; overload; virtual;
		< 267>:     constructor Create(AName: string); reintroduce; overload; virtual;
		< 941>:   AMethod: TRunMethod;AExceptionMessage : String = ''; AExceptionContext : Integer = 0; AErrorAddr : Pointer = Nil);
		< 943>:   Function MisMatch (AClassName : String) : String;
		< 976>:   AMethod: TRunMethod;AExceptionMessage : String = ''; AExceptionContext : Integer = 0);
		<1195>: constructor TTestSuite.Create(AClass: TClass; AName: string);
		<1255>: constructor TTestSuite.Create(AName: string);
		<1375>:   AExceptionClass: TClass; AExceptionMessage: string = '';
	<DUnitCompatibleInterface.inc>: #56
		<  21>:     class procedure Check(pValue: boolean; pMessage: string = '');
		<  22>:     class procedure CheckEquals(expected, actual: extended; msg: string = ''); overload;
		<  23>:     class procedure CheckEquals(expected, actual: extended; delta: extended; msg: string = ''); overload;
		<  24>:     class procedure CheckEquals(expected, actual: string; msg: string = ''); overload;
		<  25>:     class procedure CheckEquals(expected, actual: unicodestring; msg: string = ''); overload;
		<  26>:     class procedure CheckEquals(expected, actual: integer; msg: string = ''); overload;
		<  27>:     class procedure CheckEquals(expected, actual: boolean; msg: string = ''); overload;
		<  28>:     class procedure CheckEquals(expected, actual: TClass; msg: string = ''); overload;
		<  29>:     class procedure CheckEquals(expected, actual: int64; msg: string = ''); overload;
		<  30>:     class procedure CheckEquals(expected, actual: QWord; msg: string = ''); overload;
		<  31>:     class procedure CheckNotEquals(expected, actual: string; msg: string = ''); overload;
		<  32>:     class procedure CheckNotEquals(expected, actual: unicodestring; msg: string = ''); overload;
		<  33>:     class procedure CheckNotEquals(expected, actual: integer; msg: string = ''); overload; virtual;
		<  34>:     class procedure CheckNotEquals(expected, actual: boolean; msg: string = ''); overload; virtual;
		<  35>:     class procedure CheckNotEquals(expected: extended; actual: extended; delta: extended = 0; msg: string = ''); overload; virtual;
		<  36>:     class procedure CheckNotEquals(expected, actual: int64; msg: string = ''); overload; virtual;
		<  37>:     class procedure CheckNotEquals(expected, actual: QWord; msg: string = ''); overload; virtual;
		<  38>:     class procedure CheckNull(obj: IUnknown; msg: string = ''); overload;
		<  39>:     class procedure CheckNull(obj: TObject; msg: string = ''); overload;
		<  40>:     class procedure CheckNotNull(obj: TObject; msg: string = ''); overload;
		<  41>:     class procedure CheckNotNull(obj: IUnknown; msg: string = ''); overload; virtual;
		<  42>:     class procedure CheckIs(obj :TObject; pClass: TClass; msg: string = ''); overload;
		<  43>:     class procedure CheckSame(expected, actual: TObject; msg: string = ''); overload;
		<  44>:     class procedure CheckTrue(condition: Boolean; msg: string = '');
		<  45>:     class procedure CheckFalse(condition: Boolean; msg: string = '');
		<  46>:     class procedure CheckException(AMethod: TRunMethod; AExceptionClass: ExceptClass; msg: string = '');
		<  55>:     procedure CheckEqualsBin(expected, actual: longword; msg: string = ''; digits: integer=32); virtual;
		<  56>:     procedure CheckEqualsHex(expected, actual: longword; msg: string = ''; digits: integer=8); virtual;
		<  57>:     procedure CheckNotEqualsBin(expected, actual: longword; msg: string = ''; digits: integer=32); virtual;
		<  58>:     procedure CheckNotEqualsHex(expected, actual: longword; msg: string = ''; digits: integer=8); virtual;
		<  59>:     procedure CheckNotNull(obj :IUnknown; msg :string = ''); overload; virtual;
		<  60>:     procedure CheckSame(expected, actual: IUnknown; msg: string = ''); overload; virtual;
		<  61>:     procedure CheckException(AMethod: TTestMethod; AExceptionClass: TClass; msg :string = '');
		<  62>:     procedure CheckInherits(expected, actual: TClass; msg: string = ''); overload; virtual;
		<  70>: class procedure TAssert.Check(pValue: boolean; pMessage: string);
		<  75>: class procedure TAssert.CheckEquals(expected, actual: extended; msg: string);
		<  81>:   delta: extended; msg: string);
		<  86>: class procedure TAssert.CheckEquals(expected, actual: string; msg: string);
		<  90>: class procedure TAssert.CheckEquals(expected, actual: unicodestring; msg: string);
		<  95>: class procedure TAssert.CheckEquals(expected, actual: integer; msg: string);
		< 100>: class procedure TAssert.CheckEquals(expected, actual: boolean; msg: string);
		< 105>: class procedure TAssert.CheckEquals(expected, actual: TClass; msg: string);
		< 122>: class procedure TAssert.CheckNotEquals(expected, actual: string; msg: string);
		< 130>: class procedure TAssert.CheckNotEquals(expected, actual: unicodestring; msg: string);
		< 138>: class procedure TAssert.CheckNotEquals(expected, actual: integer; msg: string);
		< 146>: class procedure TAssert.CheckNotEquals(expected, actual: boolean; msg: string);
		< 155>:   delta: extended; msg: string);
		< 181>: class procedure TAssert.CheckNull(obj: IUnknown; msg: string);
		< 186>: class procedure TAssert.CheckNull(obj: TObject; msg: string);
		< 191>: class procedure TAssert.CheckNotNull(obj: TObject; msg: string);
		< 196>: class procedure TAssert.CheckNotNull(obj: IUnknown; msg: string);
		< 201>: class procedure TAssert.CheckIs(obj: TObject; pClass: TClass; msg: string);
		< 212>: class procedure TAssert.CheckSame(expected, actual: TObject; msg: string);
		< 217>: class procedure TAssert.CheckTrue(condition: Boolean; msg: string);
		< 225>: class procedure TAssert.CheckFalse(condition: Boolean; msg: string);
		< 234>: class procedure TAssert.CheckException(AMethod: TRunMethod; AExceptionClass: ExceptClass; msg: string = '');
	<plaintestreport.pp>: #1
		< 211>: function DoTestSuiteAsPlain(aSuite:TTest; Prefix : String; Options : TTestResultOptions = []): string;
	<testregistry.pp>: #7
		<  31>: procedure RegisterTest(ASuitePath: String; ATestClass: TTestCaseClass); overload;
		<  32>: procedure RegisterTest(ASuitePath: String; ATest: TTest); overload;
		<  35>: procedure RegisterTests(ASuitePath: String; ATests: Array of TTestCaseClass);
		<  58>: procedure RegisterTestInSuite(ARootSuite: TTestSuite; APath: string; ATest: TTest);
		< 117>: procedure RegisterTest(ASuitePath: String; ATestClass: TTestCaseClass);
		< 122>: procedure RegisterTest(ASuitePath: String; ATest: TTest);
		< 143>: procedure RegisterTests(ASuitePath: String; ATests: Array of TTestCaseClass);
	<consoletestrunner.pas>: #2
		<  58>:     Class function StrToFormat(S: String): TFormat;
		< 232>: class function TTestRunner.StrToFormat(S: String): TFormat;
	<exampletests/fpcunittests.pp>: #2
		< 115>:     procedure AddExpectedLine(ALine: string);
		< 625>: procedure TMockListener.AddExpectedLine(ALine: string);
	<exampletests/money.pp>: #4
		<  46>:     constructor Create(aAmount: int64; aCurrencyUnit: String);
		<  66>:     function FindMoney(aCurrencyUnit: string): Integer;
		< 111>: function TMoneyBag.FindMoney(aCurrencyUnit: string): Integer;
		< 321>: constructor TMoney.Create(aAmount: int64; aCurrencyUnit: string);
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information