diff --git a/test/dunstrc.default b/test/functional-tests/dunstrc.default
similarity index 100%
rename from test/dunstrc.default
rename to test/functional-tests/dunstrc.default
diff --git a/test/dunstrc.ignore_newline b/test/functional-tests/dunstrc.ignore_newline
similarity index 100%
rename from test/dunstrc.ignore_newline
rename to test/functional-tests/dunstrc.ignore_newline
diff --git a/test/dunstrc.ignore_newline_no_wrap b/test/functional-tests/dunstrc.ignore_newline_no_wrap
similarity index 100%
rename from test/dunstrc.ignore_newline_no_wrap
rename to test/functional-tests/dunstrc.ignore_newline_no_wrap
diff --git a/test/dunstrc.markup b/test/functional-tests/dunstrc.markup
similarity index 100%
rename from test/dunstrc.markup
rename to test/functional-tests/dunstrc.markup
diff --git a/test/dunstrc.nomarkup b/test/functional-tests/dunstrc.nomarkup
similarity index 100%
rename from test/dunstrc.nomarkup
rename to test/functional-tests/dunstrc.nomarkup
diff --git a/test/dunstrc.nowrap b/test/functional-tests/dunstrc.nowrap
similarity index 100%
rename from test/dunstrc.nowrap
rename to test/functional-tests/dunstrc.nowrap
diff --git a/test/dunstrc.run_script b/test/functional-tests/dunstrc.run_script
similarity index 100%
rename from test/dunstrc.run_script
rename to test/functional-tests/dunstrc.run_script
diff --git a/test/dunstrc.show_age b/test/functional-tests/dunstrc.show_age
similarity index 100%
rename from test/dunstrc.show_age
rename to test/functional-tests/dunstrc.show_age
diff --git a/test/script_test.sh b/test/functional-tests/script_test.sh
similarity index 100%
rename from test/script_test.sh
rename to test/functional-tests/script_test.sh
diff --git a/test/functional-tests/test.sh b/test/functional-tests/test.sh
new file mode 100755
index 0000000..ae3ca17
--- /dev/null
+++ b/test/functional-tests/test.sh
@@ -0,0 +1,195 @@
+#!/bin/bash
+
+function keypress {
+ echo "press enter to continue..."
+ read key
+}
+
+function basic_notifications {
+ ../../dunstify -a "dunst tester" "normal" "italic body"
+ ../../dunstify -a "dunst tester" -u c "critical" "bold body"
+ ../../dunstify -a "dunst tester" "long body" "This is a notification with a very long body"
+ ../../dunstify -a "dunst tester" "duplucate"
+ ../../dunstify -a "dunst tester" "duplucate"
+ ../../dunstify -a "dunst tester" "duplucate"
+ ../../dunstify -a "dunst tester" "url" "www.google.de"
+
+}
+
+function show_age {
+ echo "###################################"
+ echo "show age"
+ echo "###################################"
+ killall dunst
+ ../../dunst -config dunstrc.show_age &
+ ../../dunstify -a "dunst tester" -u c "Show Age" "These should print their age after 2 seconds"
+ basic_notifications
+ keypress
+}
+
+function run_script {
+ echo "###################################"
+ echo "run script"
+ echo "###################################"
+ killall dunst
+ PATH=".:$PATH" ../../dunst -config dunstrc.run_script &
+ ../../dunstify -a "dunst tester" -u c \
+ "Run Script" "After Keypress, 2 other notification should pop up. THis needs notify-send installed"
+ keypress
+ ../../dunstify -a "dunst tester" -u c "trigger" "this should trigger a notification"
+ keypress
+}
+
+function ignore_newline {
+ echo "###################################"
+ echo "ignore newline"
+ echo "###################################"
+ killall dunst
+ ../../dunst -config dunstrc.ignore_newline_no_wrap &
+ ../../dunstify -a "dunst tester" -u c "Ignore Newline No Wrap" "There should be no newline anywhere"
+ ../../dunstify -a "dunst tester" -u c "Th\nis\n\n\n is\n fu\nll of \n" "\nnew\nlines"
+ basic_notifications
+ keypress
+
+ killall dunst
+ ../../dunst -config dunstrc.ignore_newline &
+ ../../dunstify -a "dunst tester" -u c "Ignore Newline" \
+ "The only newlines you should encounter here are wordwraps. That's why I'm so long."
+ ../../dunstify -a "dunst tester" -u c "Th\nis\n\n\n is\n fu\nll of \n" "\nnew\nlines"
+ basic_notifications
+ keypress
+}
+
+function replace {
+ echo "###################################"
+ echo "replace"
+ echo "###################################"
+ killall dunst
+ ../../dunst -config dunstrc.default &
+ id=$(../../dunstify -a "dunst tester" -p "Replace" "this should get replaces after keypress")
+ keypress
+ ../../dunstify -a "dunst tester" -r $id "Success?" "I hope this is not a new notification"
+ keypress
+
+}
+
+function markup {
+ echo "###################################"
+ echo "markup"
+ echo "###################################"
+ killall dunst
+ ../../dunst -config dunstrc.markup "200x0+10+10" &
+ ../../dunstify -a "dunst tester" "Markup Tests" -u "c"
+ ../../dunstify -a "dunst tester" "bold italic"
+ ../../dunstify -a "dunst tester" "broken markup"
+ keypress
+
+ killall dunst
+ ../../dunst -config dunstrc.nomarkup "200x0+10+10" &
+ ../../dunstify -a "dunst tester" -u c "NO Markup Tests"
+ ../../dunstify -a "dunst tester" "bolditalic"
+ ../../dunstify -a "dunst tester" "broken markup"
+ keypress
+
+}
+
+function corners {
+ echo "###################################"
+ echo "corners"
+ echo "###################################"
+ killall dunst
+ ../../dunst -config dunstrc.default -geom "200x0+10+10" &
+ ../../dunstify -a "dunst tester" -u c "upper left"
+ basic_notifications
+ keypress
+
+ killall dunst
+ ../../dunst -config dunstrc.default -geom "200x0-10+10" &
+ ../../dunstify -a "dunst tester" -u c "upper right"
+ basic_notifications
+ keypress
+
+ killall dunst
+ ../../dunst -config dunstrc.default -geom "200x0-10-10" &
+ ../../dunstify -a "dunst tester" -u c "lower right"
+ basic_notifications
+ keypress
+
+ killall dunst
+ ../../dunst -config dunstrc.default -geom "200x0+10-10" &
+ ../../dunstify -a "dunst tester" -u c "lower left"
+ basic_notifications
+ keypress
+
+}
+
+function geometry {
+ echo "###################################"
+ echo "geometry"
+ echo "###################################"
+ killall dunst
+ ../../dunst -config dunstrc.default -geom "0x0" &
+ ../../dunstify -a "dunst tester" -u c "0x0"
+ basic_notifications
+ keypress
+
+
+ killall dunst
+ ../../dunst -config dunstrc.default -geom "200x0" &
+ ../../dunstify -a "dunst tester" -u c "200x0"
+ basic_notifications
+ keypress
+
+ killall dunst
+ ../../dunst -config dunstrc.default -geom "200x2" &
+ ../../dunstify -a "dunst tester" -u c "200x2"
+ basic_notifications
+ keypress
+
+ killall dunst
+ ../../dunst -config dunstrc.default -geom "200x1" &
+ ../../dunstify -a "dunst tester" -u c "200x1"
+ basic_notifications
+ keypress
+
+ killall dunst
+ ../../dunst -config dunstrc.default -geom "0x1" &
+ ../../dunstify -a "dunst tester" -u c "0x1"
+ basic_notifications
+ keypress
+
+ killall dunst
+ ../../dunst -config dunstrc.default -geom "-300x1" &
+ ../../dunstify -a "dunst tester" -u c "-300x1"
+ basic_notifications
+ keypress
+
+ killall dunst
+ ../../dunst -config dunstrc.default -geom "-300x1-20-20" &
+ ../../dunstify -a "dunst tester" -u c "-300x1-20-20"
+ basic_notifications
+ keypress
+
+ killall dunst
+ ../../dunst -config dunstrc.default -geom "x1" &
+ ../../dunstify -a "dunst tester" -u c "x1-20-20" "across the screen"
+ basic_notifications
+ keypress
+}
+
+if [ -n "$1" ]; then
+ while [ -n "$1" ]; do
+ $1
+ shift
+ done
+else
+ geometry
+ corners
+ show_age
+ run_script
+ ignore_newline
+ replace
+ markup
+fi
+
+killall dunst
diff --git a/test/test.sh b/test/test.sh
deleted file mode 100755
index 7883e1e..0000000
--- a/test/test.sh
+++ /dev/null
@@ -1,195 +0,0 @@
-#!/bin/bash
-
-function keypress {
- echo "press enter to continue..."
- read key
-}
-
-function basic_notifications {
- ../dunstify -a "dunst tester" "normal" "italic body"
- ../dunstify -a "dunst tester" -u c "critical" "bold body"
- ../dunstify -a "dunst tester" "long body" "This is a notification with a very long body"
- ../dunstify -a "dunst tester" "duplucate"
- ../dunstify -a "dunst tester" "duplucate"
- ../dunstify -a "dunst tester" "duplucate"
- ../dunstify -a "dunst tester" "url" "www.google.de"
-
-}
-
-function show_age {
- echo "###################################"
- echo "show age"
- echo "###################################"
- killall dunst
- ../dunst -config dunstrc.show_age &
- ../dunstify -a "dunst tester" -u c "Show Age" "These should print their age after 2 seconds"
- basic_notifications
- keypress
-}
-
-function run_script {
- echo "###################################"
- echo "run script"
- echo "###################################"
- killall dunst
- PATH=".:$PATH" ../dunst -config dunstrc.run_script &
- ../dunstify -a "dunst tester" -u c \
- "Run Script" "After Keypress, 2 other notification should pop up. THis needs notify-send installed"
- keypress
- ../dunstify -a "dunst tester" -u c "trigger" "this should trigger a notification"
- keypress
-}
-
-function ignore_newline {
- echo "###################################"
- echo "ignore newline"
- echo "###################################"
- killall dunst
- ../dunst -config dunstrc.ignore_newline_no_wrap &
- ../dunstify -a "dunst tester" -u c "Ignore Newline No Wrap" "There should be no newline anywhere"
- ../dunstify -a "dunst tester" -u c "Th\nis\n\n\n is\n fu\nll of \n" "\nnew\nlines"
- basic_notifications
- keypress
-
- killall dunst
- ../dunst -config dunstrc.ignore_newline &
- ../dunstify -a "dunst tester" -u c "Ignore Newline" \
- "The only newlines you should encounter here are wordwraps. That's why I'm so long."
- ../dunstify -a "dunst tester" -u c "Th\nis\n\n\n is\n fu\nll of \n" "\nnew\nlines"
- basic_notifications
- keypress
-}
-
-function replace {
- echo "###################################"
- echo "replace"
- echo "###################################"
- killall dunst
- ../dunst -config dunstrc.default &
- id=$(../dunstify -a "dunst tester" -p "Replace" "this should get replaces after keypress")
- keypress
- ../dunstify -a "dunst tester" -r $id "Success?" "I hope this is not a new notification"
- keypress
-
-}
-
-function markup {
- echo "###################################"
- echo "markup"
- echo "###################################"
- killall dunst
- ../dunst -config dunstrc.markup "200x0+10+10" &
- ../dunstify -a "dunst tester" "Markup Tests" -u "c"
- ../dunstify -a "dunst tester" "bold italic"
- ../dunstify -a "dunst tester" "broken markup"
- keypress
-
- killall dunst
- ../dunst -config dunstrc.nomarkup "200x0+10+10" &
- ../dunstify -a "dunst tester" -u c "NO Markup Tests"
- ../dunstify -a "dunst tester" "bolditalic"
- ../dunstify -a "dunst tester" "broken markup"
- keypress
-
-}
-
-function corners {
- echo "###################################"
- echo "corners"
- echo "###################################"
- killall dunst
- ../dunst -config dunstrc.default -geom "200x0+10+10" &
- ../dunstify -a "dunst tester" -u c "upper left"
- basic_notifications
- keypress
-
- killall dunst
- ../dunst -config dunstrc.default -geom "200x0-10+10" &
- ../dunstify -a "dunst tester" -u c "upper right"
- basic_notifications
- keypress
-
- killall dunst
- ../dunst -config dunstrc.default -geom "200x0-10-10" &
- ../dunstify -a "dunst tester" -u c "lower right"
- basic_notifications
- keypress
-
- killall dunst
- ../dunst -config dunstrc.default -geom "200x0+10-10" &
- ../dunstify -a "dunst tester" -u c "lower left"
- basic_notifications
- keypress
-
-}
-
-function geometry {
- echo "###################################"
- echo "geometry"
- echo "###################################"
- killall dunst
- ../dunst -config dunstrc.default -geom "0x0" &
- ../dunstify -a "dunst tester" -u c "0x0"
- basic_notifications
- keypress
-
-
- killall dunst
- ../dunst -config dunstrc.default -geom "200x0" &
- ../dunstify -a "dunst tester" -u c "200x0"
- basic_notifications
- keypress
-
- killall dunst
- ../dunst -config dunstrc.default -geom "200x2" &
- ../dunstify -a "dunst tester" -u c "200x2"
- basic_notifications
- keypress
-
- killall dunst
- ../dunst -config dunstrc.default -geom "200x1" &
- ../dunstify -a "dunst tester" -u c "200x1"
- basic_notifications
- keypress
-
- killall dunst
- ../dunst -config dunstrc.default -geom "0x1" &
- ../dunstify -a "dunst tester" -u c "0x1"
- basic_notifications
- keypress
-
- killall dunst
- ../dunst -config dunstrc.default -geom "-300x1" &
- ../dunstify -a "dunst tester" -u c "-300x1"
- basic_notifications
- keypress
-
- killall dunst
- ../dunst -config dunstrc.default -geom "-300x1-20-20" &
- ../dunstify -a "dunst tester" -u c "-300x1-20-20"
- basic_notifications
- keypress
-
- killall dunst
- ../dunst -config dunstrc.default -geom "x1" &
- ../dunstify -a "dunst tester" -u c "x1-20-20" "across the screen"
- basic_notifications
- keypress
-}
-
-if [ -n "$1" ]; then
- while [ -n "$1" ]; do
- $1
- shift
- done
-else
- geometry
- corners
- show_age
- run_script
- ignore_newline
- replace
- markup
-fi
-
-killall dunst