File indexing completed on 2024-05-12 04:22:23
0001 # SPDX-FileCopyrightText: 2019-2020 Johannes Zarl-Zierl <johannes@zarl-zierl.at> 0002 # 0003 # SPDX-License-Identifier: BSD-2-Clause 0004 0005 _checks[check_diacritical]="Compatibility: Diacritical characters in v7 database files." 0006 _context[check_diacritical]="<h2>What this test will do:</h2> 0007 <p><ul> 0008 <li>This test checks whether a version 7 database file with diacritical characters in categories and tags is properly handled. </li> 0009 <li>After you close this dialog, KPhotoAlbum will be started 4 times in a row.</li> 0010 <li>This test case was inspired by <a href=\"https://bugs.kde.org/show_bug.cgi?id=403668\">Bug #403668</a></li> 0011 </ul> 0012 </p> 0013 <h2>What you have to do:</h2> 0014 <ol> 0015 <li>Each time KPhotoAlbum starts, save the database and exit KPhotoAlbum.</li> 0016 </ol>" 0017 check_diacritical() 0018 { 0019 local check_name="check_diacritical" 0020 local check_dir="$TEMPDIR/$check_name" 0021 local data_dir="$mydir/db/diacritical" 0022 setup_check "$check_dir" || return $result_err_setup 0023 # not needed in this scenario: 0024 rm -r "$check_dir/db" 0025 0026 kdialog --msgbox "<h1>$check_name</h1>${_context[$check_name]}" 0027 0028 for subcheck in compressed uncompressed uncompressed-to-compressed compressed-to-uncompressed 0029 do 0030 local subcheck_dir="$check_dir/$subcheck" 0031 mkdir "$subcheck_dir" || return $result_err_setup 0032 0033 local add_rc="[General]\nuntaggedCategory=\nuntaggedTag=\n" 0034 if [[ "$subcheck" == "uncompressed" || "$subcheck" == "compressed-to-uncompressed" ]] 0035 then 0036 add_rc="$add_rc\nuseCompressedIndexXML=false\n" 0037 fi 0038 echo -e "$add_rc$BASE_RC" > "$subcheck_dir/kphotoalbumrc" || return $result_err_setup 0039 0040 # set logging rules: 0041 cp -a "$check_dir/QtProject" "$subcheck_dir" 0042 # prepare database: 0043 cp "$data_dir/$subcheck.orig.xml" "$subcheck_dir/index.xml" || return $result_err_setup 0044 0045 export XDG_CONFIG_HOME="$subcheck_dir" 0046 kphotoalbum --db "$subcheck_dir/index.xml" > "$subcheck_dir/log" 2>&1 || return $result_err_crash 0047 0048 if ! diff -u "$data_dir/$subcheck.result.xml" "$subcheck_dir/index.xml" 0049 then 0050 log notice "$check_name: Mismatch in index.xml!" 0051 return $result_failed 0052 fi 0053 done 0054 return $result_ok 0055 }