From d9ef1d4df9334daa8f3bfe225dc56c249f95f356 Mon Sep 17 00:00:00 2001 From: Gleb Smirnov Date: Fri, 18 Feb 2022 19:04:08 +0300 Subject: [PATCH] tests: add tests for action widget syntax --- .../action_widget_float_response.blp | 8 ++++++ .../action_widget_float_response.err | 1 + .../action_widget_have_no_id.blp | 8 ++++++ .../action_widget_have_no_id.err | 1 + .../action_widget_multiple_default.blp | 13 ++++++++++ .../action_widget_multiple_default.err | 1 + .../action_widget_negative_response.blp | 8 ++++++ .../action_widget_negative_response.err | 1 + .../action_widget_not_action.blp | 8 ++++++ .../action_widget_not_action.err | 1 + .../action_widget_not_in_dialog.blp | 8 ++++++ .../action_widget_not_in_dialog.err | 1 + .../action_widget_response_dne.blp | 8 ++++++ .../action_widget_response_dne.err | 1 + tests/samples/action_widgets.blp | 18 +++++++++++++ tests/samples/action_widgets.ui | 26 +++++++++++++++++++ tests/test_samples.py | 8 ++++++ 17 files changed, 120 insertions(+) create mode 100644 tests/sample_errors/action_widget_float_response.blp create mode 100644 tests/sample_errors/action_widget_float_response.err create mode 100644 tests/sample_errors/action_widget_have_no_id.blp create mode 100644 tests/sample_errors/action_widget_have_no_id.err create mode 100644 tests/sample_errors/action_widget_multiple_default.blp create mode 100644 tests/sample_errors/action_widget_multiple_default.err create mode 100644 tests/sample_errors/action_widget_negative_response.blp create mode 100644 tests/sample_errors/action_widget_negative_response.err create mode 100644 tests/sample_errors/action_widget_not_action.blp create mode 100644 tests/sample_errors/action_widget_not_action.err create mode 100644 tests/sample_errors/action_widget_not_in_dialog.blp create mode 100644 tests/sample_errors/action_widget_not_in_dialog.err create mode 100644 tests/sample_errors/action_widget_response_dne.blp create mode 100644 tests/sample_errors/action_widget_response_dne.err create mode 100644 tests/samples/action_widgets.blp create mode 100644 tests/samples/action_widgets.ui diff --git a/tests/sample_errors/action_widget_float_response.blp b/tests/sample_errors/action_widget_float_response.blp new file mode 100644 index 0000000..d175304 --- /dev/null +++ b/tests/sample_errors/action_widget_float_response.blp @@ -0,0 +1,8 @@ +using Gtk 4.0; + +Dialog { + [action response=17.9] + Button float_response_button { + + } +} diff --git a/tests/sample_errors/action_widget_float_response.err b/tests/sample_errors/action_widget_float_response.err new file mode 100644 index 0000000..b2611fa --- /dev/null +++ b/tests/sample_errors/action_widget_float_response.err @@ -0,0 +1 @@ +4,22,4,Response type must be GtkResponseType member or integer, not float diff --git a/tests/sample_errors/action_widget_have_no_id.blp b/tests/sample_errors/action_widget_have_no_id.blp new file mode 100644 index 0000000..b216a28 --- /dev/null +++ b/tests/sample_errors/action_widget_have_no_id.blp @@ -0,0 +1,8 @@ +using Gtk 4.0; + +Dialog { + [action response=cancel] + Button { + label: _("Cancel"); + } +} diff --git a/tests/sample_errors/action_widget_have_no_id.err b/tests/sample_errors/action_widget_have_no_id.err new file mode 100644 index 0000000..74ff665 --- /dev/null +++ b/tests/sample_errors/action_widget_have_no_id.err @@ -0,0 +1 @@ +4,13,15,Action widget must have ID diff --git a/tests/sample_errors/action_widget_multiple_default.blp b/tests/sample_errors/action_widget_multiple_default.blp new file mode 100644 index 0000000..bd570d3 --- /dev/null +++ b/tests/sample_errors/action_widget_multiple_default.blp @@ -0,0 +1,13 @@ +using Gtk 4.0; + +Dialog { + [action response=yes default] + Button yes_button { + + } + + [action response=no default] + Button no_button { + + } +} diff --git a/tests/sample_errors/action_widget_multiple_default.err b/tests/sample_errors/action_widget_multiple_default.err new file mode 100644 index 0000000..3c35743 --- /dev/null +++ b/tests/sample_errors/action_widget_multiple_default.err @@ -0,0 +1 @@ +9,25,7,Default response is already set diff --git a/tests/sample_errors/action_widget_negative_response.blp b/tests/sample_errors/action_widget_negative_response.blp new file mode 100644 index 0000000..6fde756 --- /dev/null +++ b/tests/sample_errors/action_widget_negative_response.blp @@ -0,0 +1,8 @@ +using Gtk 4.0; + +Dialog { + [action response = -179] + Button numeric_response_button { + + } +} diff --git a/tests/sample_errors/action_widget_negative_response.err b/tests/sample_errors/action_widget_negative_response.err new file mode 100644 index 0000000..6e6836d --- /dev/null +++ b/tests/sample_errors/action_widget_negative_response.err @@ -0,0 +1 @@ +4,24,4,Numeric response type can't be negative diff --git a/tests/sample_errors/action_widget_not_action.blp b/tests/sample_errors/action_widget_not_action.blp new file mode 100644 index 0000000..cd760e5 --- /dev/null +++ b/tests/sample_errors/action_widget_not_action.blp @@ -0,0 +1,8 @@ +using Gtk 4.0; + +Dialog { + [some_type response=ok] + Button ok_button { + + } +} diff --git a/tests/sample_errors/action_widget_not_action.err b/tests/sample_errors/action_widget_not_action.err new file mode 100644 index 0000000..95699ff --- /dev/null +++ b/tests/sample_errors/action_widget_not_action.err @@ -0,0 +1 @@ +4,16,11,Only action widget can have response ID diff --git a/tests/sample_errors/action_widget_not_in_dialog.blp b/tests/sample_errors/action_widget_not_in_dialog.blp new file mode 100644 index 0000000..7c17cb2 --- /dev/null +++ b/tests/sample_errors/action_widget_not_in_dialog.blp @@ -0,0 +1,8 @@ +using Gtk 4.0; + +Box { + [action response=ok] + Button ok_button { + + } +} diff --git a/tests/sample_errors/action_widget_not_in_dialog.err b/tests/sample_errors/action_widget_not_in_dialog.err new file mode 100644 index 0000000..42ceff4 --- /dev/null +++ b/tests/sample_errors/action_widget_not_in_dialog.err @@ -0,0 +1 @@ +4,13,11,Gtk.Box is not a Gtk.Dialog, so it doesn't have action widgets diff --git a/tests/sample_errors/action_widget_response_dne.blp b/tests/sample_errors/action_widget_response_dne.blp new file mode 100644 index 0000000..e260d3a --- /dev/null +++ b/tests/sample_errors/action_widget_response_dne.blp @@ -0,0 +1,8 @@ +using Gtk 4.0; + +Dialog { + [action response=hello-world] + Button hello_world_button { + + } +} diff --git a/tests/sample_errors/action_widget_response_dne.err b/tests/sample_errors/action_widget_response_dne.err new file mode 100644 index 0000000..67685f4 --- /dev/null +++ b/tests/sample_errors/action_widget_response_dne.err @@ -0,0 +1 @@ +4,22,11,Response type "hello-world" doesn't exist diff --git a/tests/samples/action_widgets.blp b/tests/samples/action_widgets.blp new file mode 100644 index 0000000..7fb673c --- /dev/null +++ b/tests/samples/action_widgets.blp @@ -0,0 +1,18 @@ +using Gtk 4.0; + +Dialog { + [action response=cancel] + Button cancel_button { + label: _("Cancel"); + } + + [action reponse=9] + Button custom_response_button { + label: _("Reinstall Windows"); + } + + [action response=ok default] + Button ok_button { + label: _("Ok"); + } +} diff --git a/tests/samples/action_widgets.ui b/tests/samples/action_widgets.ui new file mode 100644 index 0000000..ca26a5b --- /dev/null +++ b/tests/samples/action_widgets.ui @@ -0,0 +1,26 @@ + + + + + + + Cancel + + + + + Reinstall Windows + + + + + Ok + + + + cancel_button + custom_response_button + ok_button + + + diff --git a/tests/test_samples.py b/tests/test_samples.py index 941109f..f4c4787 100644 --- a/tests/test_samples.py +++ b/tests/test_samples.py @@ -115,6 +115,7 @@ class TestSamples(unittest.TestCase): def test_samples(self): self.assert_sample("accessibility") + self.assert_sample("action_widgets") self.assert_sample("binding") self.assert_sample("child_type") self.assert_sample("combo_box_text") @@ -145,6 +146,13 @@ class TestSamples(unittest.TestCase): self.assert_sample_error("a11y_prop_dne") self.assert_sample_error("a11y_prop_obj_dne") self.assert_sample_error("a11y_prop_type") + self.assert_sample_error("action_widget_float_response") + self.assert_sample_error("action_widget_have_no_id") + self.assert_sample_error("action_widget_multiple_default") + self.assert_sample_error("action_widget_not_action") + self.assert_sample_error("action_widget_not_in_dialog") + self.assert_sample_error("action_widget_response_dne") + self.assert_sample_error("action_widget_negative_response") self.assert_sample_error("class_assign") self.assert_sample_error("class_dne") self.assert_sample_error("consecutive_unexpected_tokens")