validation: Disallow instantiating abstract classes

This commit is contained in:
James Westman 2022-04-28 23:07:32 -05:00
parent f78478bea1
commit 99e428d93c
17 changed files with 35 additions and 13 deletions

View file

@ -1,6 +1,6 @@
using Gtk 4.0;
Widget {
Button {
accessibility {
not_a_prop: "Hello, world!";
}

View file

@ -1,6 +1,6 @@
using Gtk 4.0;
Widget {
Button {
accessibility {
labelled-by: not_an_object;
}

View file

@ -1,6 +1,6 @@
using Gtk 4.0;
Widget {
Button {
accessibility {
orientation: 1;
}

View file

@ -0,0 +1,4 @@
using Gtk 4.0;
template MyWidget : Gtk.Widget {}
Gtk.Widget {}

View file

@ -0,0 +1 @@
4,1,10,Gtk.Widget can't be instantiated because it's abstract

View file

@ -1 +1 @@
4,3,15,Cannot assign Gio.MenuModel to string
4,3,15,Cannot assign Gio.Menu to string

View file

@ -1,6 +1,6 @@
using Gtk 4.0;
Widget {
Button {
mime-types []
patterns []
suffixes []

View file

@ -1,3 +1,3 @@
4,3,13,Gtk.Widget is not a Gtk.FileFilter, so it doesn't have file filter properties
5,3,11,Gtk.Widget is not a Gtk.FileFilter, so it doesn't have file filter properties
6,3,11,Gtk.Widget is not a Gtk.FileFilter, so it doesn't have file filter properties
4,3,13,Gtk.Button is not a Gtk.FileFilter, so it doesn't have file filter properties
5,3,11,Gtk.Button is not a Gtk.FileFilter, so it doesn't have file filter properties
6,3,11,Gtk.Button is not a Gtk.FileFilter, so it doesn't have file filter properties

View file

@ -6,4 +6,4 @@ StringList {
]
}
Widget id {}
Button id {}

View file

@ -1 +1 @@
5,5,2,Cannot assign Gtk.Widget to string
5,5,2,Cannot assign Gtk.Button to string

View file

@ -1,5 +1,5 @@
using Gtk 4.0;
Widget {
Button {
widgets []
}

View file

@ -1 +1 @@
4,3,7,Gtk.Widget is not a Gtk.SizeGroup, so it doesn't have size group properties
4,3,7,Gtk.Button is not a Gtk.SizeGroup, so it doesn't have size group properties

View file

@ -164,6 +164,7 @@ 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("abstract_class")
self.assert_sample_error("assign_inline_menu")
self.assert_sample_error("action_widget_float_response")
self.assert_sample_error("action_widget_have_no_id")