renamed 'location expression' to the more general 'dwarf expression'
diff --git a/tests/test_dwarf_expr.py b/tests/test_dwarf_expr.py
new file mode 100644
index 0000000..4202633
--- /dev/null
+++ b/tests/test_dwarf_expr.py
@@ -0,0 +1,62 @@
+import sys, unittest
+from cStringIO import StringIO
+
+sys.path.extend(('..', '.'))
+from elftools.dwarf.dwarf_expr import ExprDumper
+from elftools.dwarf.structs import DWARFStructs
+
+
+class TestExprDumper(unittest.TestCase):
+    structs32 = DWARFStructs(
+            little_endian=True,
+            dwarf_format=32,
+            address_size=4)
+
+    def setUp(self):
+        self.visitor = ExprDumper(self.structs32)
+
+    def test_basic_single(self):
+        self.visitor.process_expr([0x1b])
+        self.assertEqual(self.visitor.get_str(),
+            'DW_OP_div')
+        
+        self.setUp()
+        self.visitor.process_expr([0x74, 0x82, 0x01])
+        self.assertEqual(self.visitor.get_str(),
+            'DW_OP_breg4: 130')
+        
+        self.setUp()
+        self.visitor.process_expr([0x91, 0x82, 0x01])
+        self.assertEqual(self.visitor.get_str(),
+            'DW_OP_fbreg: 130')
+
+        self.setUp()
+        self.visitor.process_expr([0x9d, 0x8f, 0x0A, 0x90, 0x01])
+        self.assertEqual(self.visitor.get_str(),
+            'DW_OP_bit_piece: 1295 144')
+
+    def test_basic_sequence(self):
+        self.visitor.process_expr([0x03, 0x01, 0x02, 0, 0, 0x06, 0x06])
+        self.assertEqual(self.visitor.get_str(),
+            'DW_OP_addr: 201; DW_OP_deref; DW_OP_deref')
+
+        self.setUp()
+        self.visitor.process_expr([0x15, 0xFF, 0x0b, 0xf1, 0xff])
+        self.assertEqual(self.visitor.get_str(),
+            'DW_OP_pick: 255; DW_OP_const2s: -15')
+
+        self.setUp()
+        self.visitor.process_expr([0x1d, 0x1e, 0x1d, 0x1e, 0x1d, 0x1e])
+        self.assertEqual(self.visitor.get_str(),
+            'DW_OP_mod; DW_OP_mul; DW_OP_mod; DW_OP_mul; DW_OP_mod; DW_OP_mul')
+
+    def test_stream_input(self):
+        self.visitor.process_expr(StringIO('\x1b'))
+        self.assertEqual(self.visitor.get_str(),
+            'DW_OP_div')
+
+
+if __name__ == '__main__':
+    unittest.main()
+
+