[build] Prevent cyclic targets from being built in parallel
[mono.git] / mcs / class / System / Test / System / uri-test-generator.cs
1 //\r
2 // uri-test-generator.cs : URI test result generator.\r
3 //\r
4 // Author:\r
5 //      Atsushi Enomoto <atushi@ximian.com>\r
6 //\r
7 // (C)2003 Novell inc.\r
8 //\r
9 // See test-uri-list.txt for usage.\r
10 //\r
11 using System;\r
12 using System.IO;\r
13 using System.Text;\r
14 \r
15 namespace MonoTests.System\r
16 {\r
17         public class UriTestGenerator\r
18         {\r
19                 public static void Main (string [] args)\r
20                 {\r
21                         StreamReader sr = new StreamReader ("test-uri-list.txt", Encoding.UTF8);\r
22                         StreamWriter sw = new StreamWriter ("test-uri-props.txt", false, Encoding.UTF8);\r
23 \r
24                         GenerateResult (sr, sw, null);\r
25 \r
26                         sr = new StreamReader ("test-uri-relative-list.txt", Encoding.UTF8);\r
27                         sw = new StreamWriter ("test-uri-relative-props.txt", false, Encoding.UTF8);\r
28 \r
29                         Uri baseUri = new Uri ("http://www.go-mono.com");\r
30                         GenerateResult (sr, sw, baseUri);\r
31                 }\r
32 \r
33                 public static void GenerateResult (TextReader sr, TextWriter sw, Uri baseUri)\r
34                 {\r
35                         while (sr.Peek () > 0) {\r
36                                 string uriString = sr.ReadLine ();\r
37                                 if (uriString.Length == 0 || uriString [0] == '#')\r
38                                         continue;\r
39                                 Uri uri = (baseUri == null) ?\r
40                                         new Uri (uriString) : new Uri (baseUri, uriString);\r
41 \r
42                                 sw.WriteLine ("-------------------------");\r
43                                 sw.WriteLine (uriString);\r
44                                 sw.WriteLine (uri.ToString ());\r
45                                 sw.WriteLine (uri.AbsoluteUri);\r
46                                 sw.WriteLine (uri.Scheme);\r
47                                 sw.WriteLine (uri.Host);\r
48                                 sw.WriteLine (uri.LocalPath);\r
49                                 sw.WriteLine (uri.Query);\r
50                                 sw.WriteLine (uri.Port);\r
51                                 sw.WriteLine (uri.IsFile);\r
52                                 sw.WriteLine (uri.IsUnc);\r
53                                 sw.WriteLine (uri.IsLoopback);\r
54                                 sw.WriteLine (uri.UserEscaped);\r
55                                 sw.WriteLine (uri.HostNameType);\r
56                                 sw.WriteLine (uri.AbsolutePath);\r
57                                 sw.WriteLine (uri.PathAndQuery);\r
58                                 sw.WriteLine (uri.Authority);\r
59                                 sw.WriteLine (uri.Fragment);\r
60                                 sw.WriteLine (uri.UserInfo);\r
61                                 sw.Flush ();\r
62                         }\r
63                         sr.Close ();\r
64                         sw.Close ();\r
65                 }\r
66 \r
67         }\r
68 }\r