mirror of
https://gitlab.gnome.org/jwestman/blueprint-compiler.git
synced 2025-05-06 16:19:07 -04:00
decompiler: Implement support for bindings
The .ui files for tests were taken from GTK test suite.
This commit is contained in:
parent
479fe17589
commit
7fc367e644
18 changed files with 172 additions and 0 deletions
5
tests/samples/binding1.blp
Normal file
5
tests/samples/binding1.blp
Normal file
|
@ -0,0 +1,5 @@
|
|||
using Gtk 4.0;
|
||||
|
||||
DropDown {
|
||||
expression: bla as <gchararray> ;
|
||||
}
|
7
tests/samples/binding1.ui
Normal file
7
tests/samples/binding1.ui
Normal file
|
@ -0,0 +1,7 @@
|
|||
<interface>
|
||||
<object class="GtkDropDown">
|
||||
<property name="expression">
|
||||
<constant type="gchararray">bla</constant>
|
||||
</property>
|
||||
</object>
|
||||
</interface>
|
5
tests/samples/binding2.blp
Normal file
5
tests/samples/binding2.blp
Normal file
|
@ -0,0 +1,5 @@
|
|||
using Gtk 4.0;
|
||||
|
||||
DropDown {
|
||||
expression: bla as <gint> ;
|
||||
}
|
7
tests/samples/binding2.ui
Normal file
7
tests/samples/binding2.ui
Normal file
|
@ -0,0 +1,7 @@
|
|||
<interface>
|
||||
<object class="GtkDropDown">
|
||||
<property name="expression">
|
||||
<constant type="gint">bla</constant>
|
||||
</property>
|
||||
</object>
|
||||
</interface>
|
5
tests/samples/binding3.blp
Normal file
5
tests/samples/binding3.blp
Normal file
|
@ -0,0 +1,5 @@
|
|||
using Gtk 4.0;
|
||||
|
||||
DropDown {
|
||||
expression: bla ;
|
||||
}
|
7
tests/samples/binding3.ui
Normal file
7
tests/samples/binding3.ui
Normal file
|
@ -0,0 +1,7 @@
|
|||
<interface>
|
||||
<object class="GtkDropDown">
|
||||
<property name="expression">
|
||||
<constant>bla</constant>
|
||||
</property>
|
||||
</object>
|
||||
</interface>
|
5
tests/samples/binding4.blp
Normal file
5
tests/samples/binding4.blp
Normal file
|
@ -0,0 +1,5 @@
|
|||
using Gtk 4.0;
|
||||
|
||||
DropDown {
|
||||
expression: bla as <nosuchtype> ;
|
||||
}
|
7
tests/samples/binding4.ui
Normal file
7
tests/samples/binding4.ui
Normal file
|
@ -0,0 +1,7 @@
|
|||
<interface>
|
||||
<object class="GtkDropDown">
|
||||
<property name="expression">
|
||||
<constant type="nosuchtype">bla</constant>
|
||||
</property>
|
||||
</object>
|
||||
</interface>
|
8
tests/samples/binding5.blp
Normal file
8
tests/samples/binding5.blp
Normal file
|
@ -0,0 +1,8 @@
|
|||
using Gtk 4.0;
|
||||
|
||||
Label bla {
|
||||
}
|
||||
|
||||
DropDown {
|
||||
expression: bla.label ;
|
||||
}
|
8
tests/samples/binding5.ui
Normal file
8
tests/samples/binding5.ui
Normal file
|
@ -0,0 +1,8 @@
|
|||
<interface>
|
||||
<object class="GtkLabel" id="bla"/>
|
||||
<object class="GtkDropDown">
|
||||
<property name="expression">
|
||||
<lookup name="label">bla</lookup>
|
||||
</property>
|
||||
</object>
|
||||
</interface>
|
8
tests/samples/binding6.blp
Normal file
8
tests/samples/binding6.blp
Normal file
|
@ -0,0 +1,8 @@
|
|||
using Gtk 4.0;
|
||||
|
||||
Label bla {
|
||||
}
|
||||
|
||||
DropDown {
|
||||
expression: bla as <GtkLabel>.label ;
|
||||
}
|
8
tests/samples/binding6.ui
Normal file
8
tests/samples/binding6.ui
Normal file
|
@ -0,0 +1,8 @@
|
|||
<interface>
|
||||
<object class="GtkLabel" id="bla"/>
|
||||
<object class="GtkDropDown">
|
||||
<property name="expression">
|
||||
<lookup name="label" type="GtkLabel">bla</lookup>
|
||||
</property>
|
||||
</object>
|
||||
</interface>
|
8
tests/samples/binding7.blp
Normal file
8
tests/samples/binding7.blp
Normal file
|
@ -0,0 +1,8 @@
|
|||
using Gtk 4.0;
|
||||
|
||||
Label bla {
|
||||
}
|
||||
|
||||
DropDown {
|
||||
expression: bla as <GtkLabel>.label ;
|
||||
}
|
10
tests/samples/binding7.ui
Normal file
10
tests/samples/binding7.ui
Normal file
|
@ -0,0 +1,10 @@
|
|||
<interface>
|
||||
<object class="GtkLabel" id="bla"/>
|
||||
<object class="GtkDropDown">
|
||||
<property name="expression">
|
||||
<lookup name="label">
|
||||
<constant type="GtkLabel">bla</constant>
|
||||
</lookup>
|
||||
</property>
|
||||
</object>
|
||||
</interface>
|
8
tests/samples/binding8.blp
Normal file
8
tests/samples/binding8.blp
Normal file
|
@ -0,0 +1,8 @@
|
|||
using Gtk 4.0;
|
||||
|
||||
Label bla {
|
||||
}
|
||||
|
||||
DropDown {
|
||||
expression: strcmp('File size:', bla as <GtkLabel>.max-width-chars) as <gchararray>;
|
||||
}
|
11
tests/samples/binding8.ui
Normal file
11
tests/samples/binding8.ui
Normal file
|
@ -0,0 +1,11 @@
|
|||
<interface>
|
||||
<object class="GtkLabel" id="bla"/>
|
||||
<object class="GtkDropDown">
|
||||
<property name="expression">
|
||||
<closure type='gchararray' function="strcmp">
|
||||
<constant type="gchararray">File size:</constant>
|
||||
<lookup type="GtkLabel" name="max-width-chars">bla</lookup>
|
||||
</closure>
|
||||
</property>
|
||||
</object>
|
||||
</interface>
|
|
@ -174,6 +174,14 @@ class TestSamples(unittest.TestCase):
|
|||
REQUIRE_ADW_1_4 = ["adw_breakpoint"]
|
||||
|
||||
SKIP_RUN = [
|
||||
"binding1",
|
||||
"binding2",
|
||||
"binding3",
|
||||
"binding4",
|
||||
"binding5",
|
||||
"binding6",
|
||||
"binding7",
|
||||
"binding8",
|
||||
"expr_closure",
|
||||
"expr_closure_args",
|
||||
"parseable",
|
||||
|
@ -211,6 +219,14 @@ class TestSamples(unittest.TestCase):
|
|||
|
||||
def test_decompiler(self):
|
||||
self.assert_decompile("accessibility_dec")
|
||||
self.assert_decompile("binding1")
|
||||
self.assert_decompile("binding2")
|
||||
self.assert_decompile("binding3")
|
||||
self.assert_decompile("binding4")
|
||||
self.assert_decompile("binding5")
|
||||
self.assert_decompile("binding6")
|
||||
self.assert_decompile("binding7")
|
||||
self.assert_decompile("binding8")
|
||||
self.assert_decompile("child_type")
|
||||
self.assert_decompile("file_filter")
|
||||
self.assert_decompile("flags")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue