OpenLayers OpenLayers

Changeset 5311

Show
Ignore:
Timestamp:
12/01/07 04:56:32 (1 year ago)
Author:
ahocevar
Message:

tests are now much more detailled and also cover new features

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sandbox/ahocevar/styles/tests/Format/test_SLD.html

    r5274 r5311  
    44    <script type="text/javascript"> 
    55 
    6     var test_content = '<sld:StyledLayerDescriptor xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"><sld:NamedLayer><sld:UserStyle><sld:Name>foo</sld:Name><sld:FeatureTypeStyle><sld:Rule><sld:Name>bar</sld:Name><ogc:Filter></ogc:Filter><sld:PolygonSymbolizer><sld:Fill><sld:CssParameter name="fill"><ogc:Literal>blue</ogc:Literal></sld:CssParameter></sld:Fill></sld:PolygonSymbolizer></sld:Rule></sld:FeatureTypeStyle></sld:UserStyle></sld:NamedLayer></sld:StyledLayerDescriptor>'; 
     6    var test_content = '<sld:StyledLayerDescriptor xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"><sld:NamedLayer><sld:Name>TestLayer</sld:Name><sld:UserStyle><sld:Name>foo</sld:Name><sld:FeatureTypeStyle><sld:Rule><sld:Name>bar</sld:Name><ogc:Filter></ogc:Filter><sld:PolygonSymbolizer><sld:Fill><sld:CssParameter name="fill"><ogc:Literal>blue</ogc:Literal></sld:CssParameter></sld:Fill></sld:PolygonSymbolizer></sld:Rule></sld:FeatureTypeStyle></sld:UserStyle></sld:NamedLayer></sld:StyledLayerDescriptor>'; 
    77 
    88    function test_Format_SLD_constructor(t) {  
     
    1818 
    1919    function test_Format_SLD_read(t) { 
    20         t.plan(4); 
    21         var styles = (new OpenLayers.Format.SLD()).read(this.test_content); 
    22          
    23         t.ok(styles.foo != undefined, "SLD correctly reads a UserStyle named \"foo\""); 
    24         t.eq(styles.foo.rules.length, 1, "The number of rules for the UserStyle is correct"); 
    25         t.eq(styles.foo.rules[0].name, "bar", "The first rule's name is \"bar\""); 
    26         t.eq(styles.foo.rules[0].symbolizer.Polygon.fillColor, "blue", "The fillColor for the Polygon symbolizer is correct"); 
     20        t.plan(5); 
     21        var format = new OpenLayers.Format.SLD(); 
     22        var styles = format.read(this.test_content); 
     23         
     24        var testLayer = format.content.namedLayer.TestLayer; 
     25         
     26        t.ok(testLayer.foo != undefined, "SLD correctly reads a UserStyle named \"foo\""); 
     27        t.eq(testLayer.foo.rules.length, 1, "The number of rules for the UserStyle is correct"); 
     28        t.eq(testLayer.foo.rules[0].name, "bar", "The first rule's name is \"bar\""); 
     29        t.eq(testLayer.foo.rules[0].symbolizer.Polygon.fillColor, "blue", "The fillColor for the Polygon symbolizer is correct"); 
     30        t.eq(testLayer.foo.name, styles[0].name, "The content hash of the Format contains the correct rules."); 
    2731    } 
    2832 
  • sandbox/ahocevar/styles/tests/Rule/test_Comparison.html

    r5274 r5311  
    2020        var rule = new OpenLayers.Rule.Comparison(); 
    2121        rule.destroy(); 
    22         t.eq(rule.symbolizer, null, "symbolizer hash nulled properly"); 
     22        t.eq(rule.symbolizer, null, "symbolizer hash nulled properly"); 
     23    } 
     24     
     25    function test_Comparison_value2regex(t) { 
     26        t.plan(2); 
     27         
     28        var rule = new OpenLayers.Rule.Comparison({ 
     29                property: "foo", 
     30                value: "*b?r\\*\\?*", 
     31                type: OpenLayers.Rule.Comparison.LIKE}); 
     32        rule.value2regex("*", "?", "\\"); 
     33        t.eq(rule.value, ".*b.r\\*\\?.*", "Regular expression generated correctly."); 
     34         
     35        rule.value = "%b.r!%!.%"; 
     36        rule.value2regex("%", ".", "!"); 
     37        t.eq(rule.value, ".*b.r\\%\\..*", "Regular expression with different wildcard and escape chars generated correctly."); 
    2338    } 
    2439     
     
    3045                lowerBoundary: 1000, 
    3146                upperBoundary: 5000, 
    32                 type: OpenLayers.Rule.Comparison.type.BETWEEN}); 
     47                type: OpenLayers.Rule.Comparison.BETWEEN}); 
    3348 
    3449        var features = [ 
  • sandbox/ahocevar/styles/tests/Rule/test_Logical.html

    r5274 r5311  
    2727         
    2828        var rule = new OpenLayers.Rule.Logical({ 
    29                 type: OpenLayers.Rule.Logical.type.NOT}); 
     29                type: OpenLayers.Rule.Logical.NOT}); 
    3030        rule.children.push(new OpenLayers.Rule()); 
    3131         
  • sandbox/ahocevar/styles/tests/test_Style.html

    r5274 r5311  
    88          
    99        var options = {'foo': 'bar'};  
    10         var style = new OpenLayers.Style(options);  
     10        var style = new OpenLayers.Style(null, options);  
    1111        t.ok(style instanceof OpenLayers.Style,  
    1212             "new OpenLayers.Style returns object" );  
    1313        t.eq(style.foo, "bar", "constructor sets options correctly");  
    1414        t.eq(typeof style.createStyle, "function", "style has a createStyle function");  
     15    } 
     16     
     17    function test_Style_create(t) { 
     18        t.plan(5); 
     19         
     20        var map = new OpenLayers.Map("map"); 
     21         
     22        var layer = new OpenLayers.Layer.Vector("layer"); 
     23          
     24        var baseStyle = {externalGraphic: "bar${foo}.png"}; 
     25         
     26        var style = new OpenLayers.Style(baseStyle); 
     27         
     28        var rule = new OpenLayers.Rule.FeatureId({ 
     29                fids: ["1"], 
     30                symbolizer: {"Point": {fillColor: "green"}}, 
     31                maxScale: 2000000}); 
     32        style.addRules([rule]); 
     33         
     34        var feature = new OpenLayers.Feature.Vector( 
     35                new OpenLayers.Geometry.Point(3,5), 
     36                {"foo": "bar"}, 
     37                style); 
     38 
     39        feature.fid = "1"; 
     40        // for this fid, the above rule should apply 
     41                 
     42        layer.addFeatures([feature]); 
     43        map.addLayer(layer); 
     44        map.setBaseLayer(layer); 
     45 
     46        map.setCenter(new OpenLayers.LonLat(3,5), 8); 
     47        // at this scale, the feature should be visible 
     48        var createdStyle = style.createStyle(feature); 
     49        t.eq(createdStyle.externalGraphic, "barbar.png", "Calculated property style correctly."); 
     50        t.eq(createdStyle.display, "", "Feature is visible at scale "+map.getScale()); 
     51 
     52        map.setCenter(new OpenLayers.LonLat(3,5), 7); 
     53        // at this scale, the feature should be invisible 
     54        createdStyle = style.createStyle(feature); 
     55        t.eq(createdStyle.display, "none", "Feature is invisible at scale "+map.getScale()); 
     56        t.eq(createdStyle.fillColor, "green", "Point symbolizer from rule for fid=\"1\" applied correctly."); 
     57         
     58        feature.fid = "2"; 
     59        // now the rule should not apply 
     60         
     61        createdStyle = style.createStyle(feature); 
     62        t.eq(createdStyle.fillColor, undefined, "Correct style for rule that does not apply to fid=\"2\"."); 
     63         
    1564    } 
    1665 
     
    2069        var style = new OpenLayers.Style(); 
    2170        style.destroy(); 
    22        t.eq(style.rules, null, "rules array nulled properly"); 
     71        t.eq(style.rules, null, "rules array nulled properly"); 
    2372    } 
    2473 
     
    2675</head>  
    2776<body>  
     77  <div id="map" style="width:500px;height:500px"></div> 
    2878</body>  
    2979</html>