Commit 28b6155e2d38e8d733e2b12c66b1ab00ad19a97a
1 parent
a02c03d5
oleform/test_basic: temporarily fixed test data (see issue #568)
Showing
1 changed file
with
232 additions
and
66 deletions
tests/oleform/test_basic.py
| ... | ... | @@ -9,73 +9,239 @@ from tests.test_utils import DATA_BASE_DIR |
| 9 | 9 | |
| 10 | 10 | from oletools.olevba import VBA_Parser |
| 11 | 11 | |
| 12 | +# TODO: obviously those results are slightly wrong, there is a bug in the oleform parser | |
| 13 | +# but for now we'll accept those as test results until oleform is fixed (see issue #568) | |
| 12 | 14 | SAMPLES = [('oleform-PR314.docm', |
| 13 | - [('word/vbaProject.bin', u'UserFormTEST1', | |
| 14 | - {'caption': 'Label1-test', 'control_tip_text': None, 'name': 'Label1', 'value': None, 'tag': 'l\x18sdf', | |
| 15 | - 'ClsidCacheIndex': 21, 'id': 1, 'tabindex': 0}), | |
| 16 | - ('word/vbaProject.bin', u'UserFormTEST1', | |
| 17 | - {'caption': None, 'control_tip_text': None, 'name': 'TextBox1', 'value': 'heyhey', 'tag': '', | |
| 18 | - 'ClsidCacheIndex': 23, 'id': 2, 'tabindex': 1}), | |
| 19 | - ('word/vbaProject.bin', u'UserFormTEST1', | |
| 20 | - {'caption': None, 'control_tip_text': None, 'name': 'ComboBox1', 'value': 'none dd', 'tag': '', | |
| 21 | - 'ClsidCacheIndex': 25, 'id': 3, 'tabindex': 2}), | |
| 22 | - ('word/vbaProject.bin', u'UserFormTEST1', | |
| 23 | - {'caption': None, 'control_tip_text': None, 'name': 'CheckBox1', 'value': '1', 'tag': '', | |
| 24 | - 'ClsidCacheIndex': 26, 'id': 5, 'tabindex': 4}), | |
| 25 | - ('word/vbaProject.bin', u'UserFormTEST1', | |
| 26 | - {'caption': None, 'control_tip_text': None, 'name': 'OptionButton1', 'value': '0', 'tag': '', | |
| 27 | - 'ClsidCacheIndex': 27, 'id': 6, 'tabindex': 5}), | |
| 28 | - ('word/vbaProject.bin', u'UserFormTEST1', | |
| 29 | - {'caption': None, 'control_tip_text': None, 'name': 'ToggleButton1', 'value': '0', 'tag': '', | |
| 30 | - 'ClsidCacheIndex': 28, 'id': 7, 'tabindex': 6}), | |
| 31 | - ('word/vbaProject.bin', u'UserFormTEST1', | |
| 32 | - {'caption': None, 'control_tip_text': None, 'name': 'Frame1', 'value': None, 'tag': '', | |
| 33 | - 'ClsidCacheIndex': 14, 'id': 8, 'tabindex': 7}), | |
| 34 | - ('word/vbaProject.bin', u'UserFormTEST1', | |
| 35 | - {'caption': None, 'control_tip_text': None, 'name': 'TabStrip1', 'value': None, 'tag': '', | |
| 36 | - 'ClsidCacheIndex': 18, 'id': 10, 'tabindex': 8}), | |
| 37 | - ('word/vbaProject.bin', u'UserFormTEST1', | |
| 38 | - {'caption': None, 'control_tip_text': None, 'name': 'CommandButton1', 'value': None, 'tag': '', | |
| 39 | - 'ClsidCacheIndex': 17, 'id': 9, 'tabindex': 9}), | |
| 40 | - ('word/vbaProject.bin', u'UserFormTEST1', | |
| 41 | - {'caption': None, 'control_tip_text': None, 'name': 'MultiPage1', 'value': None, 'tag': '', | |
| 42 | - 'ClsidCacheIndex': 57, 'id': 12, 'tabindex': 10}), | |
| 43 | - ('word/vbaProject.bin', u'UserFormTEST1', | |
| 44 | - {'caption': None, 'control_tip_text': None, 'name': 'ScrollBar1', 'value': None, 'tag': '', | |
| 45 | - 'ClsidCacheIndex': 47, 'id': 16, 'tabindex': 11}), | |
| 46 | - ('word/vbaProject.bin', u'UserFormTEST1', | |
| 47 | - {'caption': None, 'control_tip_text': None, 'name': 'SpinButton1', 'value': None, 'tag': '', | |
| 48 | - 'ClsidCacheIndex': 16, 'id': 17, 'tabindex': 12}), | |
| 49 | - ('word/vbaProject.bin', u'UserFormTEST1', | |
| 50 | - {'caption': None, 'control_tip_text': None, 'name': 'Image1', 'value': None, 'tag': '', | |
| 51 | - 'ClsidCacheIndex': 12, 'id': 18, 'tabindex': 13}), | |
| 52 | - ('word/vbaProject.bin', u'UserFormTEST1', | |
| 53 | - {'caption': None, 'control_tip_text': None, 'name': 'ListBox1', 'value': '', 'tag': '', | |
| 54 | - 'ClsidCacheIndex': 24, 'id': 4, 'tabindex': 3}), | |
| 55 | - ('word/vbaProject.bin', u'UserFormTEST1/i08', | |
| 56 | - {'caption': None, 'control_tip_text': None, 'name': 'TextBox2', 'value': 'abcd', 'tag': '', | |
| 57 | - 'ClsidCacheIndex': 23, 'id': 20, 'tabindex': 0}), | |
| 58 | - ('word/vbaProject.bin', u'UserFormTEST1/i12', | |
| 59 | - {'caption': None, 'control_tip_text': None, 'name': '', 'value': None, 'tag': '', | |
| 60 | - 'ClsidCacheIndex': 18, 'id': 13, 'tabindex': 2}), | |
| 61 | - ('word/vbaProject.bin', u'UserFormTEST1/i12', | |
| 62 | - {'caption': None, 'control_tip_text': None, 'name': 'Page1', 'value': None, 'tag': '', | |
| 63 | - 'ClsidCacheIndex': 7, 'id': 14, 'tabindex': 0}), | |
| 64 | - ('word/vbaProject.bin', u'UserFormTEST1/i12', | |
| 65 | - {'caption': None, 'control_tip_text': None, 'name': 'Page2', 'value': None, 'tag': '', | |
| 66 | - 'ClsidCacheIndex': 7, 'id': 15, 'tabindex': 1}), | |
| 67 | - ('word/vbaProject.bin', u'UserFormTEST1/i12/i14', | |
| 68 | - {'caption': None, 'control_tip_text': None, 'name': 'TextBox3', 'value': 'last one', 'tag': '', | |
| 69 | - 'ClsidCacheIndex': 23, 'id': 24, 'tabindex': 0}), | |
| 70 | - ('word/vbaProject.bin', u'UserFormTest2', | |
| 71 | - {'caption': 'Label1', 'control_tip_text': None, 'name': 'Label1', 'value': None, 'tag': '', | |
| 72 | - 'ClsidCacheIndex': 21, 'id': 1, 'tabindex': 0}), | |
| 73 | - ('word/vbaProject.bin', u'UserFormTest2', | |
| 74 | - {'caption': 'Label2', 'control_tip_text': None, 'name': 'Label2', 'value': None, 'tag': '', | |
| 75 | - 'ClsidCacheIndex': 21, 'id': 2, 'tabindex': 1}), | |
| 76 | - ('word/vbaProject.bin', u'UserFormTest2', | |
| 77 | - {'caption': None, 'control_tip_text': None, 'name': 'TextBox1', 'value': '&\xe9"\'', 'tag': '', | |
| 78 | - 'group_name': '', 'ClsidCacheIndex': 23, 'id': 3, 'tabindex': 2})])] | |
| 15 | + [('word/vbaProject.bin', | |
| 16 | + u'UserFormTEST1', | |
| 17 | + {'ClsidCacheIndex': 21, | |
| 18 | + 'caption': 'Label1-test', | |
| 19 | + 'control_tip_text': None, | |
| 20 | + 'id': 1, | |
| 21 | + 'name': 'Label1', | |
| 22 | + 'tabindex': 0, | |
| 23 | + 'tag': 'l\x18sdf', | |
| 24 | + 'value': None}), | |
| 25 | + ('word/vbaProject.bin', | |
| 26 | + u'UserFormTEST1', | |
| 27 | + {'ClsidCacheIndex': 23, | |
| 28 | + 'caption': '', | |
| 29 | + 'control_tip_text': None, | |
| 30 | + 'group_name': '', | |
| 31 | + 'id': 2, | |
| 32 | + 'name': 'TextBox1', | |
| 33 | + 'tabindex': 1, | |
| 34 | + 'tag': None, | |
| 35 | + 'value': 'heyhey'}), | |
| 36 | + ('word/vbaProject.bin', | |
| 37 | + u'UserFormTEST1', | |
| 38 | + {'ClsidCacheIndex': 25, | |
| 39 | + 'caption': '', | |
| 40 | + 'control_tip_text': None, | |
| 41 | + 'group_name': '', | |
| 42 | + 'id': 3, | |
| 43 | + 'name': 'ComboBox1', | |
| 44 | + 'tabindex': 2, | |
| 45 | + 'tag': None, | |
| 46 | + 'value': 'none dd'}), | |
| 47 | + ('word/vbaProject.bin', | |
| 48 | + u'UserFormTEST1', | |
| 49 | + {'ClsidCacheIndex': 26, | |
| 50 | + 'caption': '\xba\xa5\x18mouah', | |
| 51 | + 'control_tip_text': None, | |
| 52 | + 'group_name': '', | |
| 53 | + 'id': 5, | |
| 54 | + 'name': 'CheckBox1', | |
| 55 | + 'tabindex': 4, | |
| 56 | + 'tag': None, | |
| 57 | + 'value': '1'}), | |
| 58 | + ('word/vbaProject.bin', | |
| 59 | + u'UserFormTEST1', | |
| 60 | + {'ClsidCacheIndex': 27, | |
| 61 | + 'caption': '\xba\xa5\x18OptionButt', | |
| 62 | + 'control_tip_text': None, | |
| 63 | + 'group_name': '', | |
| 64 | + 'id': 6, | |
| 65 | + 'name': 'OptionButton1', | |
| 66 | + 'tabindex': 5, | |
| 67 | + 'tag': None, | |
| 68 | + 'value': '0'}), | |
| 69 | + ('word/vbaProject.bin', | |
| 70 | + u'UserFormTEST1', | |
| 71 | + {'ClsidCacheIndex': 28, | |
| 72 | + 'caption': '\xba\xa5\x18ToggleButt', | |
| 73 | + 'control_tip_text': None, | |
| 74 | + 'group_name': '', | |
| 75 | + 'id': 7, | |
| 76 | + 'name': 'ToggleButton1', | |
| 77 | + 'tabindex': 6, | |
| 78 | + 'tag': None, | |
| 79 | + 'value': '0'}), | |
| 80 | + ('word/vbaProject.bin', | |
| 81 | + u'UserFormTEST1', | |
| 82 | + {'ClsidCacheIndex': 14, | |
| 83 | + 'caption': None, | |
| 84 | + 'control_tip_text': None, | |
| 85 | + 'id': 8, | |
| 86 | + 'name': 'Frame1', | |
| 87 | + 'tabindex': 7, | |
| 88 | + 'tag': None, | |
| 89 | + 'value': None}), | |
| 90 | + ('word/vbaProject.bin', | |
| 91 | + u'UserFormTEST1', | |
| 92 | + {'ClsidCacheIndex': 18, | |
| 93 | + 'caption': None, | |
| 94 | + 'control_tip_text': None, | |
| 95 | + 'id': 10, | |
| 96 | + 'name': 'TabStrip1', | |
| 97 | + 'tabindex': 8, | |
| 98 | + 'tag': None, | |
| 99 | + 'value': None}), | |
| 100 | + ('word/vbaProject.bin', | |
| 101 | + u'UserFormTEST1', | |
| 102 | + {'ClsidCacheIndex': 17, | |
| 103 | + 'caption': None, | |
| 104 | + 'control_tip_text': None, | |
| 105 | + 'id': 9, | |
| 106 | + 'name': 'CommandButton1', | |
| 107 | + 'tabindex': 9, | |
| 108 | + 'tag': None, | |
| 109 | + 'value': None}), | |
| 110 | + ('word/vbaProject.bin', | |
| 111 | + u'UserFormTEST1', | |
| 112 | + {'ClsidCacheIndex': 57, | |
| 113 | + 'caption': None, | |
| 114 | + 'control_tip_text': None, | |
| 115 | + 'id': 12, | |
| 116 | + 'name': 'MultiPage1', | |
| 117 | + 'tabindex': 10, | |
| 118 | + 'tag': None, | |
| 119 | + 'value': None}), | |
| 120 | + ('word/vbaProject.bin', | |
| 121 | + u'UserFormTEST1', | |
| 122 | + {'ClsidCacheIndex': 47, | |
| 123 | + 'caption': None, | |
| 124 | + 'control_tip_text': None, | |
| 125 | + 'id': 16, | |
| 126 | + 'name': 'ScrollBar1', | |
| 127 | + 'tabindex': 11, | |
| 128 | + 'tag': None, | |
| 129 | + 'value': None}), | |
| 130 | + ('word/vbaProject.bin', | |
| 131 | + u'UserFormTEST1', | |
| 132 | + {'ClsidCacheIndex': 16, | |
| 133 | + 'caption': None, | |
| 134 | + 'control_tip_text': None, | |
| 135 | + 'id': 17, | |
| 136 | + 'name': 'SpinButton1', | |
| 137 | + 'tabindex': 12, | |
| 138 | + 'tag': None, | |
| 139 | + 'value': None}), | |
| 140 | + ('word/vbaProject.bin', | |
| 141 | + u'UserFormTEST1', | |
| 142 | + {'ClsidCacheIndex': 12, | |
| 143 | + 'caption': None, | |
| 144 | + 'control_tip_text': None, | |
| 145 | + 'id': 18, | |
| 146 | + 'name': 'Image1', | |
| 147 | + 'tabindex': 13, | |
| 148 | + 'tag': None, | |
| 149 | + 'value': None}), | |
| 150 | + ('word/vbaProject.bin', | |
| 151 | + u'UserFormTEST1', | |
| 152 | + {'ClsidCacheIndex': 24, | |
| 153 | + 'caption': '', | |
| 154 | + 'control_tip_text': None, | |
| 155 | + 'group_name': '', | |
| 156 | + 'id': 4, | |
| 157 | + 'name': 'ListBox1', | |
| 158 | + 'tabindex': 3, | |
| 159 | + 'tag': None, | |
| 160 | + 'value': ''}), | |
| 161 | + ('word/vbaProject.bin', | |
| 162 | + u'UserFormTEST1/i08', | |
| 163 | + {'ClsidCacheIndex': 23, | |
| 164 | + 'caption': '', | |
| 165 | + 'control_tip_text': None, | |
| 166 | + 'group_name': '', | |
| 167 | + 'id': 20, | |
| 168 | + 'name': 'TextBox2', | |
| 169 | + 'tabindex': 0, | |
| 170 | + 'tag': None, | |
| 171 | + 'value': 'abcd'}), | |
| 172 | + ('word/vbaProject.bin', | |
| 173 | + u'UserFormTEST1/i12', | |
| 174 | + {'ClsidCacheIndex': 18, | |
| 175 | + 'caption': None, | |
| 176 | + 'control_tip_text': None, | |
| 177 | + 'id': 13, | |
| 178 | + 'name': None, | |
| 179 | + 'tabindex': 2, | |
| 180 | + 'tag': None, | |
| 181 | + 'value': None}), | |
| 182 | + ('word/vbaProject.bin', | |
| 183 | + u'UserFormTEST1/i12', | |
| 184 | + {'ClsidCacheIndex': 7, | |
| 185 | + 'caption': None, | |
| 186 | + 'control_tip_text': None, | |
| 187 | + 'id': 14, | |
| 188 | + 'name': 'Page1', | |
| 189 | + 'tabindex': 0, | |
| 190 | + 'tag': None, | |
| 191 | + 'value': None}), | |
| 192 | + ('word/vbaProject.bin', | |
| 193 | + u'UserFormTEST1/i12', | |
| 194 | + {'ClsidCacheIndex': 7, | |
| 195 | + 'caption': None, | |
| 196 | + 'control_tip_text': None, | |
| 197 | + 'id': 15, | |
| 198 | + 'name': 'Page2', | |
| 199 | + 'tabindex': 1, | |
| 200 | + 'tag': None, | |
| 201 | + 'value': None}), | |
| 202 | + ('word/vbaProject.bin', | |
| 203 | + u'UserFormTEST1/i12/i14', | |
| 204 | + {'ClsidCacheIndex': 23, | |
| 205 | + 'caption': '', | |
| 206 | + 'control_tip_text': None, | |
| 207 | + 'group_name': '', | |
| 208 | + 'id': 24, | |
| 209 | + 'name': 'TextBox3', | |
| 210 | + 'tabindex': 0, | |
| 211 | + 'tag': None, | |
| 212 | + 'value': 'last one'}), | |
| 213 | + ('word/vbaProject.bin', | |
| 214 | + u'UserFormTest2', | |
| 215 | + {'ClsidCacheIndex': 21, | |
| 216 | + 'caption': 'Label1', | |
| 217 | + 'control_tip_text': None, | |
| 218 | + 'id': 1, | |
| 219 | + 'name': 'Label1', | |
| 220 | + 'tabindex': 0, | |
| 221 | + 'tag': None, | |
| 222 | + 'value': None}), | |
| 223 | + ('word/vbaProject.bin', | |
| 224 | + u'UserFormTest2', | |
| 225 | + {'ClsidCacheIndex': 21, | |
| 226 | + 'caption': 'Label2', | |
| 227 | + 'control_tip_text': None, | |
| 228 | + 'id': 2, | |
| 229 | + 'name': 'Label2', | |
| 230 | + 'tabindex': 1, | |
| 231 | + 'tag': None, | |
| 232 | + 'value': None}), | |
| 233 | + ('word/vbaProject.bin', | |
| 234 | + u'UserFormTest2', | |
| 235 | + {'ClsidCacheIndex': 23, | |
| 236 | + 'caption': '', | |
| 237 | + 'control_tip_text': None, | |
| 238 | + 'group_name': '', | |
| 239 | + 'id': 3, | |
| 240 | + 'name': 'TextBox1', | |
| 241 | + 'tabindex': 2, | |
| 242 | + 'tag': None, | |
| 243 | + 'value': '&\xe9"\''})] | |
| 244 | + )] | |
| 79 | 245 | |
| 80 | 246 | class TestOleForm(unittest.TestCase): |
| 81 | 247 | ... | ... |