Remove Util::dirname and finally the util files
This commit is contained in:
parent
1b912fa887
commit
405f4b5f1b
@ -7,7 +7,7 @@ add_executable( exiv2
|
||||
$<TARGET_OBJECTS:exiv2lib_int>
|
||||
)
|
||||
|
||||
target_include_directories(exiv2 PRIVATE ${CMAKE_SOURCE_DIR}/src) # To find utils.hpp
|
||||
target_include_directories(exiv2 PRIVATE ${CMAKE_SOURCE_DIR}/src) # To find i18n.hpp
|
||||
|
||||
set_target_properties( exiv2 PROPERTIES
|
||||
COMPILE_FLAGS ${EXTRA_COMPILE_FLAGS}
|
||||
|
||||
@ -31,7 +31,6 @@
|
||||
#include "image.hpp"
|
||||
#include "jpgimage.hpp"
|
||||
#include "xmpsidecar.hpp"
|
||||
#include "utils.hpp"
|
||||
#include "types.hpp"
|
||||
#include "exif.hpp"
|
||||
#include "easyaccess.hpp"
|
||||
@ -1974,10 +1973,11 @@ namespace {
|
||||
{
|
||||
auto p = fs::path(newPath);
|
||||
std::string path = newPath;
|
||||
auto oldFsPath = fs::path(path);
|
||||
std::string format = Params::instance().format_;
|
||||
replace(format, ":basename:", Util::basename(path, true));
|
||||
replace(format, ":dirname:", Util::basename(Util::dirname(path)));
|
||||
replace(format, ":parentname:", Util::basename(Util::dirname(Util::dirname(path))));
|
||||
replace(format, ":basename:", p.stem().string());
|
||||
replace(format, ":dirname:", p.parent_path().filename().string());
|
||||
replace(format, ":parentname:", p.parent_path().parent_path().filename().string());
|
||||
|
||||
const size_t max = 1024;
|
||||
char basename[max];
|
||||
@ -1989,9 +1989,9 @@ namespace {
|
||||
}
|
||||
|
||||
newPath = p.parent_path() / (basename + p.extension().string());
|
||||
p = fs::path(newPath);
|
||||
|
||||
if ( Util::dirname(newPath) == Util::dirname(path)
|
||||
&& Util::basename(newPath) == Util::basename(path)) {
|
||||
if (p.parent_path() == oldFsPath.parent_path() && p.filename() == oldFsPath.filename()) {
|
||||
if (Params::instance().verbose_) {
|
||||
std::cout << _("This file already has the correct name") << std::endl;
|
||||
}
|
||||
@ -2066,13 +2066,13 @@ namespace {
|
||||
|
||||
std::string newFilePath(const std::string& path, const std::string& ext)
|
||||
{
|
||||
std::string directory = Params::instance().directory_;
|
||||
auto p = fs::path(path);
|
||||
auto directory = fs::path(Params::instance().directory_);
|
||||
if (directory.empty())
|
||||
directory = Util::dirname(path);
|
||||
directory = Exiv2::fileProtocol(path) == Exiv2::pFile ? directory + EXV_SEPARATOR_STR
|
||||
: "" // use current directory for remote files
|
||||
;
|
||||
return directory + Util::basename(path, true) + ext;
|
||||
directory = p.parent_path();
|
||||
if (Exiv2::fileProtocol(path) != Exiv2::pFile)
|
||||
directory.clear(); // use current directory for remote files
|
||||
return directory / (p.stem().string() + ext);
|
||||
}
|
||||
|
||||
int dontOverwrite(const std::string& path)
|
||||
|
||||
@ -1,5 +1,3 @@
|
||||
#include "utils.hpp"
|
||||
|
||||
#include <cstdlib>
|
||||
#include <climits>
|
||||
|
||||
|
||||
@ -29,7 +29,6 @@
|
||||
#include "futils.hpp"
|
||||
#include "getopt.hpp"
|
||||
#include "i18n.h" // NLS support.
|
||||
#include "utils.hpp"
|
||||
#include "xmp_exiv2.hpp"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
@ -31,7 +31,6 @@
|
||||
// included header files
|
||||
#include <exiv2/exiv2.hpp>
|
||||
|
||||
#include "utils.hpp"
|
||||
#include "types.hpp"
|
||||
#include "getopt.hpp"
|
||||
|
||||
|
||||
@ -25,15 +25,17 @@
|
||||
// included header files
|
||||
#include <assert.h>
|
||||
#include <errno.h>
|
||||
#include <filesystem>
|
||||
#include <iostream>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <iostream>
|
||||
|
||||
#include "utils.hpp"
|
||||
#include "getopt.hpp"
|
||||
|
||||
namespace fs = std::filesystem;
|
||||
|
||||
namespace Util {
|
||||
|
||||
// https://raw.githubusercontent.com/skeeto/getopt/master/getopt.h
|
||||
@ -113,7 +115,7 @@ namespace Util {
|
||||
|
||||
int Getopt::getopt(int argc, char* const argv[], const std::string& optstring)
|
||||
{
|
||||
progname_ = Util::basename(argv[0]);
|
||||
progname_ = fs::path(argv[0]).filename().string();
|
||||
Util::optind = 0; // reset the Util::Getopt scanner
|
||||
|
||||
for (;!errcnt_;) {
|
||||
|
||||
@ -52,27 +52,24 @@ if (MSVC)
|
||||
link_directories(${CMAKE_INSTALL_PREFIX}/lib)
|
||||
endif()
|
||||
|
||||
add_executable( getopt-test getopt-test.cpp ../app/getopt.cpp ../src/utils.cpp)
|
||||
add_executable( getopt-test getopt-test.cpp ../app/getopt.cpp)
|
||||
list(APPEND APPLICATIONS getopt-test)
|
||||
target_include_directories(getopt-test PRIVATE
|
||||
${CMAKE_SOURCE_DIR}/app
|
||||
${CMAKE_SOURCE_DIR}/src
|
||||
) # To find utils.hpp & getopt.hpp
|
||||
) # To find getopt.hpp
|
||||
|
||||
add_executable( metacopy metacopy.cpp ../app/getopt.cpp ../src/utils.cpp)
|
||||
add_executable( metacopy metacopy.cpp ../app/getopt.cpp)
|
||||
list(APPEND APPLICATIONS metacopy)
|
||||
target_include_directories(metacopy PRIVATE
|
||||
${CMAKE_SOURCE_DIR}/app
|
||||
${CMAKE_SOURCE_DIR}/src
|
||||
) # To find utils.hpp & getopt.hpp
|
||||
) # To find getopt.hpp
|
||||
|
||||
add_executable( path-test path-test.cpp ../app/getopt.cpp ../src/utils.cpp)
|
||||
add_executable( path-test path-test.cpp ../app/getopt.cpp)
|
||||
list(APPEND APPLICATIONS path-test)
|
||||
set_target_properties( path-test PROPERTIES OUTPUT_NAME path-test )
|
||||
target_include_directories(path-test PRIVATE
|
||||
${CMAKE_SOURCE_DIR}/app
|
||||
${CMAKE_SOURCE_DIR}/src
|
||||
) # To find utils.hpp & getopt.hpp
|
||||
) # To find getopt.hpp
|
||||
|
||||
add_executable( exiv2json exiv2json.cpp Jzon.cpp Jzon.h)
|
||||
list(APPEND APPLICATIONS exiv2json)
|
||||
|
||||
@ -20,12 +20,13 @@
|
||||
*/
|
||||
|
||||
#include <exiv2/exiv2.hpp>
|
||||
#include <filesystem>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
|
||||
#include "utils.hpp"
|
||||
namespace fs = std::filesystem;
|
||||
|
||||
int main(int argc, char* const argv[])
|
||||
{
|
||||
@ -49,8 +50,9 @@ int main(int argc, char* const argv[])
|
||||
std::string path, dir, base;
|
||||
std::istringstream is(line);
|
||||
is >> path >> dir >> base;
|
||||
std::string d = Util::dirname(path);
|
||||
std::string b = Util::basename(path);
|
||||
auto p = fs::path(path);
|
||||
std::string d = p.parent_path().string();
|
||||
std::string b = p.filename().string();
|
||||
|
||||
if (d != dir || b != base) {
|
||||
std::cout << path << "\t'" << d << "'\t '" << b
|
||||
|
||||
@ -36,7 +36,6 @@ add_library( exiv2lib_int OBJECT
|
||||
tifffwd_int.hpp
|
||||
timegm.h
|
||||
unused.h
|
||||
utils.cpp utils.hpp
|
||||
)
|
||||
|
||||
set(PUBLIC_HEADERS
|
||||
|
||||
@ -33,7 +33,6 @@
|
||||
#include "error.hpp"
|
||||
#include "futils.hpp"
|
||||
#include "version.hpp"
|
||||
#include "utils.hpp"
|
||||
|
||||
// + standard includes
|
||||
#include <algorithm>
|
||||
@ -49,7 +48,6 @@
|
||||
namespace {
|
||||
|
||||
using namespace Exiv2;
|
||||
using namespace Util;
|
||||
using Exiv2::byte;
|
||||
|
||||
// signature of DOS EPS
|
||||
|
||||
@ -32,7 +32,6 @@
|
||||
#include "tiffvisitor_int.hpp"
|
||||
#include "tiffimage.hpp"
|
||||
#include "tiffimage_int.hpp"
|
||||
#include "utils.hpp"
|
||||
|
||||
// + standard includes
|
||||
#include <string>
|
||||
|
||||
@ -27,7 +27,6 @@
|
||||
#include "value.hpp"
|
||||
#include "exif.hpp"
|
||||
#include "i18n.h" // NLS support.
|
||||
#include "utils.hpp"
|
||||
|
||||
// + standard includes
|
||||
#include <string>
|
||||
|
||||
@ -1,48 +0,0 @@
|
||||
// ***************************************************************** -*- C++ -*-
|
||||
/*
|
||||
* Copyright (C) 2004-2021 Exiv2 authors
|
||||
* This program is part of the Exiv2 distribution.
|
||||
*
|
||||
* This program 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 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program 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 this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
// *****************************************************************************
|
||||
|
||||
#include "utils.hpp"
|
||||
|
||||
#include <filesystem>
|
||||
|
||||
namespace fs = std::filesystem;
|
||||
|
||||
namespace Util {
|
||||
|
||||
// *****************************************************************************
|
||||
// free functions
|
||||
|
||||
std::string dirname(const std::string& path)
|
||||
{
|
||||
auto p = fs::path(path).parent_path();
|
||||
if (p.empty())
|
||||
return ".";
|
||||
return p.string();
|
||||
}
|
||||
|
||||
std::string basename(const std::string& path, bool delsuffix)
|
||||
{
|
||||
auto p = fs::path(path);
|
||||
if (delsuffix)
|
||||
return p.stem().string();
|
||||
return p.filename().string();
|
||||
}
|
||||
} // namespace Util
|
||||
@ -1,62 +0,0 @@
|
||||
// ***************************************************************** -*- C++ -*-
|
||||
/*
|
||||
* Copyright (C) 2004-2021 Exiv2 authors
|
||||
* This program is part of the Exiv2 distribution.
|
||||
*
|
||||
* This program 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 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program 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 this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
#ifndef UTILS_HPP_
|
||||
#define UTILS_HPP_
|
||||
|
||||
// *********************************************************************
|
||||
// included header files
|
||||
|
||||
// + standard includes
|
||||
#include <string>
|
||||
|
||||
// *********************************************************************
|
||||
// namespace extensions
|
||||
/*!
|
||||
@brief Contains utility classes and functions. Most of these are
|
||||
wrappers for common C functions that do not require pointers
|
||||
and memory considerations.
|
||||
*/
|
||||
namespace Util {
|
||||
|
||||
// *********************************************************************
|
||||
// free functions
|
||||
|
||||
/*!
|
||||
@brief Get the directory component from the \em path string.
|
||||
See %dirname(3).
|
||||
|
||||
This function can handle Windows paths to some extent: c:\\bar should
|
||||
be fine, \\\\bigsrv\\foo also, but \\\\bigsrv alone doesn't work.
|
||||
*/
|
||||
std::string dirname(const std::string& path);
|
||||
|
||||
/*!
|
||||
@brief Get the filename component from the \em path string.
|
||||
See %basename(3). If the \em delsuffix parameter is true,
|
||||
the suffix will be removed.
|
||||
|
||||
This function can handle Windows paths to some extent: c:\\bar should
|
||||
be fine, \\\\bigsrv\\foo also, but \\\\bigsrv alone doesn't work.
|
||||
*/
|
||||
std::string basename(const std::string& path, bool delsuffix =false);
|
||||
|
||||
} // namespace Util
|
||||
|
||||
#endif // #ifndef UTILS_HPP_
|
||||
@ -2223,72 +2223,72 @@ Warning: Directory Canon has an unexpected next pointer; ignored.
|
||||
Extract Exif data --------------------------------------------------------
|
||||
File 1/16: exiv2-empty.jpg
|
||||
File 2/16: 20031214_000043.jpg
|
||||
Writing Exif data from 20031214_000043.jpg to ./20031214_000043.exv
|
||||
Writing Exif data from 20031214_000043.jpg to 20031214_000043.exv
|
||||
File 3/16: 20000506_020544.jpg
|
||||
Writing Exif data from 20000506_020544.jpg to ./20000506_020544.exv
|
||||
Writing Exif data from 20000506_020544.jpg to 20000506_020544.exv
|
||||
File 4/16: 20040329_224245.jpg
|
||||
Writing Exif data from 20040329_224245.jpg to ./20040329_224245.exv
|
||||
Writing Exif data from 20040329_224245.jpg to 20040329_224245.exv
|
||||
File 5/16: 20010405_235039.jpg
|
||||
Writing Exif data from 20010405_235039.jpg to ./20010405_235039.exv
|
||||
Writing Exif data from 20010405_235039.jpg to 20010405_235039.exv
|
||||
File 6/16: 20030925_201850.jpg
|
||||
Writing Exif data from 20030925_201850.jpg to ./20030925_201850.exv
|
||||
Writing Exif data from 20030925_201850.jpg to 20030925_201850.exv
|
||||
File 7/16: 20001026_044550.jpg
|
||||
Writing Exif data from 20001026_044550.jpg to ./20001026_044550.exv
|
||||
Writing JPEG comment from 20001026_044550.jpg to ./20001026_044550.exv
|
||||
Writing Exif data from 20001026_044550.jpg to 20001026_044550.exv
|
||||
Writing JPEG comment from 20001026_044550.jpg to 20001026_044550.exv
|
||||
File 8/16: 20030926_111535.jpg
|
||||
Writing Exif data from 20030926_111535.jpg to ./20030926_111535.exv
|
||||
Writing Exif data from 20030926_111535.jpg to 20030926_111535.exv
|
||||
File 9/16: 20040316_075137.jpg
|
||||
Writing Exif data from 20040316_075137.jpg to ./20040316_075137.exv
|
||||
Writing Exif data from 20040316_075137.jpg to 20040316_075137.exv
|
||||
File 10/16: 20040208_093744.jpg
|
||||
Writing Exif data from 20040208_093744.jpg to ./20040208_093744.exv
|
||||
Writing Exif data from 20040208_093744.jpg to 20040208_093744.exv
|
||||
File 11/16: 20050218_212016.jpg
|
||||
Writing Exif data from 20050218_212016.jpg to ./20050218_212016.exv
|
||||
Writing Exif data from 20050218_212016.jpg to 20050218_212016.exv
|
||||
File 12/16: 20050527_051833.jpg
|
||||
Writing Exif data from 20050527_051833.jpg to ./20050527_051833.exv
|
||||
Writing Exif data from 20050527_051833.jpg to 20050527_051833.exv
|
||||
File 13/16: 20060802_095200.jpg
|
||||
Warning: Directory Canon has an unexpected next pointer; ignored.
|
||||
Writing Exif data from 20060802_095200.jpg to ./20060802_095200.exv
|
||||
Writing Exif data from 20060802_095200.jpg to 20060802_095200.exv
|
||||
File 14/16: 20001004_015404.jpg
|
||||
Writing Exif data from 20001004_015404.jpg to ./20001004_015404.exv
|
||||
Writing Exif data from 20001004_015404.jpg to 20001004_015404.exv
|
||||
File 15/16: 20060127_225027.jpg
|
||||
Writing Exif data from 20060127_225027.jpg to ./20060127_225027.exv
|
||||
Writing Exif data from 20060127_225027.jpg to 20060127_225027.exv
|
||||
File 16/16: 20110626_213900.psd
|
||||
Writing Exif data from 20110626_213900.psd to ./20110626_213900.exv
|
||||
Writing IPTC data from 20110626_213900.psd to ./20110626_213900.exv
|
||||
Writing XMP data from 20110626_213900.psd to ./20110626_213900.exv
|
||||
Writing Exif data from 20110626_213900.psd to 20110626_213900.exv
|
||||
Writing IPTC data from 20110626_213900.psd to 20110626_213900.exv
|
||||
Writing XMP data from 20110626_213900.psd to 20110626_213900.exv
|
||||
|
||||
Extract Thumbnail --------------------------------------------------------
|
||||
File 1/16: exiv2-empty.jpg
|
||||
exiv2-empty.jpg: No Exif data found in the file
|
||||
File 2/16: 20031214_000043.jpg
|
||||
Writing thumbnail (image/jpeg, 5448 Bytes) to file ./20031214_000043-thumb.jpg
|
||||
Writing thumbnail (image/jpeg, 5448 Bytes) to file 20031214_000043-thumb.jpg
|
||||
File 3/16: 20000506_020544.jpg
|
||||
Writing thumbnail (image/jpeg, 7829 Bytes) to file ./20000506_020544-thumb.jpg
|
||||
Writing thumbnail (image/jpeg, 7829 Bytes) to file 20000506_020544-thumb.jpg
|
||||
File 4/16: 20040329_224245.jpg
|
||||
Writing thumbnail (image/jpeg, 8930 Bytes) to file ./20040329_224245-thumb.jpg
|
||||
Writing thumbnail (image/jpeg, 8930 Bytes) to file 20040329_224245-thumb.jpg
|
||||
File 5/16: 20010405_235039.jpg
|
||||
Writing thumbnail (image/jpeg, 4662 Bytes) to file ./20010405_235039-thumb.jpg
|
||||
Writing thumbnail (image/jpeg, 4662 Bytes) to file 20010405_235039-thumb.jpg
|
||||
File 6/16: 20030925_201850.jpg
|
||||
Writing thumbnail (image/jpeg, 9728 Bytes) to file ./20030925_201850-thumb.jpg
|
||||
Writing thumbnail (image/jpeg, 9728 Bytes) to file 20030925_201850-thumb.jpg
|
||||
File 7/16: 20001026_044550.jpg
|
||||
Writing thumbnail (image/tiff, 20916 Bytes) to file ./20001026_044550-thumb.tif
|
||||
Writing thumbnail (image/tiff, 20916 Bytes) to file 20001026_044550-thumb.tif
|
||||
File 8/16: 20030926_111535.jpg
|
||||
Writing thumbnail (image/jpeg, 9573 Bytes) to file ./20030926_111535-thumb.jpg
|
||||
Writing thumbnail (image/jpeg, 9573 Bytes) to file 20030926_111535-thumb.jpg
|
||||
File 9/16: 20040316_075137.jpg
|
||||
Writing thumbnail (image/jpeg, 11998 Bytes) to file ./20040316_075137-thumb.jpg
|
||||
Writing thumbnail (image/jpeg, 11998 Bytes) to file 20040316_075137-thumb.jpg
|
||||
File 10/16: 20040208_093744.jpg
|
||||
Writing thumbnail (image/jpeg, 7306 Bytes) to file ./20040208_093744-thumb.jpg
|
||||
Writing thumbnail (image/jpeg, 7306 Bytes) to file 20040208_093744-thumb.jpg
|
||||
File 11/16: 20050218_212016.jpg
|
||||
Writing thumbnail (image/jpeg, 10308 Bytes) to file ./20050218_212016-thumb.jpg
|
||||
Writing thumbnail (image/jpeg, 10308 Bytes) to file 20050218_212016-thumb.jpg
|
||||
File 12/16: 20050527_051833.jpg
|
||||
Writing thumbnail (image/jpeg, 15605 Bytes) to file ./20050527_051833-thumb.jpg
|
||||
Writing thumbnail (image/jpeg, 15605 Bytes) to file 20050527_051833-thumb.jpg
|
||||
File 13/16: 20060802_095200.jpg
|
||||
Warning: Directory Canon has an unexpected next pointer; ignored.
|
||||
Writing thumbnail (image/jpeg, 6260 Bytes) to file ./20060802_095200-thumb.jpg
|
||||
Writing thumbnail (image/jpeg, 6260 Bytes) to file 20060802_095200-thumb.jpg
|
||||
File 14/16: 20001004_015404.jpg
|
||||
Writing thumbnail (image/jpeg, 13824 Bytes) to file ./20001004_015404-thumb.jpg
|
||||
Writing thumbnail (image/jpeg, 13824 Bytes) to file 20001004_015404-thumb.jpg
|
||||
File 15/16: 20060127_225027.jpg
|
||||
Writing thumbnail (image/jpeg, 6137 Bytes) to file ./20060127_225027-thumb.jpg
|
||||
Writing thumbnail (image/jpeg, 6137 Bytes) to file 20060127_225027-thumb.jpg
|
||||
File 16/16: 20110626_213900.psd
|
||||
20110626_213900.psd: Exif data doesn't contain a thumbnail
|
||||
exiv2-empty.exv: No Exif data found in the file
|
||||
@ -5623,38 +5623,38 @@ File 16/16: 20110626_213900.psd
|
||||
Insert Exif data ---------------------------------------------------------
|
||||
File 1/16: exiv2-empty.jpg
|
||||
File 2/16: 20031214_000043.jpg
|
||||
Writing Exif data from ./20031214_000043.exv to 20031214_000043.jpg
|
||||
Writing Exif data from 20031214_000043.exv to 20031214_000043.jpg
|
||||
File 3/16: 20000506_020544.jpg
|
||||
Writing Exif data from ./20000506_020544.exv to 20000506_020544.jpg
|
||||
Writing Exif data from 20000506_020544.exv to 20000506_020544.jpg
|
||||
File 4/16: 20040329_224245.jpg
|
||||
Writing Exif data from ./20040329_224245.exv to 20040329_224245.jpg
|
||||
Writing Exif data from 20040329_224245.exv to 20040329_224245.jpg
|
||||
File 5/16: 20010405_235039.jpg
|
||||
Writing Exif data from ./20010405_235039.exv to 20010405_235039.jpg
|
||||
Writing Exif data from 20010405_235039.exv to 20010405_235039.jpg
|
||||
File 6/16: 20030925_201850.jpg
|
||||
Writing Exif data from ./20030925_201850.exv to 20030925_201850.jpg
|
||||
Writing Exif data from 20030925_201850.exv to 20030925_201850.jpg
|
||||
File 7/16: 20001026_044550.jpg
|
||||
Writing Exif data from ./20001026_044550.exv to 20001026_044550.jpg
|
||||
Writing JPEG comment from ./20001026_044550.exv to 20001026_044550.jpg
|
||||
Writing Exif data from 20001026_044550.exv to 20001026_044550.jpg
|
||||
Writing JPEG comment from 20001026_044550.exv to 20001026_044550.jpg
|
||||
File 8/16: 20030926_111535.jpg
|
||||
Writing Exif data from ./20030926_111535.exv to 20030926_111535.jpg
|
||||
Writing Exif data from 20030926_111535.exv to 20030926_111535.jpg
|
||||
File 9/16: 20040316_075137.jpg
|
||||
Writing Exif data from ./20040316_075137.exv to 20040316_075137.jpg
|
||||
Writing Exif data from 20040316_075137.exv to 20040316_075137.jpg
|
||||
File 10/16: 20040208_093744.jpg
|
||||
Writing Exif data from ./20040208_093744.exv to 20040208_093744.jpg
|
||||
Writing Exif data from 20040208_093744.exv to 20040208_093744.jpg
|
||||
File 11/16: 20050218_212016.jpg
|
||||
Writing Exif data from ./20050218_212016.exv to 20050218_212016.jpg
|
||||
Writing Exif data from 20050218_212016.exv to 20050218_212016.jpg
|
||||
File 12/16: 20050527_051833.jpg
|
||||
Writing Exif data from ./20050527_051833.exv to 20050527_051833.jpg
|
||||
Writing Exif data from 20050527_051833.exv to 20050527_051833.jpg
|
||||
File 13/16: 20060802_095200.jpg
|
||||
Writing Exif data from ./20060802_095200.exv to 20060802_095200.jpg
|
||||
Writing Exif data from 20060802_095200.exv to 20060802_095200.jpg
|
||||
File 14/16: 20001004_015404.jpg
|
||||
Writing Exif data from ./20001004_015404.exv to 20001004_015404.jpg
|
||||
Writing Exif data from 20001004_015404.exv to 20001004_015404.jpg
|
||||
File 15/16: 20060127_225027.jpg
|
||||
Writing Exif data from ./20060127_225027.exv to 20060127_225027.jpg
|
||||
Writing Exif data from 20060127_225027.exv to 20060127_225027.jpg
|
||||
File 16/16: 20110626_213900.psd
|
||||
Writing Exif data from ./20110626_213900.exv to 20110626_213900.psd
|
||||
Writing IPTC data from ./20110626_213900.exv to 20110626_213900.psd
|
||||
Writing XMP data from ./20110626_213900.exv to 20110626_213900.psd
|
||||
Writing Exif data from 20110626_213900.exv to 20110626_213900.psd
|
||||
Writing IPTC data from 20110626_213900.exv to 20110626_213900.psd
|
||||
Writing XMP data from 20110626_213900.exv to 20110626_213900.psd
|
||||
exiv2-empty.exv: No Exif data found in the file
|
||||
|
||||
Compare original and inserted image data ---------------------------------
|
||||
|
||||
@ -21,7 +21,6 @@ add_executable(unit_tests
|
||||
test_tiffheader.cpp
|
||||
test_types.cpp
|
||||
test_TimeValue.cpp
|
||||
test_utils.cpp
|
||||
test_XmpKey.cpp
|
||||
$<TARGET_OBJECTS:exiv2lib_int>
|
||||
)
|
||||
|
||||
@ -1,62 +0,0 @@
|
||||
#include <utils.hpp>
|
||||
|
||||
// Auxiliary headers
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
namespace {
|
||||
const std::string pathLinux("/home/luis/file.txt");
|
||||
const std::string pathWindows("c:/luis/file.txt");
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
TEST(dirname, returnsDirNameWithValidPathOnWindows)
|
||||
{
|
||||
ASSERT_EQ("c:\\luis", Util::dirname(pathWindows));
|
||||
}
|
||||
TEST(basename, returnsStemWithExtensionWithValidPathOnWindows)
|
||||
{
|
||||
const bool delSuffix = false;
|
||||
ASSERT_EQ("file.txt", Util::basename(pathWindows, delSuffix));
|
||||
}
|
||||
|
||||
TEST(basename, returnsStemWithoutExtensionWithValidPathOnWindows)
|
||||
{
|
||||
const bool delSuffix = true;
|
||||
ASSERT_EQ("file", Util::basename(pathWindows, delSuffix));
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
TEST(dirname, returnsDirNameWithValidPathOnLinux)
|
||||
{
|
||||
ASSERT_EQ("/home/luis", Util::dirname(pathLinux));
|
||||
ASSERT_EQ("/tmp", Util::dirname("/tmp/file.jpg"));
|
||||
}
|
||||
|
||||
|
||||
TEST(dirname, returnsDotWithRelativePath)
|
||||
{
|
||||
ASSERT_EQ(".", Util::dirname("file.txt"));
|
||||
}
|
||||
|
||||
TEST(dirname, returnsDotEmptyString)
|
||||
{
|
||||
ASSERT_EQ(".", Util::dirname(""));
|
||||
}
|
||||
|
||||
/// \bug the logic for delsuffix is actually reverted
|
||||
TEST(basename, returnsStemWithExtensionWithValidPathOnLinux)
|
||||
{
|
||||
const bool delSuffix = false;
|
||||
ASSERT_EQ("file.txt", Util::basename(pathLinux, delSuffix));
|
||||
}
|
||||
|
||||
TEST(basename, returnsStemWithoutExtensionWithValidPathOnLinux)
|
||||
{
|
||||
const bool delSuffix = true;
|
||||
ASSERT_EQ("file", Util::basename(pathLinux, delSuffix));
|
||||
}
|
||||
|
||||
#endif
|
||||
Loading…
Reference in New Issue
Block a user