GUI -- Implemented Instance Panel.
- handling addInstance event.

Change-Id: Ic98a3291bd37ecf1155dbe1696167d0635a31972
diff --git a/web/gui/src/main/webapp/tests/app/fw/layer/panel-spec.js b/web/gui/src/main/webapp/tests/app/fw/layer/panel-spec.js
index 41a9ff9..64c54f1 100644
--- a/web/gui/src/main/webapp/tests/app/fw/layer/panel-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/layer/panel-spec.js
@@ -84,6 +84,13 @@
         expect(el.style('width')).toEqual('200px');
     });
 
+    it('should provide an api of panel functions', function () {
+        var p = ps.createPanel('foo');
+        expect(fs.areFunctions(p, [
+            'show', 'hide', 'empty', 'append', 'width', 'height', 'isVisible', 'el'
+        ])).toBeTruthy();
+    });
+
     it('should complain when a duplicate ID is used', function () {
         spyOn($log, 'warn');
         var p = ps.createPanel('foo');
diff --git a/web/gui/src/main/webapp/tests/app/fw/svg/glyph-spec.js b/web/gui/src/main/webapp/tests/app/fw/svg/glyph-spec.js
index b72de5a..a7179e3 100644
--- a/web/gui/src/main/webapp/tests/app/fw/svg/glyph-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/svg/glyph-spec.js
@@ -252,7 +252,7 @@
 
     it('should add a glyph with default size', function () {
         gs.init();
-        gs.addGlyph(svg, 'crown');
+        var retval = gs.addGlyph(svg, 'crown');
         var what = svg.selectAll('use');
         expect(what.size()).toEqual(1);
         expect(what.attr('width')).toEqual('40');
@@ -260,6 +260,10 @@
         expect(what.attr('xlink:href')).toEqual('#crown');
         expect(what.classed('glyph')).toBeTruthy();
         expect(what.classed('overlay')).toBeFalsy();
+
+        // check a couple on retval, which should be the same thing..
+        expect(retval.attr('xlink:href')).toEqual('#crown');
+        expect(retval.classed('glyph')).toBeTruthy();
     });
 
     it('should add a glyph with given size', function () {
diff --git a/web/gui/src/main/webapp/tests/app/fw/svg/svgUtil-spec.js b/web/gui/src/main/webapp/tests/app/fw/svg/svgUtil-spec.js
index 964320b..c294e2a 100644
--- a/web/gui/src/main/webapp/tests/app/fw/svg/svgUtil-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/svg/svgUtil-spec.js
@@ -43,7 +43,13 @@
         ])).toBeTruthy();
     });
 
-    // TODO: add unit tests for drag behavior etc.
+
+    // TODO: add unit tests for drag behavior
+    // TODO: add unit tests for loadGlow
+    // TODO: add unit tests for cat7
+
+
+    // === translate()
 
     it('should translate from two args', function () {
         expect(sus.translate(1,2)).toEqual('translate(1,2)');
@@ -53,4 +59,14 @@
         expect(sus.translate([3,4])).toEqual('translate(3,4)');
     });
 
+
+    // === stripPx()
+
+    it('should not affect a number', function () {
+        expect(sus.stripPx('4')).toEqual('4');
+    });
+
+    it('should remove trailing px', function () {
+        expect(sus.stripPx('4px')).toEqual('4');
+    });
 });