[Commits] r269 - in sandbox/opengeo/geoexplorer/tests: . lib lib/GeoExt lib/GeoExt/data lib/GeoExt/widgets

commits at geoext.org commits at geoext.org
Wed Mar 25 00:14:37 CET 2009


Author: tschaub
Date: 2009-03-25 00:14:37 +0100 (Wed, 25 Mar 2009)
New Revision: 269

Added:
   sandbox/opengeo/geoexplorer/tests/index.html
   sandbox/opengeo/geoexplorer/tests/lib/
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/FeatureReader.html
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/FeatureStoreMediator.html
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerReader.html
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerRecord.html
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerStore.html
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerStoreMediator.html
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/ProtocolProxy.html
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/MapPanel.html
Removed:
   sandbox/opengeo/geoexplorer/tests/data/
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/FeatureReader.html
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/FeatureStoreMediator.html
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerReader.html
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerRecord.html
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerStore.html
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerStoreMediator.html
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/ProtocolProxy.html
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/
   sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/MapPanel.html
   sandbox/opengeo/geoexplorer/tests/widgets/
Modified:
   sandbox/opengeo/geoexplorer/tests/list-tests.html
Log:
merge r264:HEAD from trunk

Copied: sandbox/opengeo/geoexplorer/tests/index.html (from rev 268, core/trunk/tests/index.html)
===================================================================
--- sandbox/opengeo/geoexplorer/tests/index.html	                        (rev 0)
+++ sandbox/opengeo/geoexplorer/tests/index.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -0,0 +1,4 @@
+<html>
+    <head><meta http-equiv="refresh" content="0;url=run-tests.html"></head>
+    <body></body>
+</html>
\ No newline at end of file

Copied: sandbox/opengeo/geoexplorer/tests/lib (from rev 268, core/trunk/tests/lib)

Copied: sandbox/opengeo/geoexplorer/tests/lib/GeoExt (from rev 268, core/trunk/tests/lib/GeoExt)

Copied: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data (from rev 268, core/trunk/tests/lib/GeoExt/data)

Deleted: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/FeatureReader.html
===================================================================
--- core/trunk/tests/lib/GeoExt/data/FeatureReader.html	2009-03-24 23:09:00 UTC (rev 268)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/FeatureReader.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -1,64 +0,0 @@
-<!DOCTYPE html>
-<html debug="true">
-  <head>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
-
-    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
-    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
-
-    <script type="text/javascript">
-        function test_constructor(t) {
-            t.plan(2);
-            var reader = new GeoExt.data.FeatureReader({}, [
-                {'name': 'foo'},
-                {'name': 'bar'}
-            ]);
-            var fields = reader.recordType.prototype.fields;
-            // 2 tests
-            t.eq(fields.items.length, 2, 'number of items is correct');
-            t.ok(fields.items[0].name == 'foo' &&
-                 fields.items[1].name == 'bar',
-                 'field values are correct');
-        }
-        function test_readRecords(t) {
-            t.plan(9);
-            // setup
-            var reader, features, info, records;
-            reader = new GeoExt.data.FeatureReader({}, [
-                {'name': 'foo'},
-                {'name': 'bar'}
-            ]);
-            features = [
-                new OpenLayers.Feature.Vector(null, {
-                    'foo': 'foo_0',
-                    'bar': 'bar_0'
-                }),
-                new OpenLayers.Feature.Vector()
-            ];
-            features[0].fid = 1;
-            features[0].state = OpenLayers.State.INSERT;
-            features[1].fid = 2;
-            features[1].state = OpenLayers.State.DELETE;
-            // 8 tests
-            info = reader.readRecords(features);
-            records = info.records;
-            t.eq(info.totalRecords, 2, 'readRecords returns correct number of records');
-            t.eq(records[0].get('foo'), 'foo_0', 'readRecords correctly set feature properties in record');
-            t.eq(records[0].get('fid'), 1, 'readRecords correctly set feature fid in record');
-            t.eq(records[0].get('state'), OpenLayers.State.INSERT, 'readRecords correctly set feature state in record');
-            t.ok(records[0].get('feature') == features[0], 'readRecords correctly set feature in record');
-            t.eq(records[1].get('fid'), 2, 'readRecords correctly set feature fid in record (no properties case)');
-            t.eq(records[1].get('state'), OpenLayers.State.DELETE, 'readRecords correctly set feature state in record (no properties case)');
-            t.ok(records[1].get('feature') == features[1], 'readRecords correctly set feature in record (no properties case)');
-            // 1 test
-            reader.totalRecords = 20;
-            info = reader.readRecords(features);
-            t.eq(info.totalRecords, 20,
-                 "readRecords returns correct number of records");
-        }
-    </script>
-  <body>
-    <div id="map"></div>
-  </body>
-</html>

