65 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						|
<html>
 | 
						|
<head>
 | 
						|
    <title>require.js: urlFetch Mapping Test</title>
 | 
						|
    <script type="text/javascript" src="../../require.js"></script>
 | 
						|
    <script type="text/javascript" src="../doh/runner.js"></script>
 | 
						|
    <script type="text/javascript" src="../doh/_browserRunner.js"></script>
 | 
						|
    <script type="text/javascript">
 | 
						|
    require({
 | 
						|
            baseUrl: "./",
 | 
						|
            paths: {
 | 
						|
                'one' : 'two',
 | 
						|
                'two' : 'two',
 | 
						|
                'three': 'three',
 | 
						|
                'four': 'three'
 | 
						|
            }
 | 
						|
        },
 | 
						|
        ["require", "one", "two", "three", "four"],
 | 
						|
        function(require, one, two, three, four) {
 | 
						|
            doh.register(
 | 
						|
                "urlfetch", 
 | 
						|
                [
 | 
						|
                    function urlfetch(t){
 | 
						|
                        //First confirm there is only one script tag for each
 | 
						|
                        //module:
 | 
						|
                        var scripts = document.getElementsByTagName("script"),
 | 
						|
                            i, counts = {}, url, props, something;
 | 
						|
                        for (var i = scripts.length - 1; i > -1; i--) {
 | 
						|
                            url = scripts[i].href;
 | 
						|
                            if (url) {
 | 
						|
                                if (!(url in counts)) {
 | 
						|
                                    counts[url] = 0;
 | 
						|
                                }
 | 
						|
                                counts[url] += 1;
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
 | 
						|
                        //Now that we counted all the modules make sure count
 | 
						|
                        //is always one.
 | 
						|
                        for (prop in counts) {
 | 
						|
                            t.is(1, counts[prop]);
 | 
						|
                        }
 | 
						|
 | 
						|
                        t.is("one", one.name);
 | 
						|
                        t.is("one", two.oneName);
 | 
						|
                        t.is("two", two.name);
 | 
						|
                        t.is("three", three.name);
 | 
						|
                        t.is("three", four.threeName);
 | 
						|
                        t.is("four", four.name);
 | 
						|
                    }
 | 
						|
                ]
 | 
						|
            );
 | 
						|
            doh.run();
 | 
						|
        }
 | 
						|
    );
 | 
						|
    </script>
 | 
						|
</head>
 | 
						|
<body>
 | 
						|
    <h1>require.js: urlFetch Mapping Test</h1>
 | 
						|
    <p>Make sure that multiple modules mapped to the same URL only get
 | 
						|
    the URL fetched once.</p>
 | 
						|
    <p>Check console for messages</p>
 | 
						|
</body>
 | 
						|
</html>
 |