次のテストで、なぜ最後のものが失敗するのですか? Uri
もし相対ハッシュバンURLの互換性のためのUri.IsWellFormedUriString
[Fact]
public void IsWellFormedUriString_AbsolutNonHashTagUri_ReturnsTrue()
{
Assert.True(Uri.IsWellFormedUriString("http://www.RegularSite.org/Home", UriKind.Absolute));
}
[Fact]
public void IsWellFormedUriString_RelativeNonHashTagUri_ReturnsTrue()
{
Assert.True(Uri.IsWellFormedUriString("Home", UriKind.Relative));
}
[Fact]
public void IsWellFormedUriString_AbsolutHashTagUri_ReturnsTrue()
{
Assert.True(Uri.IsWellFormedUriString("http://www.w3.org/#!Home", UriKind.Absolute));
}
[Fact]
public void IsWellFormedUriString_RelativeHashTagUri_ReturnsTrue()
{
// Fails!
Assert.True(Uri.IsWellFormedUriString("#!Home", UriKind.Relative));
}
はなぜ相対バージョンでは、IsWellFormedUriString
の絶対バージョンでHashbangsを認識しますか?私は何が欠けていますか?
注:Thisは役に立ちません。
詳細な回答ありがとうございますが、それによると3番目のテストは失敗しているはずです。これは私の質問には答えません。 – seldary
@seldaryいいえ、3番目のテストは 'http:// www.w3.org /'を絶対的なUriとして持っているので、 '#'をフラグメントの開始として検出し、 '!断片的なテキストとして「ホーム」と表示されます。 – vane