1//<-- CLI SHELL MODE -->
2// =============================================================================
3// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4// Copyright (C) 2011 - Sylvestre LEDRU
5//
6//  This file is distributed under the same license as the Scilab package.
7// =============================================================================
8
9//splitURL
10
11[a,b,c,d]=splitURL("http://www.scilab.org");
12assert_checkequal(a, "http");
13assert_checkequal(b, "www.scilab.org");
14assert_checkequal(c, "");
15assert_checkequal(d, "");
16
17[a,b,c,d]=splitURL("http://www.scilab.org/");
18assert_checkequal(a, "http");
19assert_checkequal(b, "www.scilab.org");
20assert_checkequal(c, "/");
21assert_checkequal(d, "");
22
23[a,b,c,d]=splitURL("http://www.scilab.org/products/scilab/environment");
24assert_checkequal(a, "http");
25assert_checkequal(b, "www.scilab.org");
26assert_checkequal(c, "/products/scilab/environment");
27assert_checkequal(d, "");
28
29[a,b,c,d]=splitURL("http://www.scilab.org/content/search?SearchText=plot");
30assert_checkequal(a, "http");
31assert_checkequal(b, "www.scilab.org");
32assert_checkequal(c, "/content/search");
33assert_checkequal(d, "SearchText=plot");
34
35[a,b,c,d]=splitURL("ftp://ftp.free.fr/pub/Distributions_Linux/debian/README");
36assert_checkequal(a, "ftp");
37assert_checkequal(b, "ftp.free.fr");
38assert_checkequal(c, "/pub/Distributions_Linux/debian/README");
39assert_checkequal(d, "");
40
41[a,b,c,d]=splitURL("https://encrypted.google.com");
42assert_checkequal(a, "https");
43assert_checkequal(b, "encrypted.google.com");
44assert_checkequal(c, "");
45assert_checkequal(d, "");
46
47[a,b,c,d,e,f,g]=splitURL("https://plop:ae@encrypted.google.com:443/full/path?query=true#myFragment");
48assert_checkequal(a, "https");
49assert_checkequal(b, "encrypted.google.com");
50assert_checkequal(c, "/full/path");
51assert_checkequal(d, "query=true");
52assert_checkequal(e, "plop:ae");
53assert_checkequal(f, int32(443)); // port
54assert_checkequal(g, "myFragment"); // fragment
55
56// Badly formatted URL
57assert_checkerror("splitURL(''http://plop@ae:sylvestre.ledru.info:80'');", [], 999);
58
59// No protocol
60[proto, server, path, query, username, port, frag] = splitURL("www.scilab.org");
61assert_checkequal(proto, "");
62assert_checkequal(server, "");
63assert_checkequal(path, "www.scilab.org");
64assert_checkequal(query, "");
65assert_checkequal(username, "");
66assert_checkequal(port, int32(0));
67assert_checkequal(frag, "");
68
69// Relative URL
70[proto, server, path, query, username, port, frag] = splitURL("./index.html");
71assert_checkequal(proto, "");
72assert_checkequal(server, "");
73assert_checkequal(path, "./index.html");
74assert_checkequal(query, "");
75assert_checkequal(username, "");
76assert_checkequal(port, int32(0));
77assert_checkequal(frag, "");
78
79