Copied: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/FeatureReader.html (from rev 268, core/trunk/tests/lib/GeoExt/data/FeatureReader.html)
===================================================================
--- sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/FeatureReader.html	                        (rev 0)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/FeatureReader.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<html debug="true">
+  <head>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
+
+    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
+    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
+
+    <script type="text/javascript">
+        function test_constructor(t) {
+            t.plan(2);
+            var reader = new GeoExt.data.FeatureReader({}, [
+                {'name': 'foo'},
+                {'name': 'bar'}
+            ]);
+            var fields = reader.recordType.prototype.fields;
+            // 2 tests
+            t.eq(fields.items.length, 2, 'number of items is correct');
+            t.ok(fields.items[0].name == 'foo' &&
+                 fields.items[1].name == 'bar',
+                 'field values are correct');
+        }
+        function test_readRecords(t) {
+            t.plan(9);
+            // setup
+            var reader, features, info, records;
+            reader = new GeoExt.data.FeatureReader({}, [
+                {'name': 'foo'},
+                {'name': 'bar'}
+            ]);
+            features = [
+                new OpenLayers.Feature.Vector(null, {
+                    'foo': 'foo_0',
+                    'bar': 'bar_0'
+                }),
+                new OpenLayers.Feature.Vector()
+            ];
+            features[0].fid = 1;
+            features[0].state = OpenLayers.State.INSERT;
+            features[1].fid = 2;
+            features[1].state = OpenLayers.State.DELETE;
+            // 8 tests
+            info = reader.readRecords(features);
+            records = info.records;
+            t.eq(info.totalRecords, 2, 'readRecords returns correct number of records');
+            t.eq(records[0].get('foo'), 'foo_0', 'readRecords correctly set feature properties in record');
+            t.eq(records[0].get('fid'), 1, 'readRecords correctly set feature fid in record');
+            t.eq(records[0].get('state'), OpenLayers.State.INSERT, 'readRecords correctly set feature state in record');
+            t.ok(records[0].get('feature') == features[0], 'readRecords correctly set feature in record');
+            t.eq(records[1].get('fid'), 2, 'readRecords correctly set feature fid in record (no properties case)');
+            t.eq(records[1].get('state'), OpenLayers.State.DELETE, 'readRecords correctly set feature state in record (no properties case)');
+            t.ok(records[1].get('feature') == features[1], 'readRecords correctly set feature in record (no properties case)');
+            // 1 test
+            reader.totalRecords = 20;
+            info = reader.readRecords(features);
+            t.eq(info.totalRecords, 20,
+                 "readRecords returns correct number of records");
+        }
+    </script>
+  <body>
+    <div id="map"></div>
+  </body>
+</html>

Deleted: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/FeatureStoreMediator.html
===================================================================
--- core/trunk/tests/lib/GeoExt/data/FeatureStoreMediator.html	2009-03-24 23:09:00 UTC (rev 268)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/FeatureStoreMediator.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -1,161 +0,0 @@
-<!DOCTYPE html>
-<html debug="true">
-  <head>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
-
-    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
-    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
-
-    <script type="text/javascript">
-        function test_constructor(t) {
-            t.plan(1);
-            // setup
-            var mediator, store;
-            store = new Ext.data.Store({
-                reader: new GeoExt.data.FeatureReader(
-                    {}, [{name: "name", type: "string"}]
-                )
-            });
-            // 1 test
-            mediator = new GeoExt.data.FeatureStoreMediator({
-                store: store
-            });
-            t.ok(mediator.store == store,
-                 "ctor correctly sets store");
-        }
-        function test_addFeatures(t) {
-            t.plan(4);
-            // setup
-            var mediator, store, features, flip, filter;
-            store = new Ext.data.Store({
-                reader: new GeoExt.data.FeatureReader(
-                    {}, [{name: "name", type: "string"}]
-                )
-            });
-            mediator = new GeoExt.data.FeatureStoreMediator({
-                store: store
-            });
-            function createFeatures() {
-                return [
-                    new OpenLayers.Feature.Vector(null, {
-                        name: "foo"
-                    }),
-                    new OpenLayers.Feature.Vector()
-                ];
-            }
-            // 2 tests
-            features = createFeatures();
-            mediator.addFeatures(features);
-            t.eq(store.getCount(), 2,
-                 "addFeatures adds correct number of features");
-            var record = store.getById(features[0].id);
-            t.ok(record.get('feature') == features[0],
-                 'addFeatures correctly adds features');
-            // 1 test
-            features = createFeatures();
-            mediator.addFeatures(features, {append: false});
-            t.eq(store.getCount(), 2,
-                 "addFeatures adds correct number of features");
-            // 1 test
-            flip = false;
-            filter = function() { flip = !flip; return flip; };
-            features = createFeatures();
-            mediator.addFeatures(features, 
-                {append: false, filter: filter});
-            t.eq(store.getCount(), 1,
-                 "addFeatures adds correct number of features " +
-                 "with filter passed");
-        }
-        // there's a bug in Ext where Ext dereferences an undefined
-        // value, the bug triggers with a grouping store and group
-        // field when store.loadData is called with only one arg
-        // or with false as the second arg. addFeatures works
-        // around that bug, so that test_addFeatures_ExtBug passes
-        //
-        // prefix the function name with test_ if you want to
-        // actually run the test
-        /*
-        function ExtBug(t) {
-            t.plan(1);
-            // setup
-            var store, a;
-            store = new Ext.data.GroupingStore({
-                reader: new Ext.data.ArrayReader({id: 0}, [
-                    {name: "name", mapping: 1},
-                    {name: "occupation", mapping: 2}
-                ]),
-                groupField: "name"
-            });
-            a = [[1, 'Bill', 'Gardener'], [2, 'Ben', 'Horticulturalist']];
-            store.loadData(a, false); // same effect with store.loadData(a)
-            // 1 test
-            t.eq(store.getCount(), 2,
-                 "correct number of records loaded");
-        }
-        */
-        function test_addFeatures_ExtBug(t) {
-            t.plan(2);
-            // setup
-            var mediator, store, features, flip, filter;
-            store = new Ext.data.GroupingStore({
-                reader: new GeoExt.data.FeatureReader(
-                    {}, [{name: "name", type: "string"}]
-                ),
-                groupField: "name"
-            });
-            mediator = new GeoExt.data.FeatureStoreMediator({
-                store: store
-            });
-            function createFeatures() {
-                return [
-                    new OpenLayers.Feature.Vector(null, {
-                        name: "foo"
-                    }),
-                    new OpenLayers.Feature.Vector()
-                ];
-            }
-            // 2 tests
-            features = createFeatures();
-            // {append: false} makes Ext panic without the workaround
-            // in FeatureStoreMediator.js, see test_ExtBug for making
-            // Ext panic without MapFish involves
-            mediator.addFeatures(features, {append: false});
-            t.eq(store.getCount(), 2,
-                 "addFeatures adds correct number of features");
-            var record = store.getById(features[0].id);
-            t.ok(record.get('feature') == features[0],
-                 'addFeatures correctly adds features');
-        }
-        function test_removeFeatures(t) {
-            t.plan(1);
-            // setup
-            var mediator, store, features;
-            store = new Ext.data.Store({
-                reader: new GeoExt.data.FeatureReader(
-                    {}, [{name: "name", type: "string"}]
-                )
-            });
-            mediator = new GeoExt.data.FeatureStoreMediator({
-                store: store
-            });
-            function createFeatures() {
-                return [
-                    new OpenLayers.Feature.Vector(null, {
-                        name: "foo"
-                    }),
-                    new OpenLayers.Feature.Vector()
-                ];
-            }
-            // 1 test
-            features = createFeatures();
-            mediator.addFeatures(features);
-            mediator.removeFeatures(features);
-            t.eq(store.getCount(), 0,
-                 'removesFeatures correctly removes features');
-        }
-    </script>
-  <body>
-    <div id="map"></div>
-  </body>
-</html>

