fix bug #294: add a diagonal() method to SparseMatrix (const)
diff --git a/test/sparse_basic.cpp b/test/sparse_basic.cpp
index 3a9cb61..276db65 100644
--- a/test/sparse_basic.cpp
+++ b/test/sparse_basic.cpp
@@ -345,6 +345,14 @@
     initSparse<Scalar>(density, refMat2, m2);
     VERIFY_IS_APPROX(m2.eval(), refMat2.sparseView().eval());
   }
+
+  // test diagonal
+  {
+    DenseMatrix refMat2 = DenseMatrix::Zero(rows, rows);
+    SparseMatrixType m2(rows, rows);
+    initSparse<Scalar>(density, refMat2, m2);
+    VERIFY_IS_APPROX(m2.diagonal(), refMat2.diagonal().eval());
+  }
 }
 
 void test_sparse_basic()