diff --git a/tests/functions/fixtures/language_select.xml b/tests/functions/fixtures/language_select.xml
new file mode 100644
index 0000000000..02fdee093e
--- /dev/null
+++ b/tests/functions/fixtures/language_select.xml
@@ -0,0 +1,18 @@
+
+
+
+ lang_id
+ lang_iso
+ lang_local_name
+
+ 1
+ en
+ English
+
+
+ 2
+ de
+ Deutsch
+
+
+
diff --git a/tests/functions/language_select_test.php b/tests/functions/language_select_test.php
new file mode 100644
index 0000000000..3e7ed45bbf
--- /dev/null
+++ b/tests/functions/language_select_test.php
@@ -0,0 +1,38 @@
+createXMLDataSet(dirname(__FILE__).'/fixtures/language_select.xml');
+ }
+
+ static public function language_select_data()
+ {
+ return array(
+ array('', ''),
+ array('en', ''),
+ array('de', ''),
+ );
+ }
+
+ /**
+ * @dataProvider language_select_data
+ */
+ public function test_language_select($default, $expected)
+ {
+ global $db;
+ $db = $this->new_dbal();
+
+ $this->assertEquals($expected, language_select($default));
+ }
+}