Copied: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/FeatureStoreMediator.html (from rev 268, core/trunk/tests/lib/GeoExt/data/FeatureStoreMediator.html)
===================================================================
--- sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/FeatureStoreMediator.html	                        (rev 0)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/FeatureStoreMediator.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -0,0 +1,161 @@
+<!DOCTYPE html>
+<html debug="true">
+  <head>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
+
+    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
+    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
+
+    <script type="text/javascript">
+        function test_constructor(t) {
+            t.plan(1);
+            // setup
+            var mediator, store;
+            store = new Ext.data.Store({
+                reader: new GeoExt.data.FeatureReader(
+                    {}, [{name: "name", type: "string"}]
+                )
+            });
+            // 1 test
+            mediator = new GeoExt.data.FeatureStoreMediator({
+                store: store
+            });
+            t.ok(mediator.store == store,
+                 "ctor correctly sets store");
+        }
+        function test_addFeatures(t) {
+            t.plan(4);
+            // setup
+            var mediator, store, features, flip, filter;
+            store = new Ext.data.Store({
+                reader: new GeoExt.data.FeatureReader(
+                    {}, [{name: "name", type: "string"}]
+                )
+            });
+            mediator = new GeoExt.data.FeatureStoreMediator({
+                store: store
+            });
+            function createFeatures() {
+                return [
+                    new OpenLayers.Feature.Vector(null, {
+                        name: "foo"
+                    }),
+                    new OpenLayers.Feature.Vector()
+                ];
+            }
+            // 2 tests
+            features = createFeatures();
+            mediator.addFeatures(features);
+            t.eq(store.getCount(), 2,
+                 "addFeatures adds correct number of features");
+            var record = store.getById(features[0].id);
+            t.ok(record.get('feature') == features[0],
+                 'addFeatures correctly adds features');
+            // 1 test
+            features = createFeatures();
+            mediator.addFeatures(features, {append: false});
+            t.eq(store.getCount(), 2,
+                 "addFeatures adds correct number of features");
+            // 1 test
+            flip = false;
+            filter = function() { flip = !flip; return flip; };
+            features = createFeatures();
+            mediator.addFeatures(features, 
+                {append: false, filter: filter});
+            t.eq(store.getCount(), 1,
+                 "addFeatures adds correct number of features " +
+                 "with filter passed");
+        }
+        // there's a bug in Ext where Ext dereferences an undefined
+        // value, the bug triggers with a grouping store and group
+        // field when store.loadData is called with only one arg
+        // or with false as the second arg. addFeatures works
+        // around that bug, so that test_addFeatures_ExtBug passes
+        //
+        // prefix the function name with test_ if you want to
+        // actually run the test
+        /*
+        function ExtBug(t) {
+            t.plan(1);
+            // setup
+            var store, a;
+            store = new Ext.data.GroupingStore({
+                reader: new Ext.data.ArrayReader({id: 0}, [
+                    {name: "name", mapping: 1},
+                    {name: "occupation", mapping: 2}
+                ]),
+                groupField: "name"
+            });
+            a = [[1, 'Bill', 'Gardener'], [2, 'Ben', 'Horticulturalist']];
+            store.loadData(a, false); // same effect with store.loadData(a)
+            // 1 test
+            t.eq(store.getCount(), 2,
+                 "correct number of records loaded");
+        }
+        */
+        function test_addFeatures_ExtBug(t) {
+            t.plan(2);
+            // setup
+            var mediator, store, features, flip, filter;
+            store = new Ext.data.GroupingStore({
+                reader: new GeoExt.data.FeatureReader(
+                    {}, [{name: "name", type: "string"}]
+                ),
+                groupField: "name"
+            });
+            mediator = new GeoExt.data.FeatureStoreMediator({
+                store: store
+            });
+            function createFeatures() {
+                return [
+                    new OpenLayers.Feature.Vector(null, {
+                        name: "foo"
+                    }),
+                    new OpenLayers.Feature.Vector()
+                ];
+            }
+            // 2 tests
+            features = createFeatures();
+            // {append: false} makes Ext panic without the workaround
+            // in FeatureStoreMediator.js, see test_ExtBug for making
+            // Ext panic without MapFish involves
+            mediator.addFeatures(features, {append: false});
+            t.eq(store.getCount(), 2,
+                 "addFeatures adds correct number of features");
+            var record = store.getById(features[0].id);
+            t.ok(record.get('feature') == features[0],
+                 'addFeatures correctly adds features');
+        }
+        function test_removeFeatures(t) {
+            t.plan(1);
+            // setup
+            var mediator, store, features;
+            store = new Ext.data.Store({
+                reader: new GeoExt.data.FeatureReader(
+                    {}, [{name: "name", type: "string"}]
+                )
+            });
+            mediator = new GeoExt.data.FeatureStoreMediator({
+                store: store
+            });
+            function createFeatures() {
+                return [
+                    new OpenLayers.Feature.Vector(null, {
+                        name: "foo"
+                    }),
+                    new OpenLayers.Feature.Vector()
+                ];
+            }
+            // 1 test
+            features = createFeatures();
+            mediator.addFeatures(features);
+            mediator.removeFeatures(features);
+            t.eq(store.getCount(), 0,
+                 'removesFeatures correctly removes features');
+        }
+    </script>
+  <body>
+    <div id="map"></div>
+  </body>
+</html>

