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