From d9d29e5a8f6efe72294d314861a8041e4a2d509b Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Fri, 4 Oct 2019 17:52:08 +0200 Subject: [PATCH] STYLE: split off Test-string2 --- applications/test/dictionary4/Make/files | 3 + applications/test/dictionary4/Make/options | 1 + .../test/dictionary4/Test-dictionary4.C | 90 ++++++++++++++++++ applications/test/string/Make/options | 4 +- applications/test/string/Test-string.C | 29 ------ applications/test/string2/Make/files | 3 + applications/test/string2/Make/options | 2 + applications/test/string2/Test-string2.C | 92 +++++++++++++++++++ 8 files changed, 193 insertions(+), 31 deletions(-) create mode 100644 applications/test/dictionary4/Make/files create mode 100644 applications/test/dictionary4/Make/options create mode 100644 applications/test/dictionary4/Test-dictionary4.C create mode 100644 applications/test/string2/Make/files create mode 100644 applications/test/string2/Make/options create mode 100644 applications/test/string2/Test-string2.C diff --git a/applications/test/dictionary4/Make/files b/applications/test/dictionary4/Make/files new file mode 100644 index 0000000000..9420ab30b7 --- /dev/null +++ b/applications/test/dictionary4/Make/files @@ -0,0 +1,3 @@ +Test-dictionary4.C + +EXE = $(FOAM_USER_APPBIN)/Test-dictionary4 diff --git a/applications/test/dictionary4/Make/options b/applications/test/dictionary4/Make/options new file mode 100644 index 0000000000..41306609f2 --- /dev/null +++ b/applications/test/dictionary4/Make/options @@ -0,0 +1 @@ +EXE_INC = diff --git a/applications/test/dictionary4/Test-dictionary4.C b/applications/test/dictionary4/Test-dictionary4.C new file mode 100644 index 0000000000..1104035767 --- /dev/null +++ b/applications/test/dictionary4/Test-dictionary4.C @@ -0,0 +1,90 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2019 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Application + Test-dictionary4 + +Description + Test expansion +\*---------------------------------------------------------------------------*/ + +#include "argList.H" +#include "IOstreams.H" +#include "IOobject.H" +#include "IFstream.H" +#include "dictionary.H" +#include "Pair.H" +#include "stringOps.H" + +using namespace Foam; + +void addToDict +( + dictionary& dict, + std::initializer_list> entries +) +{ + for (const Pair& e : entries) + { + dict.add(word(e.first()), string(e.second())); + } +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Main program: + +int main(int argc, char *argv[]) +{ + // Test expansion + { + dictionary dict; + + + addToDict + ( + dict, + { + {"fileDir", "/triSurface"}, + {"fileBase", "input"}, + {"fileExt", ".stl"}, + {"fileName", "${fileDir}/${fileBase}$fileExt"} + } + ); + + Info<< "dict" << dict << nl; + + string str("fileName = <$fileName>"); + + Info<< str.c_str() << nl; + + stringOps::inplaceExpand(str, dict, true, true); + + Info<< str.c_str() << nl; + } + + return 0; +} + + +// ************************************************************************* // diff --git a/applications/test/string/Make/options b/applications/test/string/Make/options index 4e772fdf9d..18e6fe47af 100644 --- a/applications/test/string/Make/options +++ b/applications/test/string/Make/options @@ -1,2 +1,2 @@ -/* EXE_INC = -I$(LIB_SRC)/finiteVolume/lnInclude */ -/* EXE_LIBS = -lfiniteVolume */ +/* EXE_INC = */ +/* EXE_LIBS = */ diff --git a/applications/test/string/Test-string.C b/applications/test/string/Test-string.C index 46257c117b..ed939665fe 100644 --- a/applications/test/string/Test-string.C +++ b/applications/test/string/Test-string.C @@ -172,35 +172,6 @@ int main(int argc, char *argv[]) Info<<"trimRight: " << stringOps::trimRight(test) << endl; Info<<"trim: " << stringOps::trim(test) << endl; - // Test comment stripping - { - Info<< nl << "Test comment stripping" << nl; - testCommentStripping - ( - "/String without comments/" - ); - testCommentStripping - ( - "Removed some/* C-comments */ / C comments" - ); - testCommentStripping - ( - "Removed some//C++ comments\n / C++ comments" - ); - testCommentStripping - ( - "Partly degenerate C comment . + +Description + Test some string functionality + +\*---------------------------------------------------------------------------*/ + +#include "string.H" +#include "stringOps.H" +#include "dictionary.H" +#include "IOstreams.H" +#include "OSspecific.H" + +#include "int.H" +#include "uint.H" +#include "scalar.H" +#include "Switch.H" +#include "fileName.H" +#include "stringList.H" +#include "stringOps.H" + +using namespace Foam; + +void testCommentStripping(const std::string& s) +{ + Info<< "input" << nl + << "========" << nl + << s << nl + << "========" << nl; + + Info<< "output" << nl + << "========" << nl + << stringOps::removeComments(s) << nl + << "========" << nl << nl; +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Main program: + +int main(int argc, char *argv[]) +{ + // Test comment stripping + { + Info<< nl << "Test comment stripping" << nl; + + for + ( + const auto& cstr + : + { + "/String without comments/", + "Removed some/* C-comments */ / C comments", + "Removed some//C++ comments\n / C++ comments", + "Partly degenerate C comment