Deleted: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerReader.html
===================================================================
--- core/trunk/tests/lib/GeoExt/data/LayerReader.html	2009-03-24 23:09:00 UTC (rev 268)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerReader.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -1,63 +0,0 @@
-<!DOCTYPE html>
-<html debug="true">
-  <head>
-    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
-    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
-
-    <script type="text/javascript">
-    function test_constructor(t) {
-        t.plan(4);
-
-        var reader, recordType;
-
-        reader = new GeoExt.data.LayerReader();
-        var record = new reader.recordType();
-        t.ok(record instanceof GeoExt.data.LayerRecord,
-             "ctor creates a LayerRecord type if none is provided");
-
-        recordType = [{name: "extra"}];
-        reader = new GeoExt.data.LayerReader(null, recordType);
-        t.eq(reader.recordType.prototype.fields.items[2].name, "extra",
-             "ctor creates a LayerRecord type with the correct field");
-
-        recordType = GeoExt.data.LayerRecord.create([{name: "extra"}]);
-        reader = new GeoExt.data.LayerReader(null, recordType);
-        t.ok(reader.recordType == recordType,
-             "ctor configures reader with passed LayerRecord type");
-
-        reader = new GeoExt.data.LayerReader({fields: [{name: "extra"}]});
-        t.eq(reader.recordType.prototype.fields.items[2].name, "extra",
-             "ctor creates a LayerRecord type with the correct field");
-    }
-
-    function test_readRecords(t) {
-        t.plan(5);
-
-        var reader, layers, data;
-
-        reader = new GeoExt.data.LayerReader(null, [{name: "extra"}]);
-        layers = [
-            new OpenLayers.Layer("layer1"),
-            new OpenLayers.Layer("layer2")
-        ];
-        layers[0].extra = "layer1extra";
-        layers[1].extra = "layer2extra";
-
-        data = reader.readRecords(layers);
-        t.eq(data.totalRecords, 2,
-             "readRecords returns expected number of records");
-        t.ok(data.records[0] instanceof GeoExt.data.LayerRecord,
-             "readRecords returns records of expected type");
-        t.ok(data.records[0].get("layer") == layers[0],
-             "readRecords returns records with expected \"layer\" field");
-        t.eq(data.records[0].get("title"), layers[0].name,
-             "readRecords returns records with expected \"title\" field");
-        t.eq(data.records[0].get("extra"), layers[0].extra,
-             "readRecords returns records with expected \"extra\" field");
-    }
-    </script>
-  <body>
-  </body>
-</html>

Copied: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerReader.html (from rev 268, core/trunk/tests/lib/GeoExt/data/LayerReader.html)
===================================================================
--- sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerReader.html	                        (rev 0)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerReader.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html debug="true">
+  <head>
+    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
+    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
+
+    <script type="text/javascript">
+    function test_constructor(t) {
+        t.plan(4);
+
+        var reader, recordType;
+
+        reader = new GeoExt.data.LayerReader();
+        var record = new reader.recordType();
+        t.ok(record instanceof GeoExt.data.LayerRecord,
+             "ctor creates a LayerRecord type if none is provided");
+
+        recordType = [{name: "extra"}];
+        reader = new GeoExt.data.LayerReader(null, recordType);
+        t.eq(reader.recordType.prototype.fields.items[2].name, "extra",
+             "ctor creates a LayerRecord type with the correct field");
+
+        recordType = GeoExt.data.LayerRecord.create([{name: "extra"}]);
+        reader = new GeoExt.data.LayerReader(null, recordType);
+        t.ok(reader.recordType == recordType,
+             "ctor configures reader with passed LayerRecord type");
+
+        reader = new GeoExt.data.LayerReader({fields: [{name: "extra"}]});
+        t.eq(reader.recordType.prototype.fields.items[2].name, "extra",
+             "ctor creates a LayerRecord type with the correct field");
+    }
+
+    function test_readRecords(t) {
+        t.plan(5);
+
+        var reader, layers, data;
+
+        reader = new GeoExt.data.LayerReader(null, [{name: "extra"}]);
+        layers = [
+            new OpenLayers.Layer("layer1"),
+            new OpenLayers.Layer("layer2")
+        ];
+        layers[0].extra = "layer1extra";
+        layers[1].extra = "layer2extra";
+
+        data = reader.readRecords(layers);
+        t.eq(data.totalRecords, 2,
+             "readRecords returns expected number of records");
+        t.ok(data.records[0] instanceof GeoExt.data.LayerRecord,
+             "readRecords returns records of expected type");
+        t.ok(data.records[0].get("layer") == layers[0],
+             "readRecords returns records with expected \"layer\" field");
+        t.eq(data.records[0].get("title"), layers[0].name,
+             "readRecords returns records with expected \"title\" field");
+        t.eq(data.records[0].get("extra"), layers[0].extra,
+             "readRecords returns records with expected \"extra\" field");
+    }
+    </script>
+  <body>
+  </body>
+</html>

