testcase.php

Gesponsorde koppelingen

PHP script bestanden

  1. URL.php
  2. testcase.php

« Lees de omschrijving en reacties

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php

include 'URL.php';

class URL_Testcase
{
    static public function run()
    {

        $with = create_function('$x', 'return $x;');
        
        $a = new URL('http://www.ikhoefgeen.nl');
        
        assert('!isset($a->path)');

        $b = new URL('/test/');
        
        assert('!isset($b->host)');
        
        assert('isset($b->path) && $b->path == "/test/"');

        $c = new URL('alfa-beta');

        $d = new URL('pagina.html#test');
        
        assert('$d->fragment == "test"');

        $e = URL::format('https://ikhoefgeen.nl/index/taart.php?a=%s&c=%s#linkList', 'b', 'd');
        
        assert('$a->merge($b) == "http://www.ikhoefgeen.nl/test/"');
        
        assert('$a->merge($c) == "http://www.ikhoefgeen.nl/alfa-beta"');
        
        assert('$a->merge($d) == "http://www.ikhoefgeen.nl/pagina.html#test"');
        
        assert('$a->merge($e) == "https://ikhoefgeen.nl/index/taart.php?a=b&c=d#linkList"');
        
        $f = new URL('/alfa/beta/gamma/delta');
        
        $g = new URL('../../epsilon/');
        
        // bovenliggende urls lossen /../-stappen op.
        assert('$a->merge($f)->merge($g) == "http://www.ikhoefgeen.nl/alfa/epsilon/"');
        
        // losse onderdelen zijn apart in te stellen
        $h = clone $g;
        $h->scheme = 'http';
        $h->host = 'www.ikhoef-geen.nl';
        $h->port = 8084;
        $h->query = 'alfa=beta&gamma=delta';
        assert('$h == "http://www.ikhoef-geen.nl:8084/../../epsilon/?alfa=beta&gamma=delta"');
        
        // query-onderdelen zijn toe te voegen
        $h->query['taart'] = 'appel';
        assert('$h == "http://www.ikhoef-geen.nl:8084/../../epsilon/?alfa=beta&gamma=delta&taart=appel"');
        
        // volgorde query verandert niet zomaar wanneer je een query-onderdeel verandert
        $h->query['alfa'] = 'grieks';
        assert('$h == "http://www.ikhoef-geen.nl:8084/../../epsilon/?alfa=grieks&gamma=delta&taart=appel"');
        
        $j = new URL('?a=b&e=fout');
        $k = new URL('?c=d&e=goed');
        
        // queries worden ook gemerged: overschrijft wanneer naam al bestaat
        assert('$j->merge($k) == "?a=b&e=goed&c=d"');
        
        // query kan ook een array zijn, gaat goed.
        $l = new URL('?a[]=a&a[]=b&a[]=c');
        assert('is_array($l->query["a"])');
        
        echo "All OK";
    }
}


URL_Testcase::run();

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.