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//splitURL
9[a,b,c,d]=splitURL("http://www.scilab.org");
10assert_checkequal(a, "http");
11assert_checkequal(b, "www.scilab.org");
12assert_checkequal(c, "");
13assert_checkequal(d, "");
14[a,b,c,d]=splitURL("http://www.scilab.org/");
15assert_checkequal(a, "http");
16assert_checkequal(b, "www.scilab.org");
17assert_checkequal(c, "/");
18assert_checkequal(d, "");
19[a,b,c,d]=splitURL("http://www.scilab.org/products/scilab/environment");
20assert_checkequal(a, "http");
21assert_checkequal(b, "www.scilab.org");
22assert_checkequal(c, "/products/scilab/environment");
23assert_checkequal(d, "");
24[a,b,c,d]=splitURL("http://www.scilab.org/content/search?SearchText=plot");
25assert_checkequal(a, "http");
26assert_checkequal(b, "www.scilab.org");
27assert_checkequal(c, "/content/search");
28assert_checkequal(d, "SearchText=plot");
29[a,b,c,d]=splitURL("ftp://ftp.free.fr/pub/Distributions_Linux/debian/README");
30assert_checkequal(a, "ftp");
31assert_checkequal(b, "ftp.free.fr");
32assert_checkequal(c, "/pub/Distributions_Linux/debian/README");
33assert_checkequal(d, "");
34[a,b,c,d]=splitURL("https://encrypted.google.com");
35assert_checkequal(a, "https");
36assert_checkequal(b, "encrypted.google.com");
37assert_checkequal(c, "");
38assert_checkequal(d, "");
39[a,b,c,d,e,f,g]=splitURL("https://plop:ae@encrypted.google.com:443/full/path?query=true#myFragment");
40assert_checkequal(a, "https");
41assert_checkequal(b, "encrypted.google.com");
42assert_checkequal(c, "/full/path");
43assert_checkequal(d, "query=true");
44assert_checkequal(e, "plop:ae");
45assert_checkequal(f, int32(443)); // port
46assert_checkequal(g, "myFragment"); // fragment
47// Badly formatted URL
48assert_checkerror("splitURL(''http://plop@ae:sylvestre.ledru.info:80'');", [], 999);
49// No protocol
50[proto, server, path, query, username, port, frag] = splitURL("www.scilab.org");
51assert_checkequal(proto, "");
52assert_checkequal(server, "");
53assert_checkequal(path, "www.scilab.org");
54assert_checkequal(query, "");
55assert_checkequal(username, "");
56assert_checkequal(port, int32(0));
57assert_checkequal(frag, "");
58// Relative URL
59[proto, server, path, query, username, port, frag] = splitURL("./index.html");
60assert_checkequal(proto, "");
61assert_checkequal(server, "");
62assert_checkequal(path, "./index.html");
63assert_checkequal(query, "");
64assert_checkequal(username, "");
65assert_checkequal(port, int32(0));
66assert_checkequal(frag, "");
67