gecko-dev/testing/cppunittest.ini
Toshihito Kikuchi d5a7d77f4f Bug 1573051 - Use both SHParseDisplayName and CreateUri to validate a uri. r=aklotz
For launching with an external protocol handler on Windows, we validate a uri
before sending it to `ShellExecute`, by converting a string into `PIDL` using
`SHParseDisplayName` and extract a string back from PIDL using
`IShellFolder::GetDisplayNameOf`.  The problem was that if a fragment, a
string following a hash mark (#), is always dropped after this validation.
This is caused by the intended design of Windows.

A proposed fix is to use `CreateUri` for validation, which is used behind
`IShellFolder::GetDisplayNameOf`.  However, we also keep `SHParseDisplayName`
because there are cases where `CreateUri` succeeds while `SHParseDisplayName`
fails such as a non-existent `file:` uri and we want to keep the same
validation result for those cases.

Adding `CreateUri` broke MinGW build because of our toolkit issue.  We use
dynamic linking for MinGW build in the meantime.

This patch adds a new unittest to make sure the new validation logic
behaves the same as the old one except the fragment issue.

Differential Revision: https://phabricator.services.mozilla.com/D42041

--HG--
extra : moz-landing-system : lando
2019-08-19 22:10:32 +00:00

88 lines
1.6 KiB
INI

[ShowSSEConfig]
[TestPrintf]
[TestAppShellSteadyState]
[TestAlgorithm]
[TestArray]
[TestArrayUtils]
[TestAtomics]
[TestBinarySearch]
[TestBloomFilter]
[TestBufferList]
[TestCasting]
[TestCeilingFloor]
[TestCheckedInt]
[TestCountPopulation]
[TestCountZeroes]
[TestDefineEnum]
[TestDoublyLinkedList]
[TestDllInterceptor]
skip-if = os != 'win'
[TestEndian]
[TestEnumeratedArray]
[TestEnumSet]
[TestEnumTypeTraits]
[TestFastBernoulliTrial]
[TestFloatingPoint]
[TestFunctionTypeTraits]
[TestIntegerPrintfMacros]
[TestIntegerRange]
[TestJSONWriter]
[TestLinkedList]
[TestMacroArgs]
[TestMacroForEach]
[TestMathAlgorithms]
[TestMaybe]
[TestNativeNt]
[TestUriValidation]
skip-if = os != 'win'
[TestBaseProfiler]
[TestNonDereferenceable]
[TestNotNull]
[TestParseFTPList]
[TestPLDHash]
[TestPair]
[TestPoisonArea]
skip-if = os == 'android' # Bug 1147630
[TestRange]
[TestRandomNum]
[TestRefPtr]
[TestResult]
[TestRollingMean]
[TestScopeExit]
[TestSegmentedVector]
[TestSHA1]
[TestSmallPointerArray]
[TestSaturate]
[TestSplayTree]
[TestSPSCQueue]
[TestSyncRunnable]
[TestTemplateLib]
[TestTextUtils]
[TestThreadSafeWeakPtr]
[TestTuple]
[TestTypeTraits]
[TestTypedEnum]
[TestUniquePtr]
[TestUtf8]
[TestVariant]
[TestVector]
[TestVolatileBuffer]
[TestWeakPtr]
[TestWrappingOperations]
[TestXorShift128PlusRNG]
[buffered_stun_socket_unittest]
[ice_unittest]
[test_nr_socket_unittest]
[jsapi-tests]
[multi_tcp_socket_unittest]
[nrappkit_unittest]
[rlogringbuffer_unittest]
[runnable_utils_unittest]
[sctp_unittest]
[signaling_unittests]
[signaling_unittests_standalone]
[simpletokenbucket_unittest]
[sockettransportservice_unittest]
[transport_unittests]
[turn_unittest]