Deleted: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerRecord.html
===================================================================
--- core/trunk/tests/lib/GeoExt/data/LayerRecord.html	2009-03-24 23:09:00 UTC (rev 268)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerRecord.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -1,48 +0,0 @@
-<!DOCTYPE html>
-<html debug="true">
-  <head>
-    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
-    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
-
-    <script type="text/javascript">
-       
-        function test_layerrecord(t) {
-            t.plan(12);
-
-            var c, layer, record;
-            
-            c = GeoExt.data.LayerRecord.create();
-            t.ok(c instanceof Function, "create returns a func");
-            t.eq(c.prototype.fields.items[0].name, "layer",
-                 "\"create\" returns a func with a \"layer\" field in its prototype"); 
-            t.eq(c.prototype.fields.items[1].name, "title",
-                 "\"create\" returns a func with a \"title\" field in its prototype"); 
-
-            c = GeoExt.data.LayerRecord.create([
-                {name: "extra1"}, {name: "extra2"}
-            ]);
-            t.eq(c.prototype.fields.items[0].name, "layer",
-                 "\"create(o)\" returns a func with a \"layer\" field in its prototype"); 
-            t.eq(c.prototype.fields.items[1].name, "title",
-                 "\"create(o)\" returns a func with a \"title\" field in its prototype"); 
-            t.eq(c.prototype.fields.items[2].name, "extra1",
-                 "\"create(o)\" returns a func with a \"extra1\" field in its prototype"); 
-            t.eq(c.prototype.fields.items[3].name, "extra2",
-                 "\"create(o)\" returns a func with a \"extra2\" field in its prototype"); 
-
-            layer = new OpenLayers.Layer();
-            record = new c({layer: layer, title: layer.name}, layer.id);
-            t.ok(record instanceof GeoExt.data.LayerRecord, "create returns a constructor (LayerRecord)");
-            t.ok(record instanceof c, "create returns a constructor (c)");
-            t.eq(record.get("layer").id, layer.id, "layer stored correctly");
-            t.eq(record.id, layer.id, "id set correctly");
-            record = new c({layer: layer, title: layer.name, foo: "bar"}, layer.id);
-            t.eq(record.get("foo"), "bar", "foo data row set correctly");
-        }
-    </script>
-  <body>
-    <div id="mappanel"></div>
-  </body>
-</html>

Copied: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerRecord.html (from rev 268, core/trunk/tests/lib/GeoExt/data/LayerRecord.html)
===================================================================
--- sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerRecord.html	                        (rev 0)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerRecord.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html debug="true">
+  <head>
+    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
+    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
+
+    <script type="text/javascript">
+       
+        function test_layerrecord(t) {
+            t.plan(12);
+
+            var c, layer, record;
+            
+            c = GeoExt.data.LayerRecord.create();
+            t.ok(c instanceof Function, "create returns a func");
+            t.eq(c.prototype.fields.items[0].name, "layer",
+                 "\"create\" returns a func with a \"layer\" field in its prototype"); 
+            t.eq(c.prototype.fields.items[1].name, "title",
+                 "\"create\" returns a func with a \"title\" field in its prototype"); 
+
+            c = GeoExt.data.LayerRecord.create([
+                {name: "extra1"}, {name: "extra2"}
+            ]);
+            t.eq(c.prototype.fields.items[0].name, "layer",
+                 "\"create(o)\" returns a func with a \"layer\" field in its prototype"); 
+            t.eq(c.prototype.fields.items[1].name, "title",
+                 "\"create(o)\" returns a func with a \"title\" field in its prototype"); 
+            t.eq(c.prototype.fields.items[2].name, "extra1",
+                 "\"create(o)\" returns a func with a \"extra1\" field in its prototype"); 
+            t.eq(c.prototype.fields.items[3].name, "extra2",
+                 "\"create(o)\" returns a func with a \"extra2\" field in its prototype"); 
+
+            layer = new OpenLayers.Layer();
+            record = new c({layer: layer, title: layer.name}, layer.id);
+            t.ok(record instanceof GeoExt.data.LayerRecord, "create returns a constructor (LayerRecord)");
+            t.ok(record instanceof c, "create returns a constructor (c)");
+            t.eq(record.get("layer").id, layer.id, "layer stored correctly");
+            t.eq(record.id, layer.id, "id set correctly");
+            record = new c({layer: layer, title: layer.name, foo: "bar"}, layer.id);
+            t.eq(record.get("foo"), "bar", "foo data row set correctly");
+        }
+    </script>
+  <body>
+    <div id="mappanel"></div>
+  </body>
+</html>

Deleted: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerStore.html
===================================================================
--- core/trunk/tests/lib/GeoExt/data/LayerStore.html	2009-03-24 23:09:00 UTC (rev 268)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerStore.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -1,60 +0,0 @@
-<!DOCTYPE html>
-<html debug="true">
-  <head>
-    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
-    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
-
-    <script type="text/javascript">
-       
-        function createMap() {
-            var map = new OpenLayers.Map();
-            return map;
-        }
-
-        function loadMapPanel() {
-            var map = createMap();
-
-            var mapPanel = new GeoExt.MapPanel({
-                // panel options
-                id: "map-panel",
-                title: "GeoExt MapPanel",
-                renderTo: "mappanel",
-                height: 400,
-                width: 600,
-                // map panel-specific options
-                map: map,
-                center: new OpenLayers.LonLat(5, 45),
-                zoom: 4
-            });
-
-            return mapPanel;
-        }
-
-        function test_layerstore(t) {
-            t.plan(6);
-
-            var mapPanel = loadMapPanel();
-            var map = mapPanel.map;
-
-            var layer = new OpenLayers.Layer.Vector("Foo Layer");
-
-            map.addLayer(layer);
-            t.eq(map.layers.length, 1, "Adding layer to map does not create duplicate layers on map");
-            t.eq(mapPanel.layers.getCount(), 1, "Adding layer to map does not create duplicate records in LayerStore");
-
-            mapPanel.layers.remove(mapPanel.layers.getById(layer.id));
-            t.eq(map.layers.length,0,"removeLayer on MapPanel's LayerStore removes layer from map");
-            t.eq(mapPanel.layers.getCount(),0,"removeLayer on MapPanel's LayerStore removes layer from map");
-
-            var reader = new GeoExt.data.LayerReader();
-            mapPanel.layers.add((reader.readRecords([layer])).records);
-            t.eq(map.layers.length,1,"Adding layer to MapPanel's LayerStore adds only one layer to map");
-            t.eq(mapPanel.layers.getCount(),1,"Adding layers to MapPanel's LayerStore does not create duplicate layers"); 
-        }
-    </script>
-  <body>
-    <div id="mappanel"></div>
-  </body>
-</html>

