87 |
self.session = None |
self.session = None |
88 |
|
|
89 |
|
|
90 |
dtd = "http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd" |
dtd = "http://thuban.intevation.org/dtds/thuban-1.0rc1.dtd" |
91 |
thubanids = [((dtd, n), (None, "id")) for n in |
thubanids = [((dtd, n), (None, "id")) for n in |
92 |
["fileshapesource", "filetable", "jointable", |
["fileshapesource", "filetable", "jointable", |
93 |
"derivedshapesource"]] |
"derivedshapesource"]] |
97 |
("jointable", "right"), |
("jointable", "right"), |
98 |
("derivedshapesource", "table"), |
("derivedshapesource", "table"), |
99 |
("derivedshapesource", "shapesource")]] |
("derivedshapesource", "shapesource")]] |
100 |
filenames = [((dtd, n), (None, m)) for n, m in |
|
101 |
[("fileshapesource", "filename"), |
# The filenames in the tests should be understandable on all |
102 |
("rasterlayer", "filename"), |
# currently supported platforms so filenames is an empty list |
103 |
("filetable", "filename")]] |
filenames = [] |
104 |
|
|
105 |
del n, m, dtd |
del n, m, dtd |
106 |
|
|
107 |
def check_format(self): |
def check_format(self): |
184 |
file_contents = '''\ |
file_contents = '''\ |
185 |
<?xml version="1.0" encoding="UTF-8"?> |
<?xml version="1.0" encoding="UTF-8"?> |
186 |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
187 |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd" |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0rc1.dtd" |
188 |
title="Stra\xc3\x9fen & Landmarken"> |
title="Stra\xc3\x9fen & Landmarken"> |
189 |
<fileshapesource filetype="shapefile" id="D1" |
<fileshapesource filetype="shapefile" id="D1" |
190 |
filename="../../Data/iceland/political.shp"/> |
filename="../../Data/iceland/political.shp"/> |
276 |
file_contents = '''\ |
file_contents = '''\ |
277 |
<?xml version="1.0" encoding="UTF-8"?> |
<?xml version="1.0" encoding="UTF-8"?> |
278 |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
279 |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd" |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0rc1.dtd" |
280 |
title="Non ASCII column name test"> |
title="Non ASCII column name test"> |
281 |
<fileshapesource filetype="shapefile" id="D1" |
<fileshapesource filetype="shapefile" id="D1" |
282 |
filename="TestNonAsciiColumnName.shp"/> |
filename="TestNonAsciiColumnName.shp"/> |
353 |
file_contents = '''\ |
file_contents = '''\ |
354 |
<?xml version="1.0" encoding="UTF-8"?> |
<?xml version="1.0" encoding="UTF-8"?> |
355 |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
356 |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd" |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0rc1.dtd" |
357 |
title="single map&layer"> |
title="single map&layer"> |
358 |
<fileshapesource filetype="shapefile" id="D1" |
<fileshapesource filetype="shapefile" id="D1" |
359 |
filename="../../Data/iceland/political.shp"/> |
filename="../../Data/iceland/political.shp"/> |
390 |
|
|
391 |
file_contents = '''\ |
file_contents = '''\ |
392 |
<?xml version="1.0" encoding="UTF-8"?> |
<?xml version="1.0" encoding="UTF-8"?> |
393 |
<!DOCTYPE session SYSTEM "thuban.dtd"> |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
394 |
<session title="single map&layer"> |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0rc1.dtd" |
395 |
<map title="Test Map"> |
title="single map&layer"> |
396 |
<projection> |
<fileshapesource filetype="shapefile" id="D138389860" |
397 |
<parameter value="zone=26"/> |
filename="../../Data/iceland/political.shp"/> |
398 |
<parameter value="proj=utm"/> |
<fileshapesource filetype="shapefile" id="D138504492" |
399 |
<parameter value="ellps=clrk66"/> |
filename="../../Data/iceland/political.shp"/> |
400 |
</projection> |
<map title="Test Map"> |
401 |
<layer title="My Layer" stroke_width="1" fill="None" |
<projection name=""> |
402 |
filename="../../Data/iceland/political.shp" |
<parameter value="zone=26"/> |
403 |
stroke="#000000"> |
<parameter value="proj=utm"/> |
404 |
|
<parameter value="ellps=clrk66"/> |
405 |
|
</projection> |
406 |
|
<layer shapestore="D138389860" visible="true" stroke="#000000" |
407 |
|
title="My Layer" stroke_width="1" fill="None"> |
408 |
<classification field="POPYREG" field_type="string"> |
<classification field="POPYREG" field_type="string"> |
409 |
<clnull> |
<clnull label=""> |
410 |
<cldata stroke="#000000" stroke_width="1" fill="None"/> |
<cldata stroke="#000000" stroke_width="1" fill="None"/> |
411 |
</clnull> |
</clnull> |
412 |
<clpoint value="1"> |
<clpoint label="" value="1"> |
413 |
<cldata stroke="#000000" stroke_width="2" fill="None"/> |
<cldata stroke="#000000" stroke_width="2" fill="None"/> |
414 |
</clpoint> |
</clpoint> |
415 |
<clpoint value="1"> |
<clpoint label="" value="1"> |
416 |
<cldata stroke="#000000" stroke_width="10" fill="None"/> |
<cldata stroke="#000000" stroke_width="10" fill="None"/> |
417 |
</clpoint> |
</clpoint> |
418 |
<clpoint value="\xc3\xa4\xc3\xb6\xc3\xbc" |
<clpoint label="\xc3\x9cml\xc3\xa4uts" |
419 |
label="\xc3\x9cml\xc3\xa4uts"> |
value="\xc3\xa4\xc3\xb6\xc3\xbc"> |
420 |
<cldata fill="None" stroke="#000000" stroke_width="1"/> |
<cldata stroke="#000000" stroke_width="1" fill="None"/> |
421 |
</clpoint> |
</clpoint> |
422 |
</classification> |
</classification> |
423 |
</layer> |
</layer> |
424 |
<layer title="My Layer 2" stroke_width="1" fill="None" |
<layer shapestore="D138504492" visible="true" stroke="#000000" |
425 |
filename="../../Data/iceland/political.shp" |
title="My Layer 2" stroke_width="2" fill="None"> |
|
stroke="#000000"> |
|
426 |
<classification field="AREA" field_type="double"> |
<classification field="AREA" field_type="double"> |
427 |
<clnull> |
<clnull label=""> |
428 |
<cldata stroke="#000000" stroke_width="2" fill="None"/> |
<cldata stroke="#000000" stroke_width="2" fill="None"/> |
429 |
</clnull> |
</clnull> |
430 |
<clrange min="0" max="1"> |
<clrange label="" range="[0;1["> |
431 |
<cldata stroke="#111111" stroke_width="1" fill="None"/> |
<cldata stroke="#111111" stroke_width="1" fill="None"/> |
432 |
</clrange> |
</clrange> |
433 |
<clpoint value=".5"> |
<clpoint label="" value="0.5"> |
434 |
<cldata stroke="#000000" stroke_width="1" fill="#111111"/> |
<cldata stroke="#000000" stroke_width="1" fill="#111111"/> |
435 |
</clpoint> |
</clpoint> |
436 |
<clrange min="-1" max="0"> |
<clrange label="" range="[-1;0["> |
437 |
<cldata stroke="#000000" stroke_width="1" fill="None"/> |
<cldata stroke="#000000" stroke_width="1" fill="None"/> |
438 |
</clrange> |
</clrange> |
439 |
<clpoint value="-.5"> |
<clpoint label="" value="-0.5"> |
440 |
<cldata stroke="#000000" stroke_width="1" fill="None"/> |
<cldata stroke="#000000" stroke_width="1" fill="None"/> |
441 |
</clpoint> |
</clpoint> |
442 |
</classification> |
</classification> |
443 |
</layer> |
</layer> |
444 |
</map> |
</map> |
445 |
</session> |
</session> |
446 |
''' |
''' |
447 |
|
|
475 |
|
|
476 |
self.TestLayers(map.Layers(), expected) |
self.TestLayers(map.Layers(), expected) |
477 |
|
|
478 |
|
self.check_format() |
479 |
|
|
480 |
|
|
481 |
class TestLabels(ClassificationTest): |
class TestLabels(ClassificationTest): |
482 |
|
|
483 |
file_contents = '''\ |
file_contents = '''\ |
484 |
<?xml version="1.0" encoding="UTF-8"?> |
<?xml version="1.0" encoding="UTF-8"?> |
485 |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
486 |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd" |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0rc1.dtd" |
487 |
title="single map&layer"> |
title="single map&layer"> |
488 |
<fileshapesource filetype="shapefile" id="D1" |
<fileshapesource filetype="shapefile" id="D1" |
489 |
filename="../../Data/iceland/political.shp"/> |
filename="../../Data/iceland/political.shp"/> |
531 |
file_contents = '''\ |
file_contents = '''\ |
532 |
<?xml version="1.0" encoding="UTF-8"?> |
<?xml version="1.0" encoding="UTF-8"?> |
533 |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
534 |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd" |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0rc1.dtd" |
535 |
title="single map&layer"> |
title="single map&layer"> |
536 |
<fileshapesource filetype="shapefile" id="D2" |
<fileshapesource filetype="shapefile" id="D2" |
537 |
filename="../../Data/iceland/roads-line.shp"/> |
filename="../../Data/iceland/roads-line.shp"/> |
609 |
file_contents = '''\ |
file_contents = '''\ |
610 |
<?xml version="1.0" encoding="UTF-8"?> |
<?xml version="1.0" encoding="UTF-8"?> |
611 |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
612 |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd" |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0rc1.dtd" |
613 |
title="single map&layer"> |
title="single map&layer"> |
614 |
<map title="Test Map"> |
<map title="Test Map"> |
615 |
<rasterlayer visible="false" filename="../../Data/iceland/island.tif" |
<rasterlayer visible="false" filename="../../Data/iceland/island.tif" |
643 |
|
|
644 |
file_contents = '''<?xml version="1.0" encoding="UTF-8"?> |
file_contents = '''<?xml version="1.0" encoding="UTF-8"?> |
645 |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
646 |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd" title="A Joined Table session"> |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0rc1.dtd" title="A Joined Table session"> |
647 |
<fileshapesource filetype="shapefile" id="D137227612" |
<fileshapesource filetype="shapefile" id="D137227612" |
648 |
filename="../../Data/iceland/roads-line.shp"/> |
filename="../../Data/iceland/roads-line.shp"/> |
649 |
<filetable filetype="DBF" filename="load_joinedtable.dbf" id="D136171140" |
<filetable filetype="DBF" filename="load_joinedtable.dbf" id="D136171140" |
692 |
|
|
693 |
file_contents = '''<?xml version="1.0" encoding="UTF-8"?> |
file_contents = '''<?xml version="1.0" encoding="UTF-8"?> |
694 |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
695 |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd" |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0rc1.dtd" |
696 |
title="unnamed session"> |
title="unnamed session"> |
697 |
<dbconnection port="%(port)s" host="%(host)s" user="%(user)s" |
<dbconnection port="%(port)s" host="%(host)s" user="%(user)s" |
698 |
dbtype="postgis" id="D142684948" dbname="%(dbname)s"/> |
dbtype="postgis" id="D142684948" dbname="%(dbname)s"/> |
741 |
|
|
742 |
file_contents = '''<?xml version="1.0" encoding="UTF-8"?> |
file_contents = '''<?xml version="1.0" encoding="UTF-8"?> |
743 |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
744 |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd" |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0rc1.dtd" |
745 |
title="unnamed session"> |
title="unnamed session"> |
746 |
<dbconnection port="%(port)s" host="%(host)s" user="%(user)s" |
<dbconnection port="%(port)s" host="%(host)s" user="%(user)s" |
747 |
dbtype="postgis" id="D142684948" dbname="%(dbname)s"/> |
dbtype="postgis" id="D142684948" dbname="%(dbname)s"/> |
836 |
file_contents = '''\ |
file_contents = '''\ |
837 |
<?xml version="1.0" encoding="UTF-8"?> |
<?xml version="1.0" encoding="UTF-8"?> |
838 |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
<!DOCTYPE session SYSTEM "thuban-1.0.dtd"> |
839 |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd" |
<session xmlns="http://thuban.intevation.org/dtds/thuban-1.0rc1.dtd" |
840 |
title="single map&layer"> |
title="single map&layer"> |
841 |
<fileshapesource id="D1" filename="../../Data/iceland/political.shp"/> |
<fileshapesource id="D1" filename="../../Data/iceland/political.shp"/> |
842 |
<map title="Test Map"> |
<map title="Test Map"> |
863 |
# LoadError really was about the missing attribute |
# LoadError really was about the missing attribute |
864 |
self.assertEquals(str(value), |
self.assertEquals(str(value), |
865 |
"Element " |
"Element " |
866 |
"(u'http://thuban.intevation.org/dtds/thuban-1.0-dev.dtd'," |
"(u'http://thuban.intevation.org/dtds/thuban-1.0rc1.dtd'," |
867 |
" u'fileshapesource') requires an attribute 'filetype'") |
" u'fileshapesource') requires an attribute 'filetype'") |
868 |
else: |
else: |
869 |
self.fail("Missing filetype attribute doesn't raise LoadError") |
self.fail("Missing filetype attribute doesn't raise LoadError") |