mirror of
https://github.com/rclone/rclone.git
synced 2024-11-30 04:15:26 +01:00
98f539de8f
Refactored the case / unicode normalization logic to be much more efficient, and fix the last outstanding issue from #7270. Before this change, we were doing lots of for loops and re-normalizing strings we had already normalized earlier. Now, we leave the normalizing entirely to March and avoid re-transforming later, which seems to make a large difference in terms of performance.
51 lines
2.5 KiB
Plaintext
51 lines
2.5 KiB
Plaintext
test normalization
|
||
# Tests support for --no-unicode-normalization and --ignore-case-sync
|
||
# note: this test is written carefully to be runnable regardless of case/unicode sensitivity
|
||
# i.e. the results should be the same on linux and macOS
|
||
|
||
# force specific modification time since file time is lost through git
|
||
touch-copy 2001-01-02 {datadir/}file1.txt {path2/}
|
||
test initial bisync
|
||
bisync resync
|
||
|
||
# copy NFC version to Path1
|
||
copy-as-NFC {datadir/}file1.txt {path1/}測試_Русский___ě_áñ👸🏼🧝🏾♀️💆🏿♂️🐨🤙🏼🤮🧑🏻🔧🧑🔬éééö 測試_Русский___ě_áñ👸🏼🧝🏾♀️💆🏿♂️🐨🤙🏼🤮🧑🏻🔧🧑🔬éééö.txt
|
||
copy-as-NFC {datadir/}file1.txt {path1/}folder éééö.txt
|
||
copy-as-NFC {datadir/}file1.txt {path1/}folder HeLlO,wOrLd!.txt
|
||
|
||
# place newer NFD version on Path2
|
||
touch-copy 2001-01-03 {datadir/}file1.txt {path2/}
|
||
copy-as-NFD {datadir/}file1.txt {path2/}folder éééö.txt
|
||
copy-as-NFD {datadir/}file1.txt {path2/}folder hello,WORLD!.txt
|
||
|
||
test bisync run with fix-case
|
||
bisync fix-case
|
||
|
||
# purge and reset
|
||
purge-children {path1/}
|
||
purge-children {path2/}
|
||
touch-copy 2001-01-02 {datadir/}file1.txt {path2/}
|
||
bisync resync
|
||
|
||
# copy NFC version to Path1
|
||
copy-as-NFC {datadir/}file1.txt {path1/}測試_Русский___ě_áñ👸🏼🧝🏾♀️💆🏿♂️🐨🤙🏼🤮🧑🏻🔧🧑🔬éééö 測試_Русский___ě_áñ👸🏼🧝🏾♀️💆🏿♂️🐨🤙🏼🤮🧑🏻🔧🧑🔬éééö.txt
|
||
copy-as-NFC {datadir/}file1.txt {path1/}folder éééö.txt
|
||
copy-as-NFC {datadir/}file1.txt {path1/}folder HeLlO,wOrLd!.txt
|
||
|
||
# place newer NFD version on Path2
|
||
touch-copy 2001-01-03 {datadir/}file1.txt {path2/}
|
||
copy-as-NFD {datadir/}file1.txt {path2/}folder éééö.txt
|
||
copy-as-NFD {datadir/}file1.txt {path2/}folder hello,WORLD!.txt
|
||
|
||
test bisync run with normalization
|
||
bisync norm force
|
||
|
||
test resync
|
||
bisync resync norm
|
||
|
||
test changed on one path
|
||
touch-copy 2001-01-05 {datadir/}file1.txt {path2/}
|
||
copy-as-NFC {datadir/}file1.txt {path1/}測試_Русский___ě_áñ👸🏼🧝🏾♀️💆🏿♂️🐨🤙🏼🤮🧑🏻🔧🧑🔬éééö 測試_Русский___ě_áñ👸🏼🧝🏾♀️💆🏿♂️🐨🤙🏼🤮🧑🏻🔧🧑🔬éééö.txt
|
||
copy-as-NFC {datadir/}file1.txt {path1/}folder éééö.txt
|
||
copy-as-NFC {datadir/}file1.txt {path1/}folder HeLlO,wOrLd!.txt
|
||
bisync norm |