Copied: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerStore.html (from rev 268, core/trunk/tests/lib/GeoExt/data/LayerStore.html)
===================================================================
--- sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerStore.html	                        (rev 0)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerStore.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<html debug="true">
+  <head>
+    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
+    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
+
+    <script type="text/javascript">
+       
+        function createMap() {
+            var map = new OpenLayers.Map();
+            return map;
+        }
+
+        function loadMapPanel() {
+            var map = createMap();
+
+            var mapPanel = new GeoExt.MapPanel({
+                // panel options
+                id: "map-panel",
+                title: "GeoExt MapPanel",
+                renderTo: "mappanel",
+                height: 400,
+                width: 600,
+                // map panel-specific options
+                map: map,
+                center: new OpenLayers.LonLat(5, 45),
+                zoom: 4
+            });
+
+            return mapPanel;
+        }
+
+        function test_layerstore(t) {
+            t.plan(6);
+
+            var mapPanel = loadMapPanel();
+            var map = mapPanel.map;
+
+            var layer = new OpenLayers.Layer.Vector("Foo Layer");
+
+            map.addLayer(layer);
+            t.eq(map.layers.length, 1, "Adding layer to map does not create duplicate layers on map");
+            t.eq(mapPanel.layers.getCount(), 1, "Adding layer to map does not create duplicate records in LayerStore");
+
+            mapPanel.layers.remove(mapPanel.layers.getById(layer.id));
+            t.eq(map.layers.length,0,"removeLayer on MapPanel's LayerStore removes layer from map");
+            t.eq(mapPanel.layers.getCount(),0,"removeLayer on MapPanel's LayerStore removes layer from map");
+
+            var reader = new GeoExt.data.LayerReader();
+            mapPanel.layers.add((reader.readRecords([layer])).records);
+            t.eq(map.layers.length,1,"Adding layer to MapPanel's LayerStore adds only one layer to map");
+            t.eq(mapPanel.layers.getCount(),1,"Adding layers to MapPanel's LayerStore does not create duplicate layers"); 
+        }
+    </script>
+  <body>
+    <div id="mappanel"></div>
+  </body>
+</html>

Deleted: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerStoreMediator.html
===================================================================
--- core/trunk/tests/lib/GeoExt/data/LayerStoreMediator.html	2009-03-24 23:09:00 UTC (rev 268)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerStoreMediator.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -1,97 +0,0 @@
-<!DOCTYPE html>
-<html debug="true">
-  <head>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
-
-    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
-    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
-
-    <script type="text/javascript">
-        function test_constructor(t) {
-            t.plan(3);
-            // setup
-            var mediator, store, layer;
-            store = new Ext.data.Store({
-                reader: new GeoExt.data.FeatureReader(
-                    {}, [{name: "name", type: "string"}]
-                )
-            });
-            layer = new OpenLayers.Layer.Vector();
-            // 3 tests
-            mediator = new GeoExt.data.LayerStoreMediator({
-                store: store,
-                layer: layer,
-                activate: function() {
-                    t.ok(true, "ctor calls activate");
-                }
-            });
-            t.ok(mediator.layer == layer,
-                 "ctor correctly sets layer");
-            t.ok(mediator.featureStoreMediator instanceof
-                     GeoExt.data.FeatureStoreMediator,
-                 "ctor correctly creates feature store mediator");
-        }
-        function test_events(t) {
-            t.plan(3);
-            // setup
-            var mediator, store, layer, eventType;
-            store = new Ext.data.Store({
-                reader: new GeoExt.data.FeatureReader(
-                    {}, [{name: "name", type: "string"}]
-                )
-            });
-            layer = new OpenLayers.Layer.Vector();
-            mediator = new GeoExt.data.LayerStoreMediator({
-                store: store,
-                layer: layer,
-                update: function() {
-                    t.ok(true, "update called on " + eventType);
-                }
-            });
-            // 1 test
-            eventType = "featuresadded";
-            layer.events.triggerEvent(eventType);
-            // 1 test
-            eventType = "featuresremoved";
-            layer.events.triggerEvent(eventType);
-            // 1 test
-            eventType = "featuremodified";
-            layer.events.triggerEvent(eventType);
-        }
-        function test_update(t) {
-            t.plan(2);
-            // setup
-            var mediator, store, layer;
-            store = new Ext.data.Store({
-                reader: new GeoExt.data.FeatureReader(
-                    {}, [{name: "name", type: "string"}]
-                )
-            });
-            layer = new OpenLayers.Layer.Vector();
-            mediator = new GeoExt.data.LayerStoreMediator({
-                store: store,
-                layer: layer
-            });
-            function createFeatures() {
-                return [
-                    new OpenLayers.Feature.Vector(null, {name: "foo"}),
-                    new OpenLayers.Feature.Vector(null, {name: "bar"})
-                ];
-            }
-            // 1 test
-            layer.features = createFeatures();
-            layer.events.triggerEvent("featuresadded");
-            t.eq(store.getCount(), 2,
-                 "featuresadded event caused insertion of 2 records"); 
-            // 1 test
-            layer.features = createFeatures();
-            layer.events.triggerEvent("featuresadded");
-            t.eq(store.getCount(), 2,
-                 "featuresadded event caused insertion of 2 records"); 
-        }
-    </script>
-  <body>
-    <div id="map"></div>
-  </body>
-</html>

Copied: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerStoreMediator.html (from rev 268, core/trunk/tests/lib/GeoExt/data/LayerStoreMediator.html)
===================================================================
--- sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerStoreMediator.html	                        (rev 0)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/LayerStoreMediator.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -0,0 +1,97 @@
+<!DOCTYPE html>
+<html debug="true">
+  <head>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
+
+    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
+    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
+
+    <script type="text/javascript">
+        function test_constructor(t) {
+            t.plan(3);
+            // setup
+            var mediator, store, layer;
+            store = new Ext.data.Store({
+                reader: new GeoExt.data.FeatureReader(
+                    {}, [{name: "name", type: "string"}]
+                )
+            });
+            layer = new OpenLayers.Layer.Vector();
+            // 3 tests
+            mediator = new GeoExt.data.LayerStoreMediator({
+                store: store,
+                layer: layer,
+                activate: function() {
+                    t.ok(true, "ctor calls activate");
+                }
+            });
+            t.ok(mediator.layer == layer,
+                 "ctor correctly sets layer");
+            t.ok(mediator.featureStoreMediator instanceof
+                     GeoExt.data.FeatureStoreMediator,
+                 "ctor correctly creates feature store mediator");
+        }
+        function test_events(t) {
+            t.plan(3);
+            // setup
+            var mediator, store, layer, eventType;
+            store = new Ext.data.Store({
+                reader: new GeoExt.data.FeatureReader(
+                    {}, [{name: "name", type: "string"}]
+                )
+            });
+            layer = new OpenLayers.Layer.Vector();
+            mediator = new GeoExt.data.LayerStoreMediator({
+                store: store,
+                layer: layer,
+                update: function() {
+                    t.ok(true, "update called on " + eventType);
+                }
+            });
+            // 1 test
+            eventType = "featuresadded";
+            layer.events.triggerEvent(eventType);
+            // 1 test
+            eventType = "featuresremoved";
+            layer.events.triggerEvent(eventType);
+            // 1 test
+            eventType = "featuremodified";
+            layer.events.triggerEvent(eventType);
+        }
+        function test_update(t) {
+            t.plan(2);
+            // setup
+            var mediator, store, layer;
+            store = new Ext.data.Store({
+                reader: new GeoExt.data.FeatureReader(
+                    {}, [{name: "name", type: "string"}]
+                )
+            });
+            layer = new OpenLayers.Layer.Vector();
+            mediator = new GeoExt.data.LayerStoreMediator({
+                store: store,
+                layer: layer
+            });
+            function createFeatures() {
+                return [
+                    new OpenLayers.Feature.Vector(null, {name: "foo"}),
+                    new OpenLayers.Feature.Vector(null, {name: "bar"})
+                ];
+            }
+            // 1 test
+            layer.features = createFeatures();
+            layer.events.triggerEvent("featuresadded");
+            t.eq(store.getCount(), 2,
+                 "featuresadded event caused insertion of 2 records"); 
+            // 1 test
+            layer.features = createFeatures();
+            layer.events.triggerEvent("featuresadded");
+            t.eq(store.getCount(), 2,
+                 "featuresadded event caused insertion of 2 records"); 
+        }
+    </script>
+  <body>
+    <div id="map"></div>
+  </body>
+</html>

Deleted: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/ProtocolProxy.html
===================================================================
--- core/trunk/tests/lib/GeoExt/data/ProtocolProxy.html	2009-03-24 23:09:00 UTC (rev 268)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/ProtocolProxy.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -1,75 +0,0 @@
-<!DOCTYPE html>
-<html debug="true">
-  <head>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
-
-    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
-    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
-
-    <script type="text/javascript"><!--
-        function test_constructor(t) {
-            t.plan(1);
-            // setup
-            var protocol, proxy;
-            protocol = new OpenLayers.Protocol();
-            // test
-            proxy = new GeoExt.data.ProtocolProxy({
-                protocol: protocol        
-            });
-            t.ok(proxy.protocol == protocol,
-                 "ctor sets protocol in protocol property");
-        }
-        function test_load(t) {
-            t.plan(8);
-            // setup
-            var response, params, filter, protocol, reader, callback;
-            var scope, arg, proxy, result;
-            response = new OpenLayers.Protocol.Response({
-                code: OpenLayers.Protocol.Response.SUCCESS
-            });
-            params = {fake: "params"};
-            filter = {fake: "filter"};
-            protocol = new OpenLayers.Protocol({
-                read: function(o) {
-                    t.eq(o.params, params,
-                         "protocol read is passed expected params");
-                    t.eq(o.filter, filter,
-                         "protocol read is passed expected filter");
-                    t.ok(o.scope == proxy,
-                         "protocol read is passed expected scope");
-                    o.callback.call(o.scope, response);
-                }
-            });
-            proxy = new GeoExt.data.ProtocolProxy({
-                protocol: protocol
-            });
-            result = "fake result";
-            reader = {
-                read: function(r) {
-                    t.ok(r == response,
-                         "reader is passed expected response obj");
-                    return result;
-                }
-            };
-            scope = {fake: "scope"};
-            arg = {fake: "arg", filter: filter};
-            callback = function(r, a, s) {
-                t.ok(this == scope,
-                     "callback called with expected scope");
-                t.eq(r, result,
-                     "callback called with expected result");
-                t.eq(a, arg,
-                     "callback called with expected arg");
-                t.eq(s, true,
-                     "callback called with expected success boolean");
-            };
-            // 8 tests
-            proxy.load(params, reader, callback, scope, arg);
-        }
-    --></script>
-
-  <body>
-    <div id="map"></div>
-  </body>
-</html>

Copied: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/ProtocolProxy.html (from rev 268, core/trunk/tests/lib/GeoExt/data/ProtocolProxy.html)
===================================================================
--- sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/ProtocolProxy.html	                        (rev 0)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/data/ProtocolProxy.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<html debug="true">
+  <head>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
+
+    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
+    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
+
+    <script type="text/javascript"><!--
+        function test_constructor(t) {
+            t.plan(1);
+            // setup
+            var protocol, proxy;
+            protocol = new OpenLayers.Protocol();
+            // test
+            proxy = new GeoExt.data.ProtocolProxy({
+                protocol: protocol        
+            });
+            t.ok(proxy.protocol == protocol,
+                 "ctor sets protocol in protocol property");
+        }
+        function test_load(t) {
+            t.plan(8);
+            // setup
+            var response, params, filter, protocol, reader, callback;
+            var scope, arg, proxy, result;
+            response = new OpenLayers.Protocol.Response({
+                code: OpenLayers.Protocol.Response.SUCCESS
+            });
+            params = {fake: "params"};
+            filter = {fake: "filter"};
+            protocol = new OpenLayers.Protocol({
+                read: function(o) {
+                    t.eq(o.params, params,
+                         "protocol read is passed expected params");
+                    t.eq(o.filter, filter,
+                         "protocol read is passed expected filter");
+                    t.ok(o.scope == proxy,
+                         "protocol read is passed expected scope");
+                    o.callback.call(o.scope, response);
+                }
+            });
+            proxy = new GeoExt.data.ProtocolProxy({
+                protocol: protocol
+            });
+            result = "fake result";
+            reader = {
+                read: function(r) {
+                    t.ok(r == response,
+                         "reader is passed expected response obj");
+                    return result;
+                }
+            };
+            scope = {fake: "scope"};
+            arg = {fake: "arg", filter: filter};
+            callback = function(r, a, s) {
+                t.ok(this == scope,
+                     "callback called with expected scope");
+                t.eq(r, result,
+                     "callback called with expected result");
+                t.eq(a, arg,
+                     "callback called with expected arg");
+                t.eq(s, true,
+                     "callback called with expected success boolean");
+            };
+            // 8 tests
+            proxy.load(params, reader, callback, scope, arg);
+        }
+    --></script>
+
+  <body>
+    <div id="map"></div>
+  </body>
+</html>

Copied: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets (from rev 268, core/trunk/tests/lib/GeoExt/widgets)

Deleted: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/MapPanel.html
===================================================================
--- core/trunk/tests/lib/GeoExt/widgets/MapPanel.html	2009-03-24 23:09:00 UTC (rev 268)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/MapPanel.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html debug="true">
-  <head>
-    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
-    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
-    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
-
-    <script type="text/javascript">
-       
-        function createMap() {
-            var map = new OpenLayers.Map();
-            var layer = new OpenLayers.Layer("test", {isBaseLayer: true});
-            map.addLayer(layer);
-            return map;
-        }
-
-        function loadMapPanel() {
-            var map = createMap();
-
-            mapPanel = new GeoExt.MapPanel({
-                // panel options
-                id: "map-panel",
-                title: "GeoExt MapPanel",
-                renderTo: "mappanel",
-                height: 400,
-                width: 600,
-                // map panel-specific options
-                map: map,
-                center: new OpenLayers.LonLat(5, 45),
-                zoom: 4
-            });
-
-            return mapPanel;
-        }
-
-        function test_mappanel(t) {
-            t.plan(2)
-            
-            loadMapPanel();
-            t.eq(mapPanel.map.getCenter().toString(), "lon=5,lat=45", "Map center set correctly");
-            t.eq(mapPanel.map.getZoom(), 4, "Zoom set correctly");
-        }
-
-    </script>
-  <body>
-    <div id="mappanel"></div>
-  </body>
-</html>

Copied: sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/MapPanel.html (from rev 268, core/trunk/tests/lib/GeoExt/widgets/MapPanel.html)
===================================================================
--- sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/MapPanel.html	                        (rev 0)
+++ sandbox/opengeo/geoexplorer/tests/lib/GeoExt/widgets/MapPanel.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html debug="true">
+  <head>
+    <script type="text/javascript" src="../../../../../../openlayers/lib/OpenLayers.js"></script>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/adapter/ext/ext-base.js"></script>
+    <script type="text/javascript" src="../../../../../../ext/2.2.1/ext-all-debug.js"></script>
+    <script type="text/javascript" src="../../../../lib/GeoExt.js"></script>
+
+    <script type="text/javascript">
+       
+        function createMap() {
+            var map = new OpenLayers.Map();
+            var layer = new OpenLayers.Layer("test", {isBaseLayer: true});
+            map.addLayer(layer);
+            return map;
+        }
+
+        function loadMapPanel() {
+            var map = createMap();
+
+            mapPanel = new GeoExt.MapPanel({
+                // panel options
+                id: "map-panel",
+                title: "GeoExt MapPanel",
+                renderTo: "mappanel",
+                height: 400,
+                width: 600,
+                // map panel-specific options
+                map: map,
+                center: new OpenLayers.LonLat(5, 45),
+                zoom: 4
+            });
+
+            return mapPanel;
+        }
+
+        function test_mappanel(t) {
+            t.plan(2)
+            
+            loadMapPanel();
+            t.eq(mapPanel.map.getCenter().toString(), "lon=5,lat=45", "Map center set correctly");
+            t.eq(mapPanel.map.getZoom(), 4, "Zoom set correctly");
+        }
+
+    </script>
+  <body>
+    <div id="mappanel"></div>
+  </body>
+</html>

Modified: sandbox/opengeo/geoexplorer/tests/list-tests.html
===================================================================
--- sandbox/opengeo/geoexplorer/tests/list-tests.html	2009-03-24 23:09:00 UTC (rev 268)
+++ sandbox/opengeo/geoexplorer/tests/list-tests.html	2009-03-24 23:14:37 UTC (rev 269)
@@ -1,10 +1,10 @@
 <ul id="testlist">
-  <li>data/FeatureReader.html</li>
-  <li>data/FeatureStoreMediator.html</li>
-  <li>data/LayerRecord.html</li>
-  <li>data/LayerReader.html</li>
-  <li>data/LayerStore.html</li>
-  <li>data/LayerStoreMediator.html</li>
-  <li>data/ProtocolProxy.html</li>
-  <li>widgets/MapPanel.html</li>
+  <li>lib/GeoExt/data/FeatureReader.html</li>
+  <li>lib/GeoExt/data/FeatureStoreMediator.html</li>
+  <li>lib/GeoExt/data/LayerRecord.html</li>
+  <li>lib/GeoExt/data/LayerReader.html</li>
+  <li>lib/GeoExt/data/LayerStore.html</li>
+  <li>lib/GeoExt/data/LayerStoreMediator.html</li>
+  <li>lib/GeoExt/data/ProtocolProxy.html</li>
+  <li>lib/GeoExt/widgets/MapPanel.html</li>
 </ul>



More information about the Commits mailing list