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
No EOL
2.5 KiB
Text
51 lines
No EOL
2.5 KiB
Text
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 |