Merge lp:~anuraj.p/nunitv2/GUIFindTest into lp:nunitv2
- GUIFindTest
- Merge into trunk
Status: | Needs review |
---|---|
Proposed branch: | lp:~anuraj.p/nunitv2/GUIFindTest |
Merge into: | lp:nunitv2 |
Diff against target: |
2593 lines (+1345/-1217) 3 files modified
src/GuiComponents/UiKit/TestTree.cs (+941/-815) src/GuiComponents/UiKit/nunit.uikit.build (+1/-0) src/GuiComponents/UiKit/nunit.uikit.dll.csproj (+403/-402) |
To merge this branch: | bzr merge lp:~anuraj.p/nunitv2/GUIFindTest |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Simone Busoli | Needs Fixing | ||
Review via email: mp+132950@code.launchpad.net |
Commit message
Description of the change
Anuraj P (anuraj.p) wrote : | # |
I modified the build file. I was not using build.bat file. Sorry I missed that. I am not sure why the application is crashing while opening the project, because I didn't changed anything in those code. Anyway I will look into it.
Charlie Poole (charlie.poole) wrote : | # |
Since you requested a merge, I assume you were able to build at some
point - right?
Charlie
On Mon, Nov 5, 2012 at 6:08 PM, Anuraj P <email address hidden> wrote:
> I modified the build file. I was not using build.bat file. Sorry I missed that. I am not sure why the application is crashing while opening the project, because I didn't changed anything in those code. Anyway I will look into it.
> --
> https:/
> You are subscribed to branch lp:nunitv2.
Anuraj P (anuraj.p) wrote : | # |
As I am using Visual Studio to build, it was working without any issue. No problem I modified the build file, and it is committed also.
> Since you requested a merge, I assume you were able to build at some
> point - right?
>
> Charlie
>
> On Mon, Nov 5, 2012 at 6:08 PM, Anuraj P <email address hidden> wrote:
> > I modified the build file. I was not using build.bat file. Sorry I missed
> that. I am not sure why the application is crashing while opening the project,
> because I didn't changed anything in those code. Anyway I will look into it.
> > --
> > https:/
> > You are subscribed to branch lp:nunitv2.
Simone Busoli (simone.busoli) wrote : | # |
Hi Anuraj,
the GUI doesn't crash at startup but when I try to run a test. The repro is
simple, can you try what happens when you build it by:
- running *build.bat*
- executing builds\
- loading the project file located in builds\
- clicking the Run button
? At that point, where the GUI should run all the tests contained in the
project, I get a NRE.
Simone
On Tue, Nov 6, 2012 at 6:06 AM, Anuraj P <email address hidden> wrote:
> As I am using Visual Studio to build, it was working without any issue. No
> problem I modified the build file, and it is committed also.
>
> > Since you requested a merge, I assume you were able to build at some
> > point - right?
> >
> > Charlie
> >
> > On Mon, Nov 5, 2012 at 6:08 PM, Anuraj P <email address hidden> wrote:
> > > I modified the build file. I was not using build.bat file. Sorry I
> missed
> > that. I am not sure why the application is crashing while opening the
> project,
> > because I didn't changed anything in those code. Anyway I will look into
> it.
> > > --
> > > https:/
> > > You are subscribed to branch lp:nunitv2.
> --
> https:/
> You are reviewing the proposed merge of lp:~anuraj.p/nunitv2/GUIFindTest
> into lp:nunitv2.
>
Preview Diff
1 | === added file 'src/GuiComponents/UiKit/Images/search.png' |
2 | Binary files src/GuiComponents/UiKit/Images/search.png 1970-01-01 00:00:00 +0000 and src/GuiComponents/UiKit/Images/search.png 2012-11-06 02:11:19 +0000 differ |
3 | === modified file 'src/GuiComponents/UiKit/TestTree.cs' |
4 | --- src/GuiComponents/UiKit/TestTree.cs 2012-07-21 20:00:21 +0000 |
5 | +++ src/GuiComponents/UiKit/TestTree.cs 2012-11-06 02:11:19 +0000 |
6 | @@ -1,133 +1,132 @@ |
7 | -// **************************************************************** |
8 | -// This is free software licensed under the NUnit license. You |
9 | -// may obtain a copy of the license as well as information regarding |
10 | -// copyright ownership at http://nunit.org. |
11 | -// **************************************************************** |
12 | - |
13 | -using System; |
14 | -using System.Collections; |
15 | -using System.Collections.Generic; |
16 | -using System.ComponentModel; |
17 | -using System.Drawing; |
18 | -using System.Data; |
19 | -using System.Windows.Forms; |
20 | -using NUnit.Core; |
21 | -using NUnit.Util; |
22 | - |
23 | -namespace NUnit.UiKit |
24 | -{ |
25 | - public delegate void SelectedTestsChangedEventHandler(object sender, SelectedTestsChangedEventArgs e); |
26 | - /// <summary> |
27 | - /// Summary description for TestTree. |
28 | - /// </summary> |
29 | - public class TestTree : System.Windows.Forms.UserControl |
30 | - { |
31 | - #region Instance Variables |
32 | - |
33 | - // Contains all available categories, whether |
34 | - // selected or not. Unselected members of this |
35 | - // list are displayed in selectedList |
36 | - private IList availableCategories = new List<string>(); |
37 | - |
38 | - // Our test loader |
39 | - private TestLoader loader; |
40 | - |
41 | - private System.Windows.Forms.TabControl tabs; |
42 | - private System.Windows.Forms.TabPage testPage; |
43 | - private System.Windows.Forms.TabPage categoryPage; |
44 | - private System.Windows.Forms.Panel testPanel; |
45 | - private System.Windows.Forms.Panel categoryPanel; |
46 | - private System.Windows.Forms.Panel treePanel; |
47 | - private System.Windows.Forms.Panel buttonPanel; |
48 | - private NUnit.UiKit.TestSuiteTreeView tests; |
49 | - private System.Windows.Forms.GroupBox groupBox1; |
50 | - private System.Windows.Forms.ListBox availableList; |
51 | - private System.Windows.Forms.GroupBox selectedCategories; |
52 | - private System.Windows.Forms.ListBox selectedList; |
53 | - private System.Windows.Forms.Panel categoryButtonPanel; |
54 | - private System.Windows.Forms.Button addCategory; |
55 | - private System.Windows.Forms.Button removeCategory; |
56 | - private System.Windows.Forms.Button clearAllButton; |
57 | - private System.Windows.Forms.Button checkFailedButton; |
58 | - private System.Windows.Forms.MenuItem treeMenu; |
59 | - private System.Windows.Forms.MenuItem checkBoxesMenuItem; |
60 | - private System.Windows.Forms.MenuItem treeMenuSeparatorItem1; |
61 | - private System.Windows.Forms.MenuItem expandMenuItem; |
62 | - private System.Windows.Forms.MenuItem collapseMenuItem; |
63 | - private System.Windows.Forms.MenuItem treeMenuSeparatorItem2; |
64 | - private System.Windows.Forms.MenuItem expandAllMenuItem; |
65 | - private System.Windows.Forms.MenuItem collapseAllMenuItem; |
66 | - private System.Windows.Forms.MenuItem hideTestsMenuItem; |
67 | - private System.Windows.Forms.MenuItem treeMenuSeparatorItem3; |
68 | - private System.Windows.Forms.MenuItem propertiesMenuItem; |
69 | - private System.Windows.Forms.CheckBox excludeCheckbox; |
70 | - |
71 | - /// <summary> |
72 | - /// Required designer variable. |
73 | - /// </summary> |
74 | - private System.ComponentModel.Container components = null; |
75 | - |
76 | - #endregion |
77 | - |
78 | - #region Properties |
79 | - |
80 | - public MenuItem TreeMenu |
81 | - { |
82 | - get { return treeMenu; } |
83 | - } |
84 | - |
85 | - public string[] SelectedCategories |
86 | - { |
87 | - get |
88 | - { |
89 | - int n = this.selectedList.Items.Count; |
90 | - string[] categories = new string[n]; |
91 | - for( int i = 0; i < n; i++ ) |
92 | - categories[i] = this.selectedList.Items[i].ToString(); |
93 | - return categories; |
94 | - } |
95 | - } |
96 | - |
97 | - [Browsable(false)] |
98 | - public bool ShowCheckBoxes |
99 | - { |
100 | - get { return tests.CheckBoxes; } |
101 | - set |
102 | - { |
103 | - tests.CheckBoxes = value; |
104 | - buttonPanel.Visible = value; |
105 | - clearAllButton.Visible = value; |
106 | - checkFailedButton.Visible = value; |
107 | - checkBoxesMenuItem.Checked = value; |
108 | - } |
109 | - } |
110 | - #endregion |
111 | - |
112 | - #region Construction and Initialization |
113 | - |
114 | - public TestTree() |
115 | - { |
116 | - // This call is required by the Windows.Forms Form Designer. |
117 | - InitializeComponent(); |
118 | - treeMenu = new MenuItem(); |
119 | - this.checkBoxesMenuItem = new System.Windows.Forms.MenuItem(); |
120 | - this.treeMenuSeparatorItem1 = new System.Windows.Forms.MenuItem(); |
121 | - this.expandMenuItem = new System.Windows.Forms.MenuItem(); |
122 | - this.collapseMenuItem = new System.Windows.Forms.MenuItem(); |
123 | - this.treeMenuSeparatorItem2 = new System.Windows.Forms.MenuItem(); |
124 | - this.expandAllMenuItem = new System.Windows.Forms.MenuItem(); |
125 | - this.collapseAllMenuItem = new System.Windows.Forms.MenuItem(); |
126 | - this.hideTestsMenuItem = new System.Windows.Forms.MenuItem(); |
127 | - this.treeMenuSeparatorItem3 = new System.Windows.Forms.MenuItem(); |
128 | - this.propertiesMenuItem = new System.Windows.Forms.MenuItem(); |
129 | - |
130 | - // |
131 | - // treeMenu |
132 | - // |
133 | - this.treeMenu.MergeType = MenuMerge.Add; |
134 | - this.treeMenu.MergeOrder = 1; |
135 | - this.treeMenu.MenuItems.AddRange( |
136 | - new System.Windows.Forms.MenuItem[] |
137 | +// **************************************************************** |
138 | +// This is free software licensed under the NUnit license. You |
139 | +// may obtain a copy of the license as well as information regarding |
140 | +// copyright ownership at http://nunit.org. |
141 | +// **************************************************************** |
142 | + |
143 | +using System; |
144 | +using System.Collections; |
145 | +using System.Collections.Generic; |
146 | +using System.ComponentModel; |
147 | +using System.Drawing; |
148 | +using System.Data; |
149 | +using System.Windows.Forms; |
150 | +using NUnit.Core; |
151 | +using NUnit.Util; |
152 | + |
153 | +namespace NUnit.UiKit |
154 | +{ |
155 | + public delegate void SelectedTestsChangedEventHandler(object sender, SelectedTestsChangedEventArgs e); |
156 | + /// <summary> |
157 | + /// Summary description for TestTree. |
158 | + /// </summary> |
159 | + public class TestTree : System.Windows.Forms.UserControl |
160 | + { |
161 | + #region Instance Variables |
162 | + |
163 | + // Contains all available categories, whether |
164 | + // selected or not. Unselected members of this |
165 | + // list are displayed in selectedList |
166 | + private IList availableCategories = new List<string>(); |
167 | + |
168 | + // Our test loader |
169 | + private TestLoader loader; |
170 | + |
171 | + private System.Windows.Forms.TabControl tabs; |
172 | + private System.Windows.Forms.TabPage testPage; |
173 | + private System.Windows.Forms.TabPage categoryPage; |
174 | + private System.Windows.Forms.Panel testPanel; |
175 | + private System.Windows.Forms.Panel categoryPanel; |
176 | + private System.Windows.Forms.Panel buttonPanel; |
177 | + private System.Windows.Forms.GroupBox groupBox1; |
178 | + private System.Windows.Forms.ListBox availableList; |
179 | + private System.Windows.Forms.GroupBox selectedCategories; |
180 | + private System.Windows.Forms.ListBox selectedList; |
181 | + private System.Windows.Forms.Panel categoryButtonPanel; |
182 | + private System.Windows.Forms.Button addCategory; |
183 | + private System.Windows.Forms.Button removeCategory; |
184 | + private System.Windows.Forms.Button clearAllButton; |
185 | + private System.Windows.Forms.Button checkFailedButton; |
186 | + private System.Windows.Forms.MenuItem treeMenu; |
187 | + private System.Windows.Forms.MenuItem checkBoxesMenuItem; |
188 | + private System.Windows.Forms.MenuItem treeMenuSeparatorItem1; |
189 | + private System.Windows.Forms.MenuItem expandMenuItem; |
190 | + private System.Windows.Forms.MenuItem collapseMenuItem; |
191 | + private System.Windows.Forms.MenuItem treeMenuSeparatorItem2; |
192 | + private System.Windows.Forms.MenuItem expandAllMenuItem; |
193 | + private System.Windows.Forms.MenuItem collapseAllMenuItem; |
194 | + private System.Windows.Forms.MenuItem hideTestsMenuItem; |
195 | + private System.Windows.Forms.MenuItem treeMenuSeparatorItem3; |
196 | + private System.Windows.Forms.MenuItem propertiesMenuItem; |
197 | + private System.Windows.Forms.CheckBox excludeCheckbox; |
198 | + |
199 | + #endregion |
200 | + private Panel treePanel; |
201 | + private TestSuiteTreeView tests; |
202 | + private Panel FindTestsPanel; |
203 | + private PictureBox SearchImageButton; |
204 | + private TextBox TestNameTextBox; |
205 | + private IContainer components; |
206 | + |
207 | + #region Properties |
208 | + |
209 | + public MenuItem TreeMenu |
210 | + { |
211 | + get { return treeMenu; } |
212 | + } |
213 | + |
214 | + public string[] SelectedCategories |
215 | + { |
216 | + get |
217 | + { |
218 | + int n = this.selectedList.Items.Count; |
219 | + string[] categories = new string[n]; |
220 | + for (int i = 0; i < n; i++) |
221 | + categories[i] = this.selectedList.Items[i].ToString(); |
222 | + return categories; |
223 | + } |
224 | + } |
225 | + |
226 | + [Browsable(false)] |
227 | + public bool ShowCheckBoxes |
228 | + { |
229 | + get { return tests.CheckBoxes; } |
230 | + set |
231 | + { |
232 | + tests.CheckBoxes = value; |
233 | + buttonPanel.Visible = value; |
234 | + clearAllButton.Visible = value; |
235 | + checkFailedButton.Visible = value; |
236 | + checkBoxesMenuItem.Checked = value; |
237 | + } |
238 | + } |
239 | + #endregion |
240 | + |
241 | + #region Construction and Initialization |
242 | + |
243 | + public TestTree() |
244 | + { |
245 | + // This call is required by the Windows.Forms Form Designer. |
246 | + InitializeComponent(); |
247 | + treeMenu = new MenuItem(); |
248 | + this.checkBoxesMenuItem = new System.Windows.Forms.MenuItem(); |
249 | + this.treeMenuSeparatorItem1 = new System.Windows.Forms.MenuItem(); |
250 | + this.expandMenuItem = new System.Windows.Forms.MenuItem(); |
251 | + this.collapseMenuItem = new System.Windows.Forms.MenuItem(); |
252 | + this.treeMenuSeparatorItem2 = new System.Windows.Forms.MenuItem(); |
253 | + this.expandAllMenuItem = new System.Windows.Forms.MenuItem(); |
254 | + this.collapseAllMenuItem = new System.Windows.Forms.MenuItem(); |
255 | + this.hideTestsMenuItem = new System.Windows.Forms.MenuItem(); |
256 | + this.treeMenuSeparatorItem3 = new System.Windows.Forms.MenuItem(); |
257 | + this.propertiesMenuItem = new System.Windows.Forms.MenuItem(); |
258 | + |
259 | + // |
260 | + // treeMenu |
261 | + // |
262 | + this.treeMenu.MergeType = MenuMerge.Add; |
263 | + this.treeMenu.MergeOrder = 1; |
264 | + this.treeMenu.MenuItems.AddRange( |
265 | + new System.Windows.Forms.MenuItem[] |
266 | { |
267 | this.checkBoxesMenuItem, |
268 | this.treeMenuSeparatorItem1, |
269 | @@ -139,688 +138,815 @@ |
270 | this.hideTestsMenuItem, |
271 | this.treeMenuSeparatorItem3, |
272 | this.propertiesMenuItem |
273 | - } ); |
274 | - this.treeMenu.Text = "&Tree"; |
275 | - this.treeMenu.Visible = false; |
276 | - this.treeMenu.Popup += new System.EventHandler(this.treeMenu_Popup); |
277 | - // |
278 | - // checkBoxesMenuItem |
279 | - // |
280 | - this.checkBoxesMenuItem.Index = 0; |
281 | - this.checkBoxesMenuItem.Text = "Show Check&Boxes"; |
282 | - this.checkBoxesMenuItem.Click += new System.EventHandler(this.checkBoxesMenuItem_Click); |
283 | - // |
284 | - // treeMenuSeparatorItem1 |
285 | - // |
286 | - this.treeMenuSeparatorItem1.Index = 1; |
287 | - this.treeMenuSeparatorItem1.Text = "-"; |
288 | - // |
289 | - // expandMenuItem |
290 | - // |
291 | - this.expandMenuItem.Index = 2; |
292 | - this.expandMenuItem.Text = "&Expand"; |
293 | - this.expandMenuItem.Click += new System.EventHandler(this.expandMenuItem_Click); |
294 | - // |
295 | - // collapseMenuItem |
296 | - // |
297 | - this.collapseMenuItem.Index = 3; |
298 | - this.collapseMenuItem.Text = "&Collapse"; |
299 | - this.collapseMenuItem.Click += new System.EventHandler(this.collapseMenuItem_Click); |
300 | - // |
301 | - // treeMenuSeparatorItem2 |
302 | - // |
303 | - this.treeMenuSeparatorItem2.Index = 4; |
304 | - this.treeMenuSeparatorItem2.Text = "-"; |
305 | - // |
306 | - // expandAllMenuItem |
307 | - // |
308 | - this.expandAllMenuItem.Index = 5; |
309 | - this.expandAllMenuItem.Text = "Expand All"; |
310 | - this.expandAllMenuItem.Click += new System.EventHandler(this.expandAllMenuItem_Click); |
311 | - // |
312 | - // collapseAllMenuItem |
313 | - // |
314 | - this.collapseAllMenuItem.Index = 6; |
315 | - this.collapseAllMenuItem.Text = "Collapse All"; |
316 | - this.collapseAllMenuItem.Click += new System.EventHandler(this.collapseAllMenuItem_Click); |
317 | - // |
318 | - // hideTestsMenuItem |
319 | - // |
320 | - this.hideTestsMenuItem.Index = 7; |
321 | - this.hideTestsMenuItem.Text = "Hide Tests"; |
322 | - this.hideTestsMenuItem.Click += new System.EventHandler(this.hideTestsMenuItem_Click); |
323 | - // |
324 | - // treeMenuSeparatorItem3 |
325 | - // |
326 | - this.treeMenuSeparatorItem3.Index = 8; |
327 | - this.treeMenuSeparatorItem3.Text = "-"; |
328 | - // |
329 | - // propertiesMenuItem |
330 | - // |
331 | - this.propertiesMenuItem.Index = 9; |
332 | - this.propertiesMenuItem.Text = "&Properties"; |
333 | - this.propertiesMenuItem.Click += new System.EventHandler(this.propertiesMenuItem_Click); |
334 | - |
335 | - |
336 | - tests.SelectedTestChanged += new SelectedTestChangedHandler(tests_SelectedTestChanged); |
337 | - tests.CheckedTestChanged += new CheckedTestChangedHandler(tests_CheckedTestChanged); |
338 | - |
339 | - this.excludeCheckbox.Enabled = false; |
340 | - } |
341 | - |
342 | - protected override void OnLoad(EventArgs e) |
343 | - { |
344 | - if ( !this.DesignMode ) |
345 | - { |
346 | - this.ShowCheckBoxes = |
347 | - Services.UserSettings.GetSetting( "Options.ShowCheckBoxes", false ); |
348 | - Initialize( Services.TestLoader ); |
349 | - Services.UserSettings.Changed += new SettingsEventHandler(UserSettings_Changed); |
350 | - } |
351 | - |
352 | - base.OnLoad (e); |
353 | - } |
354 | - |
355 | - public void Initialize(TestLoader loader) |
356 | - { |
357 | - this.tests.Initialize(loader, loader.Events); |
358 | - this.loader = loader; |
359 | - loader.Events.TestLoaded += new NUnit.Util.TestEventHandler(events_TestLoaded); |
360 | - loader.Events.TestReloaded += new NUnit.Util.TestEventHandler(events_TestReloaded); |
361 | - loader.Events.TestUnloaded += new NUnit.Util.TestEventHandler(events_TestUnloaded); |
362 | - } |
363 | - |
364 | - public void SelectCategories( string[] categories, bool exclude ) |
365 | - { |
366 | - foreach( string category in categories ) |
367 | - { |
368 | - if ( availableCategories.Contains( category ) ) |
369 | - { |
370 | - if (!selectedList.Items.Contains(category)) |
371 | - { |
372 | - selectedList.Items.Add(category); |
373 | - } |
374 | - availableList.Items.Remove( category ); |
375 | - |
376 | - this.excludeCheckbox.Checked = exclude; |
377 | - } |
378 | - } |
379 | - |
380 | - UpdateCategoryFilter(); |
381 | - if (this.SelectedCategories.Length > 0) |
382 | - this.excludeCheckbox.Enabled = true; |
383 | - } |
384 | - |
385 | - /// <summary> |
386 | - /// Clean up any resources being used. |
387 | - /// </summary> |
388 | - protected override void Dispose( bool disposing ) |
389 | - { |
390 | - if( disposing ) |
391 | - { |
392 | - if(components != null) |
393 | - { |
394 | - components.Dispose(); |
395 | - } |
396 | - } |
397 | - base.Dispose( disposing ); |
398 | - } |
399 | - |
400 | - #endregion |
401 | - |
402 | - #region View Menu Handlers |
403 | - |
404 | - private void treeMenu_Popup(object sender, System.EventArgs e) |
405 | - { |
406 | - TreeNode selectedNode = tests.SelectedNode; |
407 | - if ( selectedNode != null && selectedNode.Nodes.Count > 0 ) |
408 | - { |
409 | - bool isExpanded = selectedNode.IsExpanded; |
410 | - collapseMenuItem.Enabled = isExpanded; |
411 | - expandMenuItem.Enabled = !isExpanded; |
412 | - } |
413 | - else |
414 | - { |
415 | - collapseMenuItem.Enabled = expandMenuItem.Enabled = false; |
416 | - } |
417 | - } |
418 | - |
419 | - private void collapseMenuItem_Click(object sender, System.EventArgs e) |
420 | - { |
421 | - tests.SelectedNode.Collapse(); |
422 | - } |
423 | - |
424 | - private void expandMenuItem_Click(object sender, System.EventArgs e) |
425 | - { |
426 | - tests.SelectedNode.Expand(); |
427 | - } |
428 | - |
429 | - private void collapseAllMenuItem_Click(object sender, System.EventArgs e) |
430 | - { |
431 | - tests.BeginUpdate(); |
432 | - tests.CollapseAll(); |
433 | - tests.EndUpdate(); |
434 | - |
435 | - // Compensate for a bug in the underlying control |
436 | - if ( tests.Nodes.Count > 0 ) |
437 | - tests.SelectedNode = tests.Nodes[0]; |
438 | - } |
439 | - |
440 | - private void hideTestsMenuItem_Click(object sender, System.EventArgs e) |
441 | - { |
442 | - tests.HideTests(); |
443 | - } |
444 | - |
445 | - private void expandAllMenuItem_Click(object sender, System.EventArgs e) |
446 | - { |
447 | - tests.BeginUpdate(); |
448 | - tests.ExpandAll(); |
449 | - tests.EndUpdate(); |
450 | - } |
451 | - |
452 | - private void propertiesMenuItem_Click(object sender, System.EventArgs e) |
453 | - { |
454 | - if ( tests.SelectedTest != null ) |
455 | - tests.ShowPropertiesDialog( tests.SelectedTest ); |
456 | - } |
457 | - |
458 | - #endregion |
459 | - |
460 | - #region Component Designer generated code |
461 | - /// <summary> |
462 | - /// Required method for Designer support - do not modify |
463 | - /// the contents of this method with the code editor. |
464 | - /// </summary> |
465 | - private void InitializeComponent() |
466 | - { |
467 | - this.tabs = new System.Windows.Forms.TabControl(); |
468 | - this.testPage = new System.Windows.Forms.TabPage(); |
469 | - this.testPanel = new System.Windows.Forms.Panel(); |
470 | - this.treePanel = new System.Windows.Forms.Panel(); |
471 | - this.tests = new NUnit.UiKit.TestSuiteTreeView(); |
472 | - this.buttonPanel = new System.Windows.Forms.Panel(); |
473 | - this.checkFailedButton = new System.Windows.Forms.Button(); |
474 | - this.clearAllButton = new System.Windows.Forms.Button(); |
475 | - this.categoryPage = new System.Windows.Forms.TabPage(); |
476 | - this.categoryPanel = new System.Windows.Forms.Panel(); |
477 | - this.categoryButtonPanel = new System.Windows.Forms.Panel(); |
478 | - this.removeCategory = new System.Windows.Forms.Button(); |
479 | - this.addCategory = new System.Windows.Forms.Button(); |
480 | - this.selectedCategories = new System.Windows.Forms.GroupBox(); |
481 | - this.selectedList = new System.Windows.Forms.ListBox(); |
482 | - this.excludeCheckbox = new System.Windows.Forms.CheckBox(); |
483 | - this.groupBox1 = new System.Windows.Forms.GroupBox(); |
484 | - this.availableList = new System.Windows.Forms.ListBox(); |
485 | - this.tabs.SuspendLayout(); |
486 | - this.testPage.SuspendLayout(); |
487 | - this.testPanel.SuspendLayout(); |
488 | - this.treePanel.SuspendLayout(); |
489 | - this.buttonPanel.SuspendLayout(); |
490 | - this.categoryPage.SuspendLayout(); |
491 | - this.categoryPanel.SuspendLayout(); |
492 | - this.categoryButtonPanel.SuspendLayout(); |
493 | - this.selectedCategories.SuspendLayout(); |
494 | - this.groupBox1.SuspendLayout(); |
495 | - this.SuspendLayout(); |
496 | - // |
497 | - // tabs |
498 | - // |
499 | - this.tabs.Alignment = System.Windows.Forms.TabAlignment.Left; |
500 | - this.tabs.Controls.Add(this.testPage); |
501 | - this.tabs.Controls.Add(this.categoryPage); |
502 | - this.tabs.Dock = System.Windows.Forms.DockStyle.Fill; |
503 | - this.tabs.Location = new System.Drawing.Point(0, 0); |
504 | - this.tabs.Multiline = true; |
505 | - this.tabs.Name = "tabs"; |
506 | - this.tabs.SelectedIndex = 0; |
507 | - this.tabs.Size = new System.Drawing.Size(248, 496); |
508 | - this.tabs.TabIndex = 0; |
509 | - // |
510 | - // testPage |
511 | - // |
512 | - this.testPage.Controls.Add(this.testPanel); |
513 | - this.testPage.Location = new System.Drawing.Point(25, 4); |
514 | - this.testPage.Name = "testPage"; |
515 | - this.testPage.Size = new System.Drawing.Size(219, 488); |
516 | - this.testPage.TabIndex = 0; |
517 | - this.testPage.Text = "Tests"; |
518 | - // |
519 | - // testPanel |
520 | - // |
521 | - this.testPanel.Controls.Add(this.treePanel); |
522 | - this.testPanel.Controls.Add(this.buttonPanel); |
523 | - this.testPanel.Dock = System.Windows.Forms.DockStyle.Fill; |
524 | - this.testPanel.Location = new System.Drawing.Point(0, 0); |
525 | - this.testPanel.Name = "testPanel"; |
526 | - this.testPanel.Size = new System.Drawing.Size(219, 488); |
527 | - this.testPanel.TabIndex = 0; |
528 | - // |
529 | - // treePanel |
530 | - // |
531 | - this.treePanel.Controls.Add(this.tests); |
532 | - this.treePanel.Dock = System.Windows.Forms.DockStyle.Fill; |
533 | - this.treePanel.Location = new System.Drawing.Point(0, 0); |
534 | - this.treePanel.Name = "treePanel"; |
535 | - this.treePanel.Size = new System.Drawing.Size(219, 448); |
536 | - this.treePanel.TabIndex = 0; |
537 | - // |
538 | - // tests |
539 | - // |
540 | - this.tests.AllowDrop = true; |
541 | - this.tests.Dock = System.Windows.Forms.DockStyle.Fill; |
542 | - this.tests.HideSelection = false; |
543 | - this.tests.Location = new System.Drawing.Point(0, 0); |
544 | - this.tests.Name = "tests"; |
545 | - this.tests.Size = new System.Drawing.Size(219, 448); |
546 | - this.tests.TabIndex = 0; |
547 | - this.tests.CheckBoxesChanged += new System.EventHandler(this.tests_CheckBoxesChanged); |
548 | - // |
549 | - // buttonPanel |
550 | - // |
551 | - this.buttonPanel.Controls.Add(this.checkFailedButton); |
552 | - this.buttonPanel.Controls.Add(this.clearAllButton); |
553 | - this.buttonPanel.Dock = System.Windows.Forms.DockStyle.Bottom; |
554 | - this.buttonPanel.Location = new System.Drawing.Point(0, 448); |
555 | - this.buttonPanel.Name = "buttonPanel"; |
556 | - this.buttonPanel.Size = new System.Drawing.Size(219, 40); |
557 | - this.buttonPanel.TabIndex = 1; |
558 | - // |
559 | - // checkFailedButton |
560 | - // |
561 | - this.checkFailedButton.Anchor = System.Windows.Forms.AnchorStyles.Top; |
562 | - this.checkFailedButton.Location = new System.Drawing.Point(117, 8); |
563 | - this.checkFailedButton.Name = "checkFailedButton"; |
564 | - this.checkFailedButton.Size = new System.Drawing.Size(96, 23); |
565 | - this.checkFailedButton.TabIndex = 1; |
566 | - this.checkFailedButton.Text = "Check Failed"; |
567 | - this.checkFailedButton.Click += new System.EventHandler(this.checkFailedButton_Click); |
568 | - // |
569 | - // clearAllButton |
570 | - // |
571 | - this.clearAllButton.Anchor = System.Windows.Forms.AnchorStyles.Top; |
572 | - this.clearAllButton.Location = new System.Drawing.Point(13, 8); |
573 | - this.clearAllButton.Name = "clearAllButton"; |
574 | - this.clearAllButton.Size = new System.Drawing.Size(96, 23); |
575 | - this.clearAllButton.TabIndex = 0; |
576 | - this.clearAllButton.Text = "Clear All"; |
577 | - this.clearAllButton.Click += new System.EventHandler(this.clearAllButton_Click); |
578 | - // |
579 | - // categoryPage |
580 | - // |
581 | - this.categoryPage.Controls.Add(this.categoryPanel); |
582 | - this.categoryPage.Location = new System.Drawing.Point(25, 4); |
583 | - this.categoryPage.Name = "categoryPage"; |
584 | - this.categoryPage.Size = new System.Drawing.Size(219, 488); |
585 | - this.categoryPage.TabIndex = 1; |
586 | - this.categoryPage.Text = "Categories"; |
587 | - // |
588 | - // categoryPanel |
589 | - // |
590 | - this.categoryPanel.Controls.Add(this.categoryButtonPanel); |
591 | - this.categoryPanel.Controls.Add(this.selectedCategories); |
592 | - this.categoryPanel.Controls.Add(this.groupBox1); |
593 | - this.categoryPanel.Dock = System.Windows.Forms.DockStyle.Fill; |
594 | - this.categoryPanel.Location = new System.Drawing.Point(0, 0); |
595 | - this.categoryPanel.Name = "categoryPanel"; |
596 | - this.categoryPanel.Size = new System.Drawing.Size(219, 488); |
597 | - this.categoryPanel.TabIndex = 0; |
598 | - // |
599 | - // categoryButtonPanel |
600 | - // |
601 | - this.categoryButtonPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) |
602 | - | System.Windows.Forms.AnchorStyles.Right))); |
603 | - this.categoryButtonPanel.Controls.Add(this.removeCategory); |
604 | - this.categoryButtonPanel.Controls.Add(this.addCategory); |
605 | - this.categoryButtonPanel.Location = new System.Drawing.Point(8, 280); |
606 | - this.categoryButtonPanel.Name = "categoryButtonPanel"; |
607 | - this.categoryButtonPanel.Size = new System.Drawing.Size(203, 40); |
608 | - this.categoryButtonPanel.TabIndex = 1; |
609 | - // |
610 | - // removeCategory |
611 | - // |
612 | - this.removeCategory.Anchor = System.Windows.Forms.AnchorStyles.Top; |
613 | - this.removeCategory.Location = new System.Drawing.Point(109, 8); |
614 | - this.removeCategory.Name = "removeCategory"; |
615 | - this.removeCategory.TabIndex = 1; |
616 | - this.removeCategory.Text = "Remove"; |
617 | - this.removeCategory.Click += new System.EventHandler(this.removeCategory_Click); |
618 | - // |
619 | - // addCategory |
620 | - // |
621 | - this.addCategory.Anchor = System.Windows.Forms.AnchorStyles.Top; |
622 | - this.addCategory.Location = new System.Drawing.Point(21, 8); |
623 | - this.addCategory.Name = "addCategory"; |
624 | - this.addCategory.TabIndex = 0; |
625 | - this.addCategory.Text = "Add"; |
626 | - this.addCategory.Click += new System.EventHandler(this.addCategory_Click); |
627 | - // |
628 | - // selectedCategories |
629 | - // |
630 | - this.selectedCategories.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) |
631 | - | System.Windows.Forms.AnchorStyles.Right))); |
632 | - this.selectedCategories.Controls.Add(this.selectedList); |
633 | - this.selectedCategories.Controls.Add(this.excludeCheckbox); |
634 | - this.selectedCategories.Location = new System.Drawing.Point(8, 328); |
635 | - this.selectedCategories.Name = "selectedCategories"; |
636 | - this.selectedCategories.Size = new System.Drawing.Size(203, 144); |
637 | - this.selectedCategories.TabIndex = 2; |
638 | - this.selectedCategories.TabStop = false; |
639 | - this.selectedCategories.Text = "Selected Categories"; |
640 | - // |
641 | - // selectedList |
642 | - // |
643 | - this.selectedList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) |
644 | - | System.Windows.Forms.AnchorStyles.Left) |
645 | - | System.Windows.Forms.AnchorStyles.Right))); |
646 | - this.selectedList.ItemHeight = 16; |
647 | - this.selectedList.Location = new System.Drawing.Point(8, 16); |
648 | - this.selectedList.Name = "selectedList"; |
649 | - this.selectedList.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended; |
650 | - this.selectedList.Size = new System.Drawing.Size(187, 84); |
651 | - this.selectedList.TabIndex = 0; |
652 | - this.selectedList.DoubleClick += new System.EventHandler(this.removeCategory_Click); |
653 | - // |
654 | - // excludeCheckbox |
655 | - // |
656 | - this.excludeCheckbox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) |
657 | - | System.Windows.Forms.AnchorStyles.Right))); |
658 | - this.excludeCheckbox.Location = new System.Drawing.Point(8, 120); |
659 | - this.excludeCheckbox.Name = "excludeCheckbox"; |
660 | - this.excludeCheckbox.Size = new System.Drawing.Size(179, 16); |
661 | - this.excludeCheckbox.TabIndex = 1; |
662 | - this.excludeCheckbox.Text = "Exclude these categories"; |
663 | - this.excludeCheckbox.CheckedChanged += new System.EventHandler(this.excludeCheckbox_CheckedChanged); |
664 | - // |
665 | - // groupBox1 |
666 | - // |
667 | - this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) |
668 | - | System.Windows.Forms.AnchorStyles.Left) |
669 | - | System.Windows.Forms.AnchorStyles.Right))); |
670 | - this.groupBox1.Controls.Add(this.availableList); |
671 | - this.groupBox1.Location = new System.Drawing.Point(8, 0); |
672 | - this.groupBox1.Name = "groupBox1"; |
673 | - this.groupBox1.Size = new System.Drawing.Size(203, 272); |
674 | - this.groupBox1.TabIndex = 0; |
675 | - this.groupBox1.TabStop = false; |
676 | - this.groupBox1.Text = "Available Categories"; |
677 | - // |
678 | - // availableList |
679 | - // |
680 | - this.availableList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) |
681 | - | System.Windows.Forms.AnchorStyles.Left) |
682 | - | System.Windows.Forms.AnchorStyles.Right))); |
683 | - this.availableList.ItemHeight = 16; |
684 | - this.availableList.Location = new System.Drawing.Point(8, 24); |
685 | - this.availableList.Name = "availableList"; |
686 | - this.availableList.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended; |
687 | - this.availableList.Size = new System.Drawing.Size(187, 244); |
688 | - this.availableList.TabIndex = 0; |
689 | - this.availableList.DoubleClick += new System.EventHandler(this.addCategory_Click); |
690 | - // |
691 | - // TestTree |
692 | - // |
693 | - this.Controls.Add(this.tabs); |
694 | - this.Name = "TestTree"; |
695 | - this.Size = new System.Drawing.Size(248, 496); |
696 | - this.tabs.ResumeLayout(false); |
697 | - this.testPage.ResumeLayout(false); |
698 | - this.testPanel.ResumeLayout(false); |
699 | - this.treePanel.ResumeLayout(false); |
700 | - this.buttonPanel.ResumeLayout(false); |
701 | - this.categoryPage.ResumeLayout(false); |
702 | - this.categoryPanel.ResumeLayout(false); |
703 | - this.categoryButtonPanel.ResumeLayout(false); |
704 | - this.selectedCategories.ResumeLayout(false); |
705 | - this.groupBox1.ResumeLayout(false); |
706 | - this.ResumeLayout(false); |
707 | - |
708 | - } |
709 | - #endregion |
710 | - |
711 | - #region SelectedTestsChanged Event |
712 | - |
713 | - public event SelectedTestsChangedEventHandler SelectedTestsChanged; |
714 | - |
715 | - #endregion |
716 | - |
717 | - |
718 | - public void RunAllTests() |
719 | - { |
720 | - RunAllTests(true); |
721 | - } |
722 | - |
723 | - public void RunAllTests(bool ignoreTests) |
724 | - { |
725 | - tests.RunAllTests(ignoreTests); |
726 | - } |
727 | - |
728 | - public void RunSelectedTests() |
729 | - { |
730 | - tests.RunSelectedTests(); |
731 | - } |
732 | - |
733 | - public void RunFailedTests() |
734 | - { |
735 | - tests.RunFailedTests(); |
736 | - } |
737 | - |
738 | - private void addCategory_Click(object sender, System.EventArgs e) |
739 | - { |
740 | - if (availableList.SelectedItems.Count > 0) |
741 | - { |
742 | - // Create a separate list to avoid exception |
743 | - // when using the list box directly. |
744 | - List<string> categories = new List<string>(); |
745 | - foreach ( string category in availableList.SelectedItems ) |
746 | - categories.Add(category); |
747 | - |
748 | - foreach ( string category in categories) |
749 | - { |
750 | - selectedList.Items.Add(category); |
751 | - availableList.Items.Remove(category); |
752 | - } |
753 | - |
754 | - UpdateCategoryFilter(); |
755 | - if (this.SelectedCategories.Length > 0) |
756 | - this.excludeCheckbox.Enabled = true; |
757 | - } |
758 | - } |
759 | - |
760 | - private void removeCategory_Click(object sender, System.EventArgs e) |
761 | - { |
762 | - if (selectedList.SelectedItems.Count > 0) |
763 | - { |
764 | - // Create a separate list to avoid exception |
765 | - // when using the list box directly. |
766 | - List<string> categories = new List<string>(); |
767 | - foreach (string category in selectedList.SelectedItems) |
768 | - categories.Add(category); |
769 | - |
770 | - foreach ( string category in categories ) |
771 | - { |
772 | - selectedList.Items.Remove(category); |
773 | - availableList.Items.Add(category); |
774 | - } |
775 | - |
776 | - UpdateCategoryFilter(); |
777 | - if (this.SelectedCategories.Length == 0) |
778 | - { |
779 | - this.excludeCheckbox.Checked = false; |
780 | - this.excludeCheckbox.Enabled = false; |
781 | - } |
782 | - } |
783 | - } |
784 | - |
785 | - private void clearAllButton_Click(object sender, System.EventArgs e) |
786 | - { |
787 | - tests.ClearCheckedNodes(); |
788 | - } |
789 | - |
790 | - private void checkFailedButton_Click(object sender, System.EventArgs e) |
791 | - { |
792 | - tests.CheckFailedNodes(); |
793 | - } |
794 | - |
795 | - private void tests_SelectedTestChanged(ITest test) |
796 | - { |
797 | - if (SelectedTestsChanged != null) |
798 | - { |
799 | - SelectedTestsChangedEventArgs args = new SelectedTestsChangedEventArgs(test.TestName.Name, test.TestCount); |
800 | - SelectedTestsChanged(tests, args); |
801 | - } |
802 | - } |
803 | - |
804 | - private void events_TestLoaded(object sender, NUnit.Util.TestEventArgs args) |
805 | - { |
806 | - treeMenu.Visible = true; |
807 | - |
808 | - availableCategories = this.loader.GetCategories(); |
809 | - availableList.Items.Clear(); |
810 | - selectedList.Items.Clear(); |
811 | - |
812 | - availableList.SuspendLayout(); |
813 | - foreach (string category in availableCategories) |
814 | - availableList.Items.Add(category); |
815 | - |
816 | - // tree may have restored visual state |
817 | - if( !tests.CategoryFilter.IsEmpty ) |
818 | - { |
819 | - ITestFilter filter = tests.CategoryFilter; |
820 | - if ( filter is NUnit.Core.Filters.NotFilter ) |
821 | - { |
822 | - filter = ((NUnit.Core.Filters.NotFilter)filter).BaseFilter; |
823 | - this.excludeCheckbox.Checked = true; |
824 | - } |
825 | - |
826 | - foreach( string cat in ((NUnit.Core.Filters.CategoryFilter)filter).Categories ) |
827 | - if ( this.availableCategories.Contains( cat ) ) |
828 | - { |
829 | - this.availableList.Items.Remove( cat ); |
830 | - this.selectedList.Items.Add( cat ); |
831 | - this.excludeCheckbox.Enabled = true; |
832 | - } |
833 | - |
834 | - UpdateCategoryFilter(); |
835 | - } |
836 | - |
837 | - availableList.ResumeLayout(); |
838 | - } |
839 | - |
840 | - private void events_TestReloaded(object sender, NUnit.Util.TestEventArgs args) |
841 | - { |
842 | - // Get new list of available categories |
843 | - availableCategories = this.loader.GetCategories(); |
844 | - |
845 | - // Remove any selected items that are no longer available |
846 | - int index = selectedList.Items.Count; |
847 | - selectedList.SuspendLayout(); |
848 | - while( --index >= 0 ) |
849 | - { |
850 | - string category = selectedList.Items[index].ToString(); |
851 | - if ( !availableCategories.Contains( category ) ) |
852 | - selectedList.Items.RemoveAt( index ); |
853 | - } |
854 | - selectedList.ResumeLayout(); |
855 | - |
856 | - // Clear check box if there are no more selected items. |
857 | - if (selectedList.Items.Count == 0) |
858 | - excludeCheckbox.Checked = excludeCheckbox.Enabled = false; |
859 | - |
860 | - // Put any unselected available items on availableList |
861 | - availableList.Items.Clear(); |
862 | - availableList.SuspendLayout(); |
863 | - foreach( string category in availableCategories ) |
864 | - if( selectedList.FindStringExact( category ) < 0 ) |
865 | - availableList.Items.Add( category ); |
866 | - availableList.ResumeLayout(); |
867 | - |
868 | - // Tell the tree what is selected |
869 | - UpdateCategoryFilter(); |
870 | - } |
871 | - |
872 | - private void excludeCheckbox_CheckedChanged(object sender, System.EventArgs e) |
873 | - { |
874 | - UpdateCategoryFilter(); |
875 | - } |
876 | - |
877 | - private void events_TestUnloaded(object sender, NUnit.Util.TestEventArgs args) |
878 | - { |
879 | - availableCategories.Clear(); |
880 | - availableList.Items.Clear(); |
881 | - selectedList.Items.Clear(); |
882 | - excludeCheckbox.Checked = false; |
883 | - excludeCheckbox.Enabled = false; |
884 | - treeMenu.Visible = false; |
885 | - } |
886 | - |
887 | - private void tests_CheckedTestChanged(ITest[] tests) |
888 | - { |
889 | - if (SelectedTestsChanged != null) |
890 | - { |
891 | - SelectedTestsChangedEventArgs args = new SelectedTestsChangedEventArgs("", tests.Length); |
892 | - SelectedTestsChanged(tests, args); |
893 | - } |
894 | - |
895 | - if (tests.Length > 0) |
896 | - { |
897 | - } |
898 | - } |
899 | - |
900 | - private void checkBoxesMenuItem_Click(object sender, System.EventArgs e) |
901 | - { |
902 | - Services.UserSettings.SaveSetting( "Options.ShowCheckBoxes", |
903 | - ShowCheckBoxes = !checkBoxesMenuItem.Checked ); |
904 | - |
905 | - // Temporary till we can save tree state and restore |
906 | - //this.SetInitialExpansion(); |
907 | - } |
908 | - |
909 | - private void UpdateCategoryFilter() |
910 | - { |
911 | - TestFilter catFilter; |
912 | - |
913 | - if ( SelectedCategories == null || SelectedCategories.Length == 0 ) |
914 | - catFilter = TestFilter.Empty; |
915 | - else |
916 | - catFilter = new NUnit.Core.Filters.CategoryFilter( SelectedCategories ); |
917 | - |
918 | - if ( excludeCheckbox.Checked ) |
919 | - catFilter = new NUnit.Core.Filters.NotFilter( catFilter, true ); |
920 | - |
921 | - tests.CategoryFilter = catFilter; |
922 | - } |
923 | - |
924 | - private void tests_CheckBoxesChanged(object sender, System.EventArgs e) |
925 | - { |
926 | - ShowCheckBoxes = tests.CheckBoxes; |
927 | - } |
928 | - |
929 | - private void UserSettings_Changed(object sender, SettingsEventArgs args) |
930 | - { |
931 | - if ( args.SettingName == "Options.ShowCheckBoxes" ) |
932 | - this.ShowCheckBoxes = Services.UserSettings.GetSetting( args.SettingName, false ); |
933 | - } |
934 | - } |
935 | - |
936 | - public class SelectedTestsChangedEventArgs : EventArgs |
937 | - { |
938 | - private string testName; |
939 | - private int count; |
940 | - |
941 | - public SelectedTestsChangedEventArgs(string testName, int count) |
942 | - { |
943 | - this.testName = testName; |
944 | - this.count = count; |
945 | - } |
946 | - |
947 | - public string TestName |
948 | - { |
949 | - get { return testName; } |
950 | - } |
951 | - |
952 | - public int TestCount |
953 | - { |
954 | - get { return count; } |
955 | - } |
956 | - } |
957 | -} |
958 | + }); |
959 | + this.treeMenu.Text = "&Tree"; |
960 | + this.treeMenu.Visible = false; |
961 | + this.treeMenu.Popup += new System.EventHandler(this.treeMenu_Popup); |
962 | + // |
963 | + // checkBoxesMenuItem |
964 | + // |
965 | + this.checkBoxesMenuItem.Index = 0; |
966 | + this.checkBoxesMenuItem.Text = "Show Check&Boxes"; |
967 | + this.checkBoxesMenuItem.Click += new System.EventHandler(this.checkBoxesMenuItem_Click); |
968 | + // |
969 | + // treeMenuSeparatorItem1 |
970 | + // |
971 | + this.treeMenuSeparatorItem1.Index = 1; |
972 | + this.treeMenuSeparatorItem1.Text = "-"; |
973 | + // |
974 | + // expandMenuItem |
975 | + // |
976 | + this.expandMenuItem.Index = 2; |
977 | + this.expandMenuItem.Text = "&Expand"; |
978 | + this.expandMenuItem.Click += new System.EventHandler(this.expandMenuItem_Click); |
979 | + // |
980 | + // collapseMenuItem |
981 | + // |
982 | + this.collapseMenuItem.Index = 3; |
983 | + this.collapseMenuItem.Text = "&Collapse"; |
984 | + this.collapseMenuItem.Click += new System.EventHandler(this.collapseMenuItem_Click); |
985 | + // |
986 | + // treeMenuSeparatorItem2 |
987 | + // |
988 | + this.treeMenuSeparatorItem2.Index = 4; |
989 | + this.treeMenuSeparatorItem2.Text = "-"; |
990 | + // |
991 | + // expandAllMenuItem |
992 | + // |
993 | + this.expandAllMenuItem.Index = 5; |
994 | + this.expandAllMenuItem.Text = "Expand All"; |
995 | + this.expandAllMenuItem.Click += new System.EventHandler(this.expandAllMenuItem_Click); |
996 | + // |
997 | + // collapseAllMenuItem |
998 | + // |
999 | + this.collapseAllMenuItem.Index = 6; |
1000 | + this.collapseAllMenuItem.Text = "Collapse All"; |
1001 | + this.collapseAllMenuItem.Click += new System.EventHandler(this.collapseAllMenuItem_Click); |
1002 | + // |
1003 | + // hideTestsMenuItem |
1004 | + // |
1005 | + this.hideTestsMenuItem.Index = 7; |
1006 | + this.hideTestsMenuItem.Text = "Hide Tests"; |
1007 | + this.hideTestsMenuItem.Click += new System.EventHandler(this.hideTestsMenuItem_Click); |
1008 | + // |
1009 | + // treeMenuSeparatorItem3 |
1010 | + // |
1011 | + this.treeMenuSeparatorItem3.Index = 8; |
1012 | + this.treeMenuSeparatorItem3.Text = "-"; |
1013 | + // |
1014 | + // propertiesMenuItem |
1015 | + // |
1016 | + this.propertiesMenuItem.Index = 9; |
1017 | + this.propertiesMenuItem.Text = "&Properties"; |
1018 | + this.propertiesMenuItem.Click += new System.EventHandler(this.propertiesMenuItem_Click); |
1019 | + |
1020 | + |
1021 | + tests.SelectedTestChanged += new SelectedTestChangedHandler(tests_SelectedTestChanged); |
1022 | + tests.CheckedTestChanged += new CheckedTestChangedHandler(tests_CheckedTestChanged); |
1023 | + |
1024 | + this.excludeCheckbox.Enabled = false; |
1025 | + |
1026 | + SearchImageButton.Image = new Bitmap(typeof(TestTree), "Images.search.png"); |
1027 | + } |
1028 | + |
1029 | + protected override void OnLoad(EventArgs e) |
1030 | + { |
1031 | + if (!this.DesignMode) |
1032 | + { |
1033 | + this.ShowCheckBoxes = |
1034 | + Services.UserSettings.GetSetting("Options.ShowCheckBoxes", false); |
1035 | + Initialize(Services.TestLoader); |
1036 | + Services.UserSettings.Changed += new SettingsEventHandler(UserSettings_Changed); |
1037 | + } |
1038 | + |
1039 | + base.OnLoad(e); |
1040 | + } |
1041 | + |
1042 | + public void Initialize(TestLoader loader) |
1043 | + { |
1044 | + this.tests.Initialize(loader, loader.Events); |
1045 | + this.loader = loader; |
1046 | + loader.Events.TestLoaded += new NUnit.Util.TestEventHandler(events_TestLoaded); |
1047 | + loader.Events.TestReloaded += new NUnit.Util.TestEventHandler(events_TestReloaded); |
1048 | + loader.Events.TestUnloaded += new NUnit.Util.TestEventHandler(events_TestUnloaded); |
1049 | + } |
1050 | + |
1051 | + public void SelectCategories(string[] categories, bool exclude) |
1052 | + { |
1053 | + foreach (string category in categories) |
1054 | + { |
1055 | + if (availableCategories.Contains(category)) |
1056 | + { |
1057 | + if (!selectedList.Items.Contains(category)) |
1058 | + { |
1059 | + selectedList.Items.Add(category); |
1060 | + } |
1061 | + availableList.Items.Remove(category); |
1062 | + |
1063 | + this.excludeCheckbox.Checked = exclude; |
1064 | + } |
1065 | + } |
1066 | + |
1067 | + UpdateCategoryFilter(); |
1068 | + if (this.SelectedCategories.Length > 0) |
1069 | + this.excludeCheckbox.Enabled = true; |
1070 | + } |
1071 | + |
1072 | + /// <summary> |
1073 | + /// Clean up any resources being used. |
1074 | + /// </summary> |
1075 | + protected override void Dispose(bool disposing) |
1076 | + { |
1077 | + if (disposing) |
1078 | + { |
1079 | + if (components != null) |
1080 | + { |
1081 | + components.Dispose(); |
1082 | + } |
1083 | + } |
1084 | + base.Dispose(disposing); |
1085 | + } |
1086 | + |
1087 | + #endregion |
1088 | + |
1089 | + #region View Menu Handlers |
1090 | + |
1091 | + private void treeMenu_Popup(object sender, System.EventArgs e) |
1092 | + { |
1093 | + TreeNode selectedNode = tests.SelectedNode; |
1094 | + if (selectedNode != null && selectedNode.Nodes.Count > 0) |
1095 | + { |
1096 | + bool isExpanded = selectedNode.IsExpanded; |
1097 | + collapseMenuItem.Enabled = isExpanded; |
1098 | + expandMenuItem.Enabled = !isExpanded; |
1099 | + } |
1100 | + else |
1101 | + { |
1102 | + collapseMenuItem.Enabled = expandMenuItem.Enabled = false; |
1103 | + } |
1104 | + } |
1105 | + |
1106 | + private void collapseMenuItem_Click(object sender, System.EventArgs e) |
1107 | + { |
1108 | + tests.SelectedNode.Collapse(); |
1109 | + } |
1110 | + |
1111 | + private void expandMenuItem_Click(object sender, System.EventArgs e) |
1112 | + { |
1113 | + tests.SelectedNode.Expand(); |
1114 | + } |
1115 | + |
1116 | + private void collapseAllMenuItem_Click(object sender, System.EventArgs e) |
1117 | + { |
1118 | + tests.BeginUpdate(); |
1119 | + tests.CollapseAll(); |
1120 | + tests.EndUpdate(); |
1121 | + |
1122 | + // Compensate for a bug in the underlying control |
1123 | + if (tests.Nodes.Count > 0) |
1124 | + tests.SelectedNode = tests.Nodes[0]; |
1125 | + } |
1126 | + |
1127 | + private void hideTestsMenuItem_Click(object sender, System.EventArgs e) |
1128 | + { |
1129 | + tests.HideTests(); |
1130 | + } |
1131 | + |
1132 | + private void expandAllMenuItem_Click(object sender, System.EventArgs e) |
1133 | + { |
1134 | + tests.BeginUpdate(); |
1135 | + tests.ExpandAll(); |
1136 | + tests.EndUpdate(); |
1137 | + } |
1138 | + |
1139 | + private void propertiesMenuItem_Click(object sender, System.EventArgs e) |
1140 | + { |
1141 | + if (tests.SelectedTest != null) |
1142 | + tests.ShowPropertiesDialog(tests.SelectedTest); |
1143 | + } |
1144 | + |
1145 | + #endregion |
1146 | + |
1147 | + #region Component Designer generated code |
1148 | + /// <summary> |
1149 | + /// Required method for Designer support - do not modify |
1150 | + /// the contents of this method with the code editor. |
1151 | + /// </summary> |
1152 | + private void InitializeComponent() |
1153 | + { |
1154 | + this.components = new System.ComponentModel.Container(); |
1155 | + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TestTree)); |
1156 | + this.tabs = new System.Windows.Forms.TabControl(); |
1157 | + this.testPage = new System.Windows.Forms.TabPage(); |
1158 | + this.testPanel = new System.Windows.Forms.Panel(); |
1159 | + this.treePanel = new System.Windows.Forms.Panel(); |
1160 | + this.FindTestsPanel = new System.Windows.Forms.Panel(); |
1161 | + this.SearchImageButton = new System.Windows.Forms.PictureBox(); |
1162 | + this.TestNameTextBox = new System.Windows.Forms.TextBox(); |
1163 | + this.buttonPanel = new System.Windows.Forms.Panel(); |
1164 | + this.checkFailedButton = new System.Windows.Forms.Button(); |
1165 | + this.clearAllButton = new System.Windows.Forms.Button(); |
1166 | + this.categoryPage = new System.Windows.Forms.TabPage(); |
1167 | + this.categoryPanel = new System.Windows.Forms.Panel(); |
1168 | + this.categoryButtonPanel = new System.Windows.Forms.Panel(); |
1169 | + this.removeCategory = new System.Windows.Forms.Button(); |
1170 | + this.addCategory = new System.Windows.Forms.Button(); |
1171 | + this.selectedCategories = new System.Windows.Forms.GroupBox(); |
1172 | + this.selectedList = new System.Windows.Forms.ListBox(); |
1173 | + this.excludeCheckbox = new System.Windows.Forms.CheckBox(); |
1174 | + this.groupBox1 = new System.Windows.Forms.GroupBox(); |
1175 | + this.availableList = new System.Windows.Forms.ListBox(); |
1176 | + this.tests = new NUnit.UiKit.TestSuiteTreeView(); |
1177 | + this.tabs.SuspendLayout(); |
1178 | + this.testPage.SuspendLayout(); |
1179 | + this.testPanel.SuspendLayout(); |
1180 | + this.treePanel.SuspendLayout(); |
1181 | + this.FindTestsPanel.SuspendLayout(); |
1182 | + ((System.ComponentModel.ISupportInitialize)(this.SearchImageButton)).BeginInit(); |
1183 | + this.buttonPanel.SuspendLayout(); |
1184 | + this.categoryPage.SuspendLayout(); |
1185 | + this.categoryPanel.SuspendLayout(); |
1186 | + this.categoryButtonPanel.SuspendLayout(); |
1187 | + this.selectedCategories.SuspendLayout(); |
1188 | + this.groupBox1.SuspendLayout(); |
1189 | + this.SuspendLayout(); |
1190 | + // |
1191 | + // tabs |
1192 | + // |
1193 | + this.tabs.Alignment = System.Windows.Forms.TabAlignment.Left; |
1194 | + this.tabs.Controls.Add(this.testPage); |
1195 | + this.tabs.Controls.Add(this.categoryPage); |
1196 | + this.tabs.Dock = System.Windows.Forms.DockStyle.Fill; |
1197 | + this.tabs.Location = new System.Drawing.Point(0, 0); |
1198 | + this.tabs.Multiline = true; |
1199 | + this.tabs.Name = "tabs"; |
1200 | + this.tabs.SelectedIndex = 0; |
1201 | + this.tabs.Size = new System.Drawing.Size(248, 496); |
1202 | + this.tabs.TabIndex = 0; |
1203 | + // |
1204 | + // testPage |
1205 | + // |
1206 | + this.testPage.Controls.Add(this.testPanel); |
1207 | + this.testPage.Location = new System.Drawing.Point(23, 4); |
1208 | + this.testPage.Name = "testPage"; |
1209 | + this.testPage.Size = new System.Drawing.Size(221, 488); |
1210 | + this.testPage.TabIndex = 0; |
1211 | + this.testPage.Text = "Tests"; |
1212 | + // |
1213 | + // testPanel |
1214 | + // |
1215 | + this.testPanel.Controls.Add(this.treePanel); |
1216 | + this.testPanel.Controls.Add(this.FindTestsPanel); |
1217 | + this.testPanel.Controls.Add(this.buttonPanel); |
1218 | + this.testPanel.Dock = System.Windows.Forms.DockStyle.Fill; |
1219 | + this.testPanel.Location = new System.Drawing.Point(0, 0); |
1220 | + this.testPanel.Name = "testPanel"; |
1221 | + this.testPanel.Size = new System.Drawing.Size(221, 488); |
1222 | + this.testPanel.TabIndex = 0; |
1223 | + // |
1224 | + // treePanel |
1225 | + // |
1226 | + this.treePanel.Controls.Add(this.tests); |
1227 | + this.treePanel.Dock = System.Windows.Forms.DockStyle.Fill; |
1228 | + this.treePanel.Location = new System.Drawing.Point(0, 27); |
1229 | + this.treePanel.Name = "treePanel"; |
1230 | + this.treePanel.Size = new System.Drawing.Size(221, 421); |
1231 | + this.treePanel.TabIndex = 3; |
1232 | + // |
1233 | + // FindTestsPanel |
1234 | + // |
1235 | + this.FindTestsPanel.Controls.Add(this.SearchImageButton); |
1236 | + this.FindTestsPanel.Controls.Add(this.TestNameTextBox); |
1237 | + this.FindTestsPanel.Dock = System.Windows.Forms.DockStyle.Top; |
1238 | + this.FindTestsPanel.Location = new System.Drawing.Point(0, 0); |
1239 | + this.FindTestsPanel.Name = "FindTestsPanel"; |
1240 | + this.FindTestsPanel.Size = new System.Drawing.Size(221, 27); |
1241 | + this.FindTestsPanel.TabIndex = 2; |
1242 | + // |
1243 | + // SearchImageButton |
1244 | + // |
1245 | + this.SearchImageButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) |
1246 | + | System.Windows.Forms.AnchorStyles.Right))); |
1247 | + this.SearchImageButton.Location = new System.Drawing.Point(196, 3); |
1248 | + this.SearchImageButton.Name = "SearchImageButton"; |
1249 | + this.SearchImageButton.Size = new System.Drawing.Size(22, 20); |
1250 | + this.SearchImageButton.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; |
1251 | + this.SearchImageButton.TabIndex = 1; |
1252 | + this.SearchImageButton.TabStop = false; |
1253 | + this.SearchImageButton.Click += new System.EventHandler(this.SearchImageButton_Click); |
1254 | + // |
1255 | + // TestNameTextBox |
1256 | + // |
1257 | + this.TestNameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) |
1258 | + | System.Windows.Forms.AnchorStyles.Left) |
1259 | + | System.Windows.Forms.AnchorStyles.Right))); |
1260 | + this.TestNameTextBox.Location = new System.Drawing.Point(0, 3); |
1261 | + this.TestNameTextBox.Name = "TestNameTextBox"; |
1262 | + this.TestNameTextBox.Size = new System.Drawing.Size(192, 20); |
1263 | + this.TestNameTextBox.TabIndex = 0; |
1264 | + this.TestNameTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TestNameTextBox_KeyDown); |
1265 | + // |
1266 | + // buttonPanel |
1267 | + // |
1268 | + this.buttonPanel.Controls.Add(this.checkFailedButton); |
1269 | + this.buttonPanel.Controls.Add(this.clearAllButton); |
1270 | + this.buttonPanel.Dock = System.Windows.Forms.DockStyle.Bottom; |
1271 | + this.buttonPanel.Location = new System.Drawing.Point(0, 448); |
1272 | + this.buttonPanel.Name = "buttonPanel"; |
1273 | + this.buttonPanel.Size = new System.Drawing.Size(221, 40); |
1274 | + this.buttonPanel.TabIndex = 1; |
1275 | + // |
1276 | + // checkFailedButton |
1277 | + // |
1278 | + this.checkFailedButton.Anchor = System.Windows.Forms.AnchorStyles.Top; |
1279 | + this.checkFailedButton.Location = new System.Drawing.Point(118, 8); |
1280 | + this.checkFailedButton.Name = "checkFailedButton"; |
1281 | + this.checkFailedButton.Size = new System.Drawing.Size(96, 23); |
1282 | + this.checkFailedButton.TabIndex = 1; |
1283 | + this.checkFailedButton.Text = "Check Failed"; |
1284 | + this.checkFailedButton.Click += new System.EventHandler(this.checkFailedButton_Click); |
1285 | + // |
1286 | + // clearAllButton |
1287 | + // |
1288 | + this.clearAllButton.Anchor = System.Windows.Forms.AnchorStyles.Top; |
1289 | + this.clearAllButton.Location = new System.Drawing.Point(14, 8); |
1290 | + this.clearAllButton.Name = "clearAllButton"; |
1291 | + this.clearAllButton.Size = new System.Drawing.Size(96, 23); |
1292 | + this.clearAllButton.TabIndex = 0; |
1293 | + this.clearAllButton.Text = "Clear All"; |
1294 | + this.clearAllButton.Click += new System.EventHandler(this.clearAllButton_Click); |
1295 | + // |
1296 | + // categoryPage |
1297 | + // |
1298 | + this.categoryPage.Controls.Add(this.categoryPanel); |
1299 | + this.categoryPage.Location = new System.Drawing.Point(23, 4); |
1300 | + this.categoryPage.Name = "categoryPage"; |
1301 | + this.categoryPage.Size = new System.Drawing.Size(221, 488); |
1302 | + this.categoryPage.TabIndex = 1; |
1303 | + this.categoryPage.Text = "Categories"; |
1304 | + // |
1305 | + // categoryPanel |
1306 | + // |
1307 | + this.categoryPanel.Controls.Add(this.categoryButtonPanel); |
1308 | + this.categoryPanel.Controls.Add(this.selectedCategories); |
1309 | + this.categoryPanel.Controls.Add(this.groupBox1); |
1310 | + this.categoryPanel.Dock = System.Windows.Forms.DockStyle.Fill; |
1311 | + this.categoryPanel.Location = new System.Drawing.Point(0, 0); |
1312 | + this.categoryPanel.Name = "categoryPanel"; |
1313 | + this.categoryPanel.Size = new System.Drawing.Size(221, 488); |
1314 | + this.categoryPanel.TabIndex = 0; |
1315 | + // |
1316 | + // categoryButtonPanel |
1317 | + // |
1318 | + this.categoryButtonPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) |
1319 | + | System.Windows.Forms.AnchorStyles.Right))); |
1320 | + this.categoryButtonPanel.Controls.Add(this.removeCategory); |
1321 | + this.categoryButtonPanel.Controls.Add(this.addCategory); |
1322 | + this.categoryButtonPanel.Location = new System.Drawing.Point(8, 280); |
1323 | + this.categoryButtonPanel.Name = "categoryButtonPanel"; |
1324 | + this.categoryButtonPanel.Size = new System.Drawing.Size(205, 40); |
1325 | + this.categoryButtonPanel.TabIndex = 1; |
1326 | + // |
1327 | + // removeCategory |
1328 | + // |
1329 | + this.removeCategory.Anchor = System.Windows.Forms.AnchorStyles.Top; |
1330 | + this.removeCategory.Location = new System.Drawing.Point(110, 8); |
1331 | + this.removeCategory.Name = "removeCategory"; |
1332 | + this.removeCategory.Size = new System.Drawing.Size(75, 23); |
1333 | + this.removeCategory.TabIndex = 1; |
1334 | + this.removeCategory.Text = "Remove"; |
1335 | + this.removeCategory.Click += new System.EventHandler(this.removeCategory_Click); |
1336 | + // |
1337 | + // addCategory |
1338 | + // |
1339 | + this.addCategory.Anchor = System.Windows.Forms.AnchorStyles.Top; |
1340 | + this.addCategory.Location = new System.Drawing.Point(22, 8); |
1341 | + this.addCategory.Name = "addCategory"; |
1342 | + this.addCategory.Size = new System.Drawing.Size(75, 23); |
1343 | + this.addCategory.TabIndex = 0; |
1344 | + this.addCategory.Text = "Add"; |
1345 | + this.addCategory.Click += new System.EventHandler(this.addCategory_Click); |
1346 | + // |
1347 | + // selectedCategories |
1348 | + // |
1349 | + this.selectedCategories.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) |
1350 | + | System.Windows.Forms.AnchorStyles.Right))); |
1351 | + this.selectedCategories.Controls.Add(this.selectedList); |
1352 | + this.selectedCategories.Controls.Add(this.excludeCheckbox); |
1353 | + this.selectedCategories.Location = new System.Drawing.Point(8, 328); |
1354 | + this.selectedCategories.Name = "selectedCategories"; |
1355 | + this.selectedCategories.Size = new System.Drawing.Size(205, 144); |
1356 | + this.selectedCategories.TabIndex = 2; |
1357 | + this.selectedCategories.TabStop = false; |
1358 | + this.selectedCategories.Text = "Selected Categories"; |
1359 | + // |
1360 | + // selectedList |
1361 | + // |
1362 | + this.selectedList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) |
1363 | + | System.Windows.Forms.AnchorStyles.Left) |
1364 | + | System.Windows.Forms.AnchorStyles.Right))); |
1365 | + this.selectedList.Location = new System.Drawing.Point(8, 16); |
1366 | + this.selectedList.Name = "selectedList"; |
1367 | + this.selectedList.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended; |
1368 | + this.selectedList.Size = new System.Drawing.Size(189, 82); |
1369 | + this.selectedList.TabIndex = 0; |
1370 | + this.selectedList.DoubleClick += new System.EventHandler(this.removeCategory_Click); |
1371 | + // |
1372 | + // excludeCheckbox |
1373 | + // |
1374 | + this.excludeCheckbox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) |
1375 | + | System.Windows.Forms.AnchorStyles.Right))); |
1376 | + this.excludeCheckbox.Location = new System.Drawing.Point(8, 120); |
1377 | + this.excludeCheckbox.Name = "excludeCheckbox"; |
1378 | + this.excludeCheckbox.Size = new System.Drawing.Size(181, 16); |
1379 | + this.excludeCheckbox.TabIndex = 1; |
1380 | + this.excludeCheckbox.Text = "Exclude these categories"; |
1381 | + this.excludeCheckbox.CheckedChanged += new System.EventHandler(this.excludeCheckbox_CheckedChanged); |
1382 | + // |
1383 | + // groupBox1 |
1384 | + // |
1385 | + this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) |
1386 | + | System.Windows.Forms.AnchorStyles.Left) |
1387 | + | System.Windows.Forms.AnchorStyles.Right))); |
1388 | + this.groupBox1.Controls.Add(this.availableList); |
1389 | + this.groupBox1.Location = new System.Drawing.Point(8, 0); |
1390 | + this.groupBox1.Name = "groupBox1"; |
1391 | + this.groupBox1.Size = new System.Drawing.Size(205, 272); |
1392 | + this.groupBox1.TabIndex = 0; |
1393 | + this.groupBox1.TabStop = false; |
1394 | + this.groupBox1.Text = "Available Categories"; |
1395 | + // |
1396 | + // availableList |
1397 | + // |
1398 | + this.availableList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) |
1399 | + | System.Windows.Forms.AnchorStyles.Left) |
1400 | + | System.Windows.Forms.AnchorStyles.Right))); |
1401 | + this.availableList.Location = new System.Drawing.Point(8, 24); |
1402 | + this.availableList.Name = "availableList"; |
1403 | + this.availableList.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended; |
1404 | + this.availableList.Size = new System.Drawing.Size(189, 238); |
1405 | + this.availableList.TabIndex = 0; |
1406 | + this.availableList.DoubleClick += new System.EventHandler(this.addCategory_Click); |
1407 | + // |
1408 | + // tests |
1409 | + // |
1410 | + this.tests.AllowDrop = true; |
1411 | + this.tests.CategoryFilter = ((NUnit.Core.TestFilter)(resources.GetObject("tests.CategoryFilter"))); |
1412 | + this.tests.Dock = System.Windows.Forms.DockStyle.Fill; |
1413 | + this.tests.HideSelection = false; |
1414 | + this.tests.ImageIndex = 0; |
1415 | + this.tests.Location = new System.Drawing.Point(0, 0); |
1416 | + this.tests.Name = "tests"; |
1417 | + this.tests.SelectedImageIndex = 0; |
1418 | + this.tests.Size = new System.Drawing.Size(221, 421); |
1419 | + this.tests.TabIndex = 0; |
1420 | + this.tests.CheckBoxesChanged += new System.EventHandler(this.tests_CheckBoxesChanged); |
1421 | + // |
1422 | + // TestTree |
1423 | + // |
1424 | + this.Controls.Add(this.tabs); |
1425 | + this.Name = "TestTree"; |
1426 | + this.Size = new System.Drawing.Size(248, 496); |
1427 | + this.tabs.ResumeLayout(false); |
1428 | + this.testPage.ResumeLayout(false); |
1429 | + this.testPanel.ResumeLayout(false); |
1430 | + this.treePanel.ResumeLayout(false); |
1431 | + this.FindTestsPanel.ResumeLayout(false); |
1432 | + this.FindTestsPanel.PerformLayout(); |
1433 | + ((System.ComponentModel.ISupportInitialize)(this.SearchImageButton)).EndInit(); |
1434 | + this.buttonPanel.ResumeLayout(false); |
1435 | + this.categoryPage.ResumeLayout(false); |
1436 | + this.categoryPanel.ResumeLayout(false); |
1437 | + this.categoryButtonPanel.ResumeLayout(false); |
1438 | + this.selectedCategories.ResumeLayout(false); |
1439 | + this.groupBox1.ResumeLayout(false); |
1440 | + this.ResumeLayout(false); |
1441 | + |
1442 | + } |
1443 | + #endregion |
1444 | + |
1445 | + #region SelectedTestsChanged Event |
1446 | + |
1447 | + public event SelectedTestsChangedEventHandler SelectedTestsChanged; |
1448 | + |
1449 | + #endregion |
1450 | + |
1451 | + |
1452 | + public void RunAllTests() |
1453 | + { |
1454 | + RunAllTests(true); |
1455 | + } |
1456 | + |
1457 | + public void RunAllTests(bool ignoreTests) |
1458 | + { |
1459 | + tests.RunAllTests(ignoreTests); |
1460 | + } |
1461 | + |
1462 | + public void RunSelectedTests() |
1463 | + { |
1464 | + tests.RunSelectedTests(); |
1465 | + } |
1466 | + |
1467 | + public void RunFailedTests() |
1468 | + { |
1469 | + tests.RunFailedTests(); |
1470 | + } |
1471 | + |
1472 | + private void addCategory_Click(object sender, System.EventArgs e) |
1473 | + { |
1474 | + if (availableList.SelectedItems.Count > 0) |
1475 | + { |
1476 | + // Create a separate list to avoid exception |
1477 | + // when using the list box directly. |
1478 | + List<string> categories = new List<string>(); |
1479 | + foreach (string category in availableList.SelectedItems) |
1480 | + categories.Add(category); |
1481 | + |
1482 | + foreach (string category in categories) |
1483 | + { |
1484 | + selectedList.Items.Add(category); |
1485 | + availableList.Items.Remove(category); |
1486 | + } |
1487 | + |
1488 | + UpdateCategoryFilter(); |
1489 | + if (this.SelectedCategories.Length > 0) |
1490 | + this.excludeCheckbox.Enabled = true; |
1491 | + } |
1492 | + } |
1493 | + |
1494 | + private void removeCategory_Click(object sender, System.EventArgs e) |
1495 | + { |
1496 | + if (selectedList.SelectedItems.Count > 0) |
1497 | + { |
1498 | + // Create a separate list to avoid exception |
1499 | + // when using the list box directly. |
1500 | + List<string> categories = new List<string>(); |
1501 | + foreach (string category in selectedList.SelectedItems) |
1502 | + categories.Add(category); |
1503 | + |
1504 | + foreach (string category in categories) |
1505 | + { |
1506 | + selectedList.Items.Remove(category); |
1507 | + availableList.Items.Add(category); |
1508 | + } |
1509 | + |
1510 | + UpdateCategoryFilter(); |
1511 | + if (this.SelectedCategories.Length == 0) |
1512 | + { |
1513 | + this.excludeCheckbox.Checked = false; |
1514 | + this.excludeCheckbox.Enabled = false; |
1515 | + } |
1516 | + } |
1517 | + } |
1518 | + |
1519 | + private void clearAllButton_Click(object sender, System.EventArgs e) |
1520 | + { |
1521 | + tests.ClearCheckedNodes(); |
1522 | + } |
1523 | + |
1524 | + private void checkFailedButton_Click(object sender, System.EventArgs e) |
1525 | + { |
1526 | + tests.CheckFailedNodes(); |
1527 | + } |
1528 | + |
1529 | + private void tests_SelectedTestChanged(ITest test) |
1530 | + { |
1531 | + if (SelectedTestsChanged != null) |
1532 | + { |
1533 | + SelectedTestsChangedEventArgs args = new SelectedTestsChangedEventArgs(test.TestName.Name, test.TestCount); |
1534 | + SelectedTestsChanged(tests, args); |
1535 | + } |
1536 | + } |
1537 | + |
1538 | + private void events_TestLoaded(object sender, NUnit.Util.TestEventArgs args) |
1539 | + { |
1540 | + treeMenu.Visible = true; |
1541 | + |
1542 | + availableCategories = this.loader.GetCategories(); |
1543 | + availableList.Items.Clear(); |
1544 | + selectedList.Items.Clear(); |
1545 | + |
1546 | + availableList.SuspendLayout(); |
1547 | + foreach (string category in availableCategories) |
1548 | + availableList.Items.Add(category); |
1549 | + |
1550 | + // tree may have restored visual state |
1551 | + if (!tests.CategoryFilter.IsEmpty) |
1552 | + { |
1553 | + ITestFilter filter = tests.CategoryFilter; |
1554 | + if (filter is NUnit.Core.Filters.NotFilter) |
1555 | + { |
1556 | + filter = ((NUnit.Core.Filters.NotFilter)filter).BaseFilter; |
1557 | + this.excludeCheckbox.Checked = true; |
1558 | + } |
1559 | + |
1560 | + foreach (string cat in ((NUnit.Core.Filters.CategoryFilter)filter).Categories) |
1561 | + if (this.availableCategories.Contains(cat)) |
1562 | + { |
1563 | + this.availableList.Items.Remove(cat); |
1564 | + this.selectedList.Items.Add(cat); |
1565 | + this.excludeCheckbox.Enabled = true; |
1566 | + } |
1567 | + |
1568 | + UpdateCategoryFilter(); |
1569 | + } |
1570 | + |
1571 | + availableList.ResumeLayout(); |
1572 | + } |
1573 | + |
1574 | + private void events_TestReloaded(object sender, NUnit.Util.TestEventArgs args) |
1575 | + { |
1576 | + // Get new list of available categories |
1577 | + availableCategories = this.loader.GetCategories(); |
1578 | + |
1579 | + // Remove any selected items that are no longer available |
1580 | + int index = selectedList.Items.Count; |
1581 | + selectedList.SuspendLayout(); |
1582 | + while (--index >= 0) |
1583 | + { |
1584 | + string category = selectedList.Items[index].ToString(); |
1585 | + if (!availableCategories.Contains(category)) |
1586 | + selectedList.Items.RemoveAt(index); |
1587 | + } |
1588 | + selectedList.ResumeLayout(); |
1589 | + |
1590 | + // Clear check box if there are no more selected items. |
1591 | + if (selectedList.Items.Count == 0) |
1592 | + excludeCheckbox.Checked = excludeCheckbox.Enabled = false; |
1593 | + |
1594 | + // Put any unselected available items on availableList |
1595 | + availableList.Items.Clear(); |
1596 | + availableList.SuspendLayout(); |
1597 | + foreach (string category in availableCategories) |
1598 | + if (selectedList.FindStringExact(category) < 0) |
1599 | + availableList.Items.Add(category); |
1600 | + availableList.ResumeLayout(); |
1601 | + |
1602 | + // Tell the tree what is selected |
1603 | + UpdateCategoryFilter(); |
1604 | + } |
1605 | + |
1606 | + private void excludeCheckbox_CheckedChanged(object sender, System.EventArgs e) |
1607 | + { |
1608 | + UpdateCategoryFilter(); |
1609 | + } |
1610 | + |
1611 | + private void events_TestUnloaded(object sender, NUnit.Util.TestEventArgs args) |
1612 | + { |
1613 | + availableCategories.Clear(); |
1614 | + availableList.Items.Clear(); |
1615 | + selectedList.Items.Clear(); |
1616 | + excludeCheckbox.Checked = false; |
1617 | + excludeCheckbox.Enabled = false; |
1618 | + treeMenu.Visible = false; |
1619 | + } |
1620 | + |
1621 | + private void tests_CheckedTestChanged(ITest[] tests) |
1622 | + { |
1623 | + if (SelectedTestsChanged != null) |
1624 | + { |
1625 | + SelectedTestsChangedEventArgs args = new SelectedTestsChangedEventArgs("", tests.Length); |
1626 | + SelectedTestsChanged(tests, args); |
1627 | + } |
1628 | + |
1629 | + if (tests.Length > 0) |
1630 | + { |
1631 | + } |
1632 | + } |
1633 | + |
1634 | + private void checkBoxesMenuItem_Click(object sender, System.EventArgs e) |
1635 | + { |
1636 | + Services.UserSettings.SaveSetting("Options.ShowCheckBoxes", |
1637 | + ShowCheckBoxes = !checkBoxesMenuItem.Checked); |
1638 | + |
1639 | + // Temporary till we can save tree state and restore |
1640 | + //this.SetInitialExpansion(); |
1641 | + } |
1642 | + |
1643 | + private void UpdateCategoryFilter() |
1644 | + { |
1645 | + TestFilter catFilter; |
1646 | + |
1647 | + if (SelectedCategories == null || SelectedCategories.Length == 0) |
1648 | + catFilter = TestFilter.Empty; |
1649 | + else |
1650 | + catFilter = new NUnit.Core.Filters.CategoryFilter(SelectedCategories); |
1651 | + |
1652 | + if (excludeCheckbox.Checked) |
1653 | + catFilter = new NUnit.Core.Filters.NotFilter(catFilter, true); |
1654 | + |
1655 | + tests.CategoryFilter = catFilter; |
1656 | + } |
1657 | + |
1658 | + private void tests_CheckBoxesChanged(object sender, System.EventArgs e) |
1659 | + { |
1660 | + ShowCheckBoxes = tests.CheckBoxes; |
1661 | + } |
1662 | + |
1663 | + private void UserSettings_Changed(object sender, SettingsEventArgs args) |
1664 | + { |
1665 | + if (args.SettingName == "Options.ShowCheckBoxes") |
1666 | + this.ShowCheckBoxes = Services.UserSettings.GetSetting(args.SettingName, false); |
1667 | + } |
1668 | + |
1669 | + private Queue<TreeNode> _testCache = new Queue<TreeNode>(); |
1670 | + |
1671 | + private void TestNameTextBox_KeyDown(object sender, KeyEventArgs e) |
1672 | + { |
1673 | + if (e.KeyCode == Keys.Enter) |
1674 | + { |
1675 | + e.SuppressKeyPress = true; |
1676 | + if (IsFindEnabled()) |
1677 | + { |
1678 | + FindAndHighlightTest(); |
1679 | + } |
1680 | + |
1681 | + return; |
1682 | + } |
1683 | + |
1684 | + if (_testCache.Count >= 1) |
1685 | + { |
1686 | + _testCache.Clear(); |
1687 | + } |
1688 | + } |
1689 | + |
1690 | + private void SearchImageButton_Click(object sender, EventArgs e) |
1691 | + { |
1692 | + if (IsFindEnabled()) |
1693 | + { |
1694 | + FindAndHighlightTest(); |
1695 | + } |
1696 | + } |
1697 | + |
1698 | + private bool IsFindEnabled() |
1699 | + { |
1700 | + return !string.IsNullOrEmpty(TestNameTextBox.Text); |
1701 | + } |
1702 | + |
1703 | + private void FindAndHighlightTest() |
1704 | + { |
1705 | + if (_testCache.Count <= 0) |
1706 | + { |
1707 | + FindTests(); |
1708 | + } |
1709 | + |
1710 | + if (_testCache.Count >= 1) |
1711 | + { |
1712 | + TreeNode selectedNode = _testCache.Dequeue(); |
1713 | + tests.SelectedNode = selectedNode; |
1714 | + _testCache.Enqueue(selectedNode); |
1715 | + } |
1716 | + else |
1717 | + { |
1718 | + MessageDisplay messageDisplay = new MessageDisplay(); |
1719 | + messageDisplay.Info("No tests found with name " + TestNameTextBox.Text); |
1720 | + } |
1721 | + } |
1722 | + |
1723 | + private void FindTests() |
1724 | + { |
1725 | + TreeNodeCollection nodes = this.tests.Nodes; |
1726 | + foreach (TreeNode treenode in nodes) |
1727 | + { |
1728 | + FindTestsRecursive(treenode); |
1729 | + } |
1730 | + } |
1731 | + |
1732 | + private void FindTestsRecursive(TreeNode treeNode) |
1733 | + { |
1734 | + foreach (TreeNode treenode in treeNode.Nodes) |
1735 | + { |
1736 | + if (TestNameTextBox.Text.Equals(treenode.Text, StringComparison.CurrentCultureIgnoreCase)) |
1737 | + { |
1738 | + _testCache.Enqueue(treenode); |
1739 | + } |
1740 | + |
1741 | + FindTestsRecursive(treenode); |
1742 | + } |
1743 | + } |
1744 | + |
1745 | + |
1746 | + } |
1747 | + |
1748 | + public class SelectedTestsChangedEventArgs : EventArgs |
1749 | + { |
1750 | + private string testName; |
1751 | + private int count; |
1752 | + |
1753 | + public SelectedTestsChangedEventArgs(string testName, int count) |
1754 | + { |
1755 | + this.testName = testName; |
1756 | + this.count = count; |
1757 | + } |
1758 | + |
1759 | + public string TestName |
1760 | + { |
1761 | + get { return testName; } |
1762 | + } |
1763 | + |
1764 | + public int TestCount |
1765 | + { |
1766 | + get { return count; } |
1767 | + } |
1768 | + } |
1769 | +} |
1770 | |
1771 | === modified file 'src/GuiComponents/UiKit/nunit.uikit.build' |
1772 | --- src/GuiComponents/UiKit/nunit.uikit.build 2012-01-15 00:07:19 +0000 |
1773 | +++ src/GuiComponents/UiKit/nunit.uikit.build 2012-11-06 02:11:19 +0000 |
1774 | @@ -79,6 +79,7 @@ |
1775 | <include name="Images/Ellipsis.gif"/> |
1776 | <include name="Images/pinned.gif"/> |
1777 | <include name="Images/unpinned.gif"/> |
1778 | + <include name="Images/search.png" /> |
1779 | </patternset> |
1780 | |
1781 | <patternset id="content-files"> |
1782 | |
1783 | === modified file 'src/GuiComponents/UiKit/nunit.uikit.dll.csproj' |
1784 | --- src/GuiComponents/UiKit/nunit.uikit.dll.csproj 2012-08-08 03:34:12 +0000 |
1785 | +++ src/GuiComponents/UiKit/nunit.uikit.dll.csproj 2012-11-06 02:11:19 +0000 |
1786 | @@ -1,403 +1,404 @@ |
1787 | -<?xml version="1.0" encoding="utf-8"?> |
1788 | -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> |
1789 | - <PropertyGroup> |
1790 | - <ProjectType>Local</ProjectType> |
1791 | - <ProductVersion>9.0.30729</ProductVersion> |
1792 | - <SchemaVersion>2.0</SchemaVersion> |
1793 | - <ProjectGuid>{27531BBF-183D-4C3A-935B-D840B9F1A3A4}</ProjectGuid> |
1794 | - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
1795 | - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
1796 | - <AssemblyKeyContainerName> |
1797 | - </AssemblyKeyContainerName> |
1798 | - <AssemblyName>nunit.uikit</AssemblyName> |
1799 | - <DefaultClientScript>JScript</DefaultClientScript> |
1800 | - <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> |
1801 | - <DefaultTargetSchema>IE50</DefaultTargetSchema> |
1802 | - <DelaySign>false</DelaySign> |
1803 | - <OutputType>Library</OutputType> |
1804 | - <RootNamespace>NUnit.UiKit</RootNamespace> |
1805 | - <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent> |
1806 | - <FileUpgradeFlags> |
1807 | - </FileUpgradeFlags> |
1808 | - <UpgradeBackupLocation> |
1809 | - </UpgradeBackupLocation> |
1810 | - <OldToolsVersion>3.5</OldToolsVersion> |
1811 | - <TargetFrameworkVersion>v2.0</TargetFrameworkVersion> |
1812 | - <PublishUrl>publish\</PublishUrl> |
1813 | - <Install>true</Install> |
1814 | - <InstallFrom>Disk</InstallFrom> |
1815 | - <UpdateEnabled>false</UpdateEnabled> |
1816 | - <UpdateMode>Foreground</UpdateMode> |
1817 | - <UpdateInterval>7</UpdateInterval> |
1818 | - <UpdateIntervalUnits>Days</UpdateIntervalUnits> |
1819 | - <UpdatePeriodically>false</UpdatePeriodically> |
1820 | - <UpdateRequired>false</UpdateRequired> |
1821 | - <MapFileExtensions>true</MapFileExtensions> |
1822 | - <ApplicationRevision>0</ApplicationRevision> |
1823 | - <ApplicationVersion>1.0.0.%2a</ApplicationVersion> |
1824 | - <IsWebBootstrapper>false</IsWebBootstrapper> |
1825 | - <UseApplicationTrust>false</UseApplicationTrust> |
1826 | - <BootstrapperEnabled>true</BootstrapperEnabled> |
1827 | - </PropertyGroup> |
1828 | - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
1829 | - <OutputPath>..\..\..\bin\Debug\lib\</OutputPath> |
1830 | - <BaseAddress>285212672</BaseAddress> |
1831 | - <ConfigurationOverrideFile> |
1832 | - </ConfigurationOverrideFile> |
1833 | - <DefineConstants>TRACE;DEBUG;CLR_2_0,NET_2_0,CS_3_0</DefineConstants> |
1834 | - <DocumentationFile> |
1835 | - </DocumentationFile> |
1836 | - <DebugSymbols>true</DebugSymbols> |
1837 | - <FileAlignment>4096</FileAlignment> |
1838 | - <NoWarn>1699</NoWarn> |
1839 | - <Optimize>false</Optimize> |
1840 | - <RegisterForComInterop>false</RegisterForComInterop> |
1841 | - <RemoveIntegerChecks>false</RemoveIntegerChecks> |
1842 | - <WarningLevel>4</WarningLevel> |
1843 | - <DebugType>full</DebugType> |
1844 | - <ErrorReport>prompt</ErrorReport> |
1845 | - <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> |
1846 | - </PropertyGroup> |
1847 | - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
1848 | - <OutputPath>..\..\..\bin\Release\lib\</OutputPath> |
1849 | - <BaseAddress>285212672</BaseAddress> |
1850 | - <ConfigurationOverrideFile> |
1851 | - </ConfigurationOverrideFile> |
1852 | - <DefineConstants>TRACE;CLR_2_0,NET_2_0,CS_3_0</DefineConstants> |
1853 | - <DocumentationFile> |
1854 | - </DocumentationFile> |
1855 | - <FileAlignment>4096</FileAlignment> |
1856 | - <NoWarn>1699</NoWarn> |
1857 | - <Optimize>true</Optimize> |
1858 | - <RegisterForComInterop>false</RegisterForComInterop> |
1859 | - <RemoveIntegerChecks>false</RemoveIntegerChecks> |
1860 | - <WarningLevel>4</WarningLevel> |
1861 | - <DebugType>none</DebugType> |
1862 | - <ErrorReport>prompt</ErrorReport> |
1863 | - <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> |
1864 | - </PropertyGroup> |
1865 | - <ItemGroup> |
1866 | - <Reference Include="System"> |
1867 | - <Name>System</Name> |
1868 | - </Reference> |
1869 | - <Reference Include="System.Data"> |
1870 | - <Name>System.Data</Name> |
1871 | - </Reference> |
1872 | - <Reference Include="System.Drawing"> |
1873 | - <Name>System.Drawing</Name> |
1874 | - </Reference> |
1875 | - <Reference Include="System.Windows.Forms"> |
1876 | - <Name>System.Windows.Forms</Name> |
1877 | - </Reference> |
1878 | - <Reference Include="System.Xml"> |
1879 | - <Name>System.XML</Name> |
1880 | - </Reference> |
1881 | - <ProjectReference Include="..\..\ClientUtilities\util\nunit.util.dll.csproj"> |
1882 | - <Name>nunit.util.dll</Name> |
1883 | - <Project>{61CE9CE5-943E-44D4-A381-814DC1406767}</Project> |
1884 | - <Private>False</Private> |
1885 | - </ProjectReference> |
1886 | - <ProjectReference Include="..\..\NUnitCore\core\nunit.core.dll.csproj"> |
1887 | - <Project>{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}</Project> |
1888 | - <Name>nunit.core.dll</Name> |
1889 | - <Private>False</Private> |
1890 | - </ProjectReference> |
1891 | - <ProjectReference Include="..\..\NUnitCore\interfaces\nunit.core.interfaces.dll.csproj"> |
1892 | - <Name>nunit.core.interfaces.dll</Name> |
1893 | - <Project>{435428F8-5995-4CE4-8022-93D595A8CC0F}</Project> |
1894 | - <Private>False</Private> |
1895 | - </ProjectReference> |
1896 | - <ProjectReference Include="..\..\GuiException\UiException\nunit.uiexception.dll.csproj"> |
1897 | - <Project>{3E87A106-EB20-4147-84C8-95B0BB43A1D4}</Project> |
1898 | - <Name>nunit.uiexception.dll</Name> |
1899 | - <Private>False</Private> |
1900 | - </ProjectReference> |
1901 | - </ItemGroup> |
1902 | - <ItemGroup> |
1903 | - <Compile Include="..\..\CommonAssemblyInfo.cs"> |
1904 | - <Link>CommonAssemblyInfo.cs</Link> |
1905 | - </Compile> |
1906 | - <Compile Include="AddConfigurationDialog.cs"> |
1907 | - <SubType>Form</SubType> |
1908 | - </Compile> |
1909 | - <Compile Include="AddTabPageDialog.cs"> |
1910 | - <SubType>Form</SubType> |
1911 | - </Compile> |
1912 | - <Compile Include="AppContainer.cs" /> |
1913 | - <Compile Include="AssemblyInfo.cs" /> |
1914 | - <Compile Include="ConfigurationEditor.cs"> |
1915 | - <SubType>Form</SubType> |
1916 | - </Compile> |
1917 | - <Compile Include="EditTabPagesDialog.cs"> |
1918 | - <SubType>Form</SubType> |
1919 | - </Compile> |
1920 | - <Compile Include="ErrorDisplay.cs"> |
1921 | - <SubType>UserControl</SubType> |
1922 | - </Compile> |
1923 | - <Compile Include="ExpandingLabel.cs"> |
1924 | - <SubType>Component</SubType> |
1925 | - </Compile> |
1926 | - <Compile Include="ExpandingTextBox.cs"> |
1927 | - <SubType>Component</SubType> |
1928 | - </Compile> |
1929 | - <Compile Include="GuiAttachedConsole.cs" /> |
1930 | - <Compile Include="GuiTestEventDispatcher.cs" /> |
1931 | - <Compile Include="IMessageDisplay.cs" /> |
1932 | - <Compile Include="LongRunningOperationDisplay.cs"> |
1933 | - <SubType>Form</SubType> |
1934 | - </Compile> |
1935 | - <Compile Include="NotRunTree.cs"> |
1936 | - <SubType>Component</SubType> |
1937 | - </Compile> |
1938 | - <Compile Include="NUnitFormBase.cs"> |
1939 | - <SubType>Form</SubType> |
1940 | - </Compile> |
1941 | - <Compile Include="ProgressBar.cs"> |
1942 | - <SubType>Component</SubType> |
1943 | - </Compile> |
1944 | - <Compile Include="RenameConfigurationDialog.cs"> |
1945 | - <SubType>Form</SubType> |
1946 | - </Compile> |
1947 | - <Compile Include="ResultTabs.cs"> |
1948 | - <SubType>UserControl</SubType> |
1949 | - </Compile> |
1950 | - <Compile Include="ScrollingTextDisplayForm.cs"> |
1951 | - <SubType>Form</SubType> |
1952 | - </Compile> |
1953 | - <Compile Include="SettingsDialogBase.cs"> |
1954 | - <SubType>Form</SubType> |
1955 | - </Compile> |
1956 | - <Compile Include="SettingsPage.cs"> |
1957 | - <SubType>UserControl</SubType> |
1958 | - </Compile> |
1959 | - <Compile Include="SimpleSettingsDialog.cs"> |
1960 | - <SubType>Form</SubType> |
1961 | - </Compile> |
1962 | - <Compile Include="StatusBar.cs"> |
1963 | - <SubType>Component</SubType> |
1964 | - </Compile> |
1965 | - <Compile Include="TabbedSettingsDialog.cs"> |
1966 | - <SubType>Form</SubType> |
1967 | - </Compile> |
1968 | - <Compile Include="TestPropertiesDialog.cs"> |
1969 | - <SubType>Form</SubType> |
1970 | - </Compile> |
1971 | - <Compile Include="TestPropertiesDialog.Designer.cs"> |
1972 | - <DependentUpon>TestPropertiesDialog.cs</DependentUpon> |
1973 | - </Compile> |
1974 | - <Compile Include="TestSuiteTreeNode.cs" /> |
1975 | - <Compile Include="TestSuiteTreeView.cs"> |
1976 | - <SubType>Component</SubType> |
1977 | - </Compile> |
1978 | - <Compile Include="TestTree.cs"> |
1979 | - <SubType>UserControl</SubType> |
1980 | - </Compile> |
1981 | - <Compile Include="TextBoxDisplay.cs"> |
1982 | - <SubType>Component</SubType> |
1983 | - </Compile> |
1984 | - <Compile Include="TextDisplayContent.cs" /> |
1985 | - <Compile Include="TextDisplay.cs" /> |
1986 | - <Compile Include="TextDisplayTabPage.cs"> |
1987 | - <SubType>Component</SubType> |
1988 | - </Compile> |
1989 | - <Compile Include="TextDisplayTabSettings.cs" /> |
1990 | - <Compile Include="TextDisplayWriter.cs" /> |
1991 | - <Compile Include="TextOutputSettingsPage.cs"> |
1992 | - <SubType>UserControl</SubType> |
1993 | - </Compile> |
1994 | - <Compile Include="TipWindow.cs"> |
1995 | - <SubType>Form</SubType> |
1996 | - </Compile> |
1997 | - <Compile Include="TreeBasedSettingsDialog.cs"> |
1998 | - <SubType>Form</SubType> |
1999 | - </Compile> |
2000 | - <Compile Include="MessageDisplay.cs" /> |
2001 | - <Compile Include="VisualState.cs" /> |
2002 | - <Compile Include="WaitCursor.cs" /> |
2003 | - </ItemGroup> |
2004 | - <ItemGroup> |
2005 | - <EmbeddedResource Include="AddConfigurationDialog.resx"> |
2006 | - <DependentUpon>AddConfigurationDialog.cs</DependentUpon> |
2007 | - <SubType>Designer</SubType> |
2008 | - </EmbeddedResource> |
2009 | - <EmbeddedResource Include="AddTabPageDialog.resx"> |
2010 | - <DependentUpon>AddTabPageDialog.cs</DependentUpon> |
2011 | - <SubType>Designer</SubType> |
2012 | - </EmbeddedResource> |
2013 | - <EmbeddedResource Include="ConfigurationEditor.resx"> |
2014 | - <DependentUpon>ConfigurationEditor.cs</DependentUpon> |
2015 | - <SubType>Designer</SubType> |
2016 | - </EmbeddedResource> |
2017 | - <EmbeddedResource Include="EditTabPagesDialog.resx"> |
2018 | - <DependentUpon>EditTabPagesDialog.cs</DependentUpon> |
2019 | - <SubType>Designer</SubType> |
2020 | - </EmbeddedResource> |
2021 | - <EmbeddedResource Include="ErrorDisplay.resx"> |
2022 | - <DependentUpon>ErrorDisplay.cs</DependentUpon> |
2023 | - <SubType>Designer</SubType> |
2024 | - </EmbeddedResource> |
2025 | - <EmbeddedResource Include="ExpandingLabel.resx"> |
2026 | - <DependentUpon>ExpandingLabel.cs</DependentUpon> |
2027 | - <SubType>Designer</SubType> |
2028 | - </EmbeddedResource> |
2029 | - <EmbeddedResource Include="ExpandingTextBox.resx"> |
2030 | - <DependentUpon>ExpandingTextBox.cs</DependentUpon> |
2031 | - <SubType>Designer</SubType> |
2032 | - </EmbeddedResource> |
2033 | - <EmbeddedResource Include="LongRunningOperationDisplay.resx"> |
2034 | - <DependentUpon>LongRunningOperationDisplay.cs</DependentUpon> |
2035 | - <SubType>Designer</SubType> |
2036 | - </EmbeddedResource> |
2037 | - <EmbeddedResource Include="NotRunTree.resx"> |
2038 | - <DependentUpon>NotRunTree.cs</DependentUpon> |
2039 | - <SubType>Designer</SubType> |
2040 | - </EmbeddedResource> |
2041 | - <EmbeddedResource Include="ProgressBar.resx"> |
2042 | - <DependentUpon>ProgressBar.cs</DependentUpon> |
2043 | - <SubType>Designer</SubType> |
2044 | - </EmbeddedResource> |
2045 | - <EmbeddedResource Include="RenameConfigurationDialog.resx"> |
2046 | - <DependentUpon>RenameConfigurationDialog.cs</DependentUpon> |
2047 | - <SubType>Designer</SubType> |
2048 | - </EmbeddedResource> |
2049 | - <EmbeddedResource Include="ResultTabs.resx"> |
2050 | - <DependentUpon>ResultTabs.cs</DependentUpon> |
2051 | - <SubType>Designer</SubType> |
2052 | - </EmbeddedResource> |
2053 | - <EmbeddedResource Include="SettingsDialogBase.resx"> |
2054 | - <DependentUpon>SettingsDialogBase.cs</DependentUpon> |
2055 | - <SubType>Designer</SubType> |
2056 | - </EmbeddedResource> |
2057 | - <EmbeddedResource Include="SettingsPage.resx"> |
2058 | - <DependentUpon>SettingsPage.cs</DependentUpon> |
2059 | - <SubType>Designer</SubType> |
2060 | - </EmbeddedResource> |
2061 | - <EmbeddedResource Include="SimpleSettingsDialog.resx"> |
2062 | - <DependentUpon>SimpleSettingsDialog.cs</DependentUpon> |
2063 | - <SubType>Designer</SubType> |
2064 | - </EmbeddedResource> |
2065 | - <EmbeddedResource Include="StatusBar.resx"> |
2066 | - <DependentUpon>StatusBar.cs</DependentUpon> |
2067 | - <SubType>Designer</SubType> |
2068 | - </EmbeddedResource> |
2069 | - <EmbeddedResource Include="TabbedSettingsDialog.resx"> |
2070 | - <DependentUpon>TabbedSettingsDialog.cs</DependentUpon> |
2071 | - <SubType>Designer</SubType> |
2072 | - </EmbeddedResource> |
2073 | - <EmbeddedResource Include="TestPropertiesDialog.resx"> |
2074 | - <DependentUpon>TestPropertiesDialog.cs</DependentUpon> |
2075 | - </EmbeddedResource> |
2076 | - <EmbeddedResource Include="TestSuiteTreeView.resx"> |
2077 | - <DependentUpon>TestSuiteTreeView.cs</DependentUpon> |
2078 | - <SubType>Designer</SubType> |
2079 | - </EmbeddedResource> |
2080 | - <EmbeddedResource Include="TestTree.resx"> |
2081 | - <DependentUpon>TestTree.cs</DependentUpon> |
2082 | - <SubType>Designer</SubType> |
2083 | - </EmbeddedResource> |
2084 | - <EmbeddedResource Include="TextOutputSettingsPage.resx"> |
2085 | - <DependentUpon>TextOutputSettingsPage.cs</DependentUpon> |
2086 | - <SubType>Designer</SubType> |
2087 | - </EmbeddedResource> |
2088 | - <EmbeddedResource Include="TipWindow.resx"> |
2089 | - <DependentUpon>TipWindow.cs</DependentUpon> |
2090 | - <SubType>Designer</SubType> |
2091 | - </EmbeddedResource> |
2092 | - <EmbeddedResource Include="TreeBasedSettingsDialog.resx"> |
2093 | - <DependentUpon>TreeBasedSettingsDialog.cs</DependentUpon> |
2094 | - <SubType>Designer</SubType> |
2095 | - </EmbeddedResource> |
2096 | - <EmbeddedResource Include="Images\pinned.gif" /> |
2097 | - <EmbeddedResource Include="Images\unpinned.gif" /> |
2098 | - </ItemGroup> |
2099 | - <ItemGroup> |
2100 | - <Content Include="Images\Tree\Classic\Ignored.jpg"> |
2101 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2102 | - </Content> |
2103 | - <Content Include="Images\Ellipsis.gif" /> |
2104 | - <Content Include="Images\Tree\Circles\Inconclusive.jpg"> |
2105 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2106 | - </Content> |
2107 | - <Content Include="Images\Tree\Circles\Skipped.jpg"> |
2108 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2109 | - </Content> |
2110 | - <Content Include="Images\Tree\Circles\Success.jpg"> |
2111 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2112 | - </Content> |
2113 | - <Content Include="Images\Tree\Circles\Failure.jpg"> |
2114 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2115 | - </Content> |
2116 | - <Content Include="Images\Tree\Circles\Ignored.jpg"> |
2117 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2118 | - </Content> |
2119 | - <Content Include="Images\Tree\Classic\Failure.jpg"> |
2120 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2121 | - </Content> |
2122 | - <Content Include="Images\Tree\Classic\Skipped.jpg"> |
2123 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2124 | - </Content> |
2125 | - <Content Include="Images\Tree\Default\Failure.png"> |
2126 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2127 | - </Content> |
2128 | - <Content Include="Images\Tree\Default\Ignored.png"> |
2129 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2130 | - </Content> |
2131 | - <Content Include="Images\Tree\Classic\Inconclusive.jpg"> |
2132 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2133 | - </Content> |
2134 | - <Content Include="Images\Tree\Default\Inconclusive.png"> |
2135 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2136 | - </Content> |
2137 | - <Content Include="Images\Tree\Default\Skipped.png"> |
2138 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2139 | - </Content> |
2140 | - <Content Include="Images\Tree\Classic\Success.jpg"> |
2141 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2142 | - </Content> |
2143 | - <Content Include="Images\Tree\Default\Success.png"> |
2144 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2145 | - </Content> |
2146 | - </ItemGroup> |
2147 | - <ItemGroup> |
2148 | - <Content Include="Images\Tree\Visual Studio\Failure.png"> |
2149 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2150 | - </Content> |
2151 | - <Content Include="Images\Tree\Visual Studio\Ignored.png"> |
2152 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2153 | - </Content> |
2154 | - <Content Include="Images\Tree\Visual Studio\Inconclusive.png"> |
2155 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2156 | - </Content> |
2157 | - <Content Include="Images\Tree\Visual Studio\Skipped.png"> |
2158 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2159 | - </Content> |
2160 | - <Content Include="Images\Tree\Visual Studio\Success.png"> |
2161 | - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2162 | - </Content> |
2163 | - <None Include="nunit.uikit.build" /> |
2164 | - </ItemGroup> |
2165 | - <ItemGroup> |
2166 | - <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> |
2167 | - <Visible>False</Visible> |
2168 | - <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> |
2169 | - <Install>false</Install> |
2170 | - </BootstrapperPackage> |
2171 | - <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> |
2172 | - <Visible>False</Visible> |
2173 | - <ProductName>.NET Framework 3.5 SP1</ProductName> |
2174 | - <Install>true</Install> |
2175 | - </BootstrapperPackage> |
2176 | - <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> |
2177 | - <Visible>False</Visible> |
2178 | - <ProductName>Windows Installer 3.1</ProductName> |
2179 | - <Install>true</Install> |
2180 | - </BootstrapperPackage> |
2181 | - </ItemGroup> |
2182 | - <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> |
2183 | - <PropertyGroup> |
2184 | - <PreBuildEvent> |
2185 | - </PreBuildEvent> |
2186 | - <PostBuildEvent> |
2187 | - </PostBuildEvent> |
2188 | - </PropertyGroup> |
2189 | +<?xml version="1.0" encoding="utf-8"?> |
2190 | +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> |
2191 | + <PropertyGroup> |
2192 | + <ProjectType>Local</ProjectType> |
2193 | + <ProductVersion>9.0.30729</ProductVersion> |
2194 | + <SchemaVersion>2.0</SchemaVersion> |
2195 | + <ProjectGuid>{27531BBF-183D-4C3A-935B-D840B9F1A3A4}</ProjectGuid> |
2196 | + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
2197 | + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
2198 | + <AssemblyKeyContainerName> |
2199 | + </AssemblyKeyContainerName> |
2200 | + <AssemblyName>nunit.uikit</AssemblyName> |
2201 | + <DefaultClientScript>JScript</DefaultClientScript> |
2202 | + <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> |
2203 | + <DefaultTargetSchema>IE50</DefaultTargetSchema> |
2204 | + <DelaySign>false</DelaySign> |
2205 | + <OutputType>Library</OutputType> |
2206 | + <RootNamespace>NUnit.UiKit</RootNamespace> |
2207 | + <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent> |
2208 | + <FileUpgradeFlags> |
2209 | + </FileUpgradeFlags> |
2210 | + <UpgradeBackupLocation> |
2211 | + </UpgradeBackupLocation> |
2212 | + <OldToolsVersion>3.5</OldToolsVersion> |
2213 | + <TargetFrameworkVersion>v2.0</TargetFrameworkVersion> |
2214 | + <PublishUrl>publish\</PublishUrl> |
2215 | + <Install>true</Install> |
2216 | + <InstallFrom>Disk</InstallFrom> |
2217 | + <UpdateEnabled>false</UpdateEnabled> |
2218 | + <UpdateMode>Foreground</UpdateMode> |
2219 | + <UpdateInterval>7</UpdateInterval> |
2220 | + <UpdateIntervalUnits>Days</UpdateIntervalUnits> |
2221 | + <UpdatePeriodically>false</UpdatePeriodically> |
2222 | + <UpdateRequired>false</UpdateRequired> |
2223 | + <MapFileExtensions>true</MapFileExtensions> |
2224 | + <ApplicationRevision>0</ApplicationRevision> |
2225 | + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> |
2226 | + <IsWebBootstrapper>false</IsWebBootstrapper> |
2227 | + <UseApplicationTrust>false</UseApplicationTrust> |
2228 | + <BootstrapperEnabled>true</BootstrapperEnabled> |
2229 | + </PropertyGroup> |
2230 | + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
2231 | + <OutputPath>..\..\..\bin\Debug\lib\</OutputPath> |
2232 | + <BaseAddress>285212672</BaseAddress> |
2233 | + <ConfigurationOverrideFile> |
2234 | + </ConfigurationOverrideFile> |
2235 | + <DefineConstants>TRACE;DEBUG;CLR_2_0,NET_2_0,CS_3_0</DefineConstants> |
2236 | + <DocumentationFile> |
2237 | + </DocumentationFile> |
2238 | + <DebugSymbols>true</DebugSymbols> |
2239 | + <FileAlignment>4096</FileAlignment> |
2240 | + <NoWarn>1699</NoWarn> |
2241 | + <Optimize>false</Optimize> |
2242 | + <RegisterForComInterop>false</RegisterForComInterop> |
2243 | + <RemoveIntegerChecks>false</RemoveIntegerChecks> |
2244 | + <WarningLevel>4</WarningLevel> |
2245 | + <DebugType>full</DebugType> |
2246 | + <ErrorReport>prompt</ErrorReport> |
2247 | + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> |
2248 | + </PropertyGroup> |
2249 | + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
2250 | + <OutputPath>..\..\..\bin\Release\lib\</OutputPath> |
2251 | + <BaseAddress>285212672</BaseAddress> |
2252 | + <ConfigurationOverrideFile> |
2253 | + </ConfigurationOverrideFile> |
2254 | + <DefineConstants>TRACE;CLR_2_0,NET_2_0,CS_3_0</DefineConstants> |
2255 | + <DocumentationFile> |
2256 | + </DocumentationFile> |
2257 | + <FileAlignment>4096</FileAlignment> |
2258 | + <NoWarn>1699</NoWarn> |
2259 | + <Optimize>true</Optimize> |
2260 | + <RegisterForComInterop>false</RegisterForComInterop> |
2261 | + <RemoveIntegerChecks>false</RemoveIntegerChecks> |
2262 | + <WarningLevel>4</WarningLevel> |
2263 | + <DebugType>none</DebugType> |
2264 | + <ErrorReport>prompt</ErrorReport> |
2265 | + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> |
2266 | + </PropertyGroup> |
2267 | + <ItemGroup> |
2268 | + <Reference Include="System"> |
2269 | + <Name>System</Name> |
2270 | + </Reference> |
2271 | + <Reference Include="System.Data"> |
2272 | + <Name>System.Data</Name> |
2273 | + </Reference> |
2274 | + <Reference Include="System.Drawing"> |
2275 | + <Name>System.Drawing</Name> |
2276 | + </Reference> |
2277 | + <Reference Include="System.Windows.Forms"> |
2278 | + <Name>System.Windows.Forms</Name> |
2279 | + </Reference> |
2280 | + <Reference Include="System.Xml"> |
2281 | + <Name>System.XML</Name> |
2282 | + </Reference> |
2283 | + <ProjectReference Include="..\..\ClientUtilities\util\nunit.util.dll.csproj"> |
2284 | + <Name>nunit.util.dll</Name> |
2285 | + <Project>{61CE9CE5-943E-44D4-A381-814DC1406767}</Project> |
2286 | + <Private>False</Private> |
2287 | + </ProjectReference> |
2288 | + <ProjectReference Include="..\..\NUnitCore\core\nunit.core.dll.csproj"> |
2289 | + <Project>{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}</Project> |
2290 | + <Name>nunit.core.dll</Name> |
2291 | + <Private>False</Private> |
2292 | + </ProjectReference> |
2293 | + <ProjectReference Include="..\..\NUnitCore\interfaces\nunit.core.interfaces.dll.csproj"> |
2294 | + <Name>nunit.core.interfaces.dll</Name> |
2295 | + <Project>{435428F8-5995-4CE4-8022-93D595A8CC0F}</Project> |
2296 | + <Private>False</Private> |
2297 | + </ProjectReference> |
2298 | + <ProjectReference Include="..\..\GuiException\UiException\nunit.uiexception.dll.csproj"> |
2299 | + <Project>{3E87A106-EB20-4147-84C8-95B0BB43A1D4}</Project> |
2300 | + <Name>nunit.uiexception.dll</Name> |
2301 | + <Private>False</Private> |
2302 | + </ProjectReference> |
2303 | + </ItemGroup> |
2304 | + <ItemGroup> |
2305 | + <Compile Include="..\..\CommonAssemblyInfo.cs"> |
2306 | + <Link>CommonAssemblyInfo.cs</Link> |
2307 | + </Compile> |
2308 | + <Compile Include="AddConfigurationDialog.cs"> |
2309 | + <SubType>Form</SubType> |
2310 | + </Compile> |
2311 | + <Compile Include="AddTabPageDialog.cs"> |
2312 | + <SubType>Form</SubType> |
2313 | + </Compile> |
2314 | + <Compile Include="AppContainer.cs" /> |
2315 | + <Compile Include="AssemblyInfo.cs" /> |
2316 | + <Compile Include="ConfigurationEditor.cs"> |
2317 | + <SubType>Form</SubType> |
2318 | + </Compile> |
2319 | + <Compile Include="EditTabPagesDialog.cs"> |
2320 | + <SubType>Form</SubType> |
2321 | + </Compile> |
2322 | + <Compile Include="ErrorDisplay.cs"> |
2323 | + <SubType>UserControl</SubType> |
2324 | + </Compile> |
2325 | + <Compile Include="ExpandingLabel.cs"> |
2326 | + <SubType>Component</SubType> |
2327 | + </Compile> |
2328 | + <Compile Include="ExpandingTextBox.cs"> |
2329 | + <SubType>Component</SubType> |
2330 | + </Compile> |
2331 | + <Compile Include="GuiAttachedConsole.cs" /> |
2332 | + <Compile Include="GuiTestEventDispatcher.cs" /> |
2333 | + <Compile Include="IMessageDisplay.cs" /> |
2334 | + <Compile Include="LongRunningOperationDisplay.cs"> |
2335 | + <SubType>Form</SubType> |
2336 | + </Compile> |
2337 | + <Compile Include="NotRunTree.cs"> |
2338 | + <SubType>Component</SubType> |
2339 | + </Compile> |
2340 | + <Compile Include="NUnitFormBase.cs"> |
2341 | + <SubType>Form</SubType> |
2342 | + </Compile> |
2343 | + <Compile Include="ProgressBar.cs"> |
2344 | + <SubType>Component</SubType> |
2345 | + </Compile> |
2346 | + <Compile Include="RenameConfigurationDialog.cs"> |
2347 | + <SubType>Form</SubType> |
2348 | + </Compile> |
2349 | + <Compile Include="ResultTabs.cs"> |
2350 | + <SubType>UserControl</SubType> |
2351 | + </Compile> |
2352 | + <Compile Include="ScrollingTextDisplayForm.cs"> |
2353 | + <SubType>Form</SubType> |
2354 | + </Compile> |
2355 | + <Compile Include="SettingsDialogBase.cs"> |
2356 | + <SubType>Form</SubType> |
2357 | + </Compile> |
2358 | + <Compile Include="SettingsPage.cs"> |
2359 | + <SubType>UserControl</SubType> |
2360 | + </Compile> |
2361 | + <Compile Include="SimpleSettingsDialog.cs"> |
2362 | + <SubType>Form</SubType> |
2363 | + </Compile> |
2364 | + <Compile Include="StatusBar.cs"> |
2365 | + <SubType>Component</SubType> |
2366 | + </Compile> |
2367 | + <Compile Include="TabbedSettingsDialog.cs"> |
2368 | + <SubType>Form</SubType> |
2369 | + </Compile> |
2370 | + <Compile Include="TestPropertiesDialog.cs"> |
2371 | + <SubType>Form</SubType> |
2372 | + </Compile> |
2373 | + <Compile Include="TestPropertiesDialog.Designer.cs"> |
2374 | + <DependentUpon>TestPropertiesDialog.cs</DependentUpon> |
2375 | + </Compile> |
2376 | + <Compile Include="TestSuiteTreeNode.cs" /> |
2377 | + <Compile Include="TestSuiteTreeView.cs"> |
2378 | + <SubType>Component</SubType> |
2379 | + </Compile> |
2380 | + <Compile Include="TestTree.cs"> |
2381 | + <SubType>UserControl</SubType> |
2382 | + </Compile> |
2383 | + <Compile Include="TextBoxDisplay.cs"> |
2384 | + <SubType>Component</SubType> |
2385 | + </Compile> |
2386 | + <Compile Include="TextDisplayContent.cs" /> |
2387 | + <Compile Include="TextDisplay.cs" /> |
2388 | + <Compile Include="TextDisplayTabPage.cs"> |
2389 | + <SubType>Component</SubType> |
2390 | + </Compile> |
2391 | + <Compile Include="TextDisplayTabSettings.cs" /> |
2392 | + <Compile Include="TextDisplayWriter.cs" /> |
2393 | + <Compile Include="TextOutputSettingsPage.cs"> |
2394 | + <SubType>UserControl</SubType> |
2395 | + </Compile> |
2396 | + <Compile Include="TipWindow.cs"> |
2397 | + <SubType>Form</SubType> |
2398 | + </Compile> |
2399 | + <Compile Include="TreeBasedSettingsDialog.cs"> |
2400 | + <SubType>Form</SubType> |
2401 | + </Compile> |
2402 | + <Compile Include="MessageDisplay.cs" /> |
2403 | + <Compile Include="VisualState.cs" /> |
2404 | + <Compile Include="WaitCursor.cs" /> |
2405 | + </ItemGroup> |
2406 | + <ItemGroup> |
2407 | + <EmbeddedResource Include="AddConfigurationDialog.resx"> |
2408 | + <DependentUpon>AddConfigurationDialog.cs</DependentUpon> |
2409 | + <SubType>Designer</SubType> |
2410 | + </EmbeddedResource> |
2411 | + <EmbeddedResource Include="AddTabPageDialog.resx"> |
2412 | + <DependentUpon>AddTabPageDialog.cs</DependentUpon> |
2413 | + <SubType>Designer</SubType> |
2414 | + </EmbeddedResource> |
2415 | + <EmbeddedResource Include="ConfigurationEditor.resx"> |
2416 | + <DependentUpon>ConfigurationEditor.cs</DependentUpon> |
2417 | + <SubType>Designer</SubType> |
2418 | + </EmbeddedResource> |
2419 | + <EmbeddedResource Include="EditTabPagesDialog.resx"> |
2420 | + <DependentUpon>EditTabPagesDialog.cs</DependentUpon> |
2421 | + <SubType>Designer</SubType> |
2422 | + </EmbeddedResource> |
2423 | + <EmbeddedResource Include="ErrorDisplay.resx"> |
2424 | + <DependentUpon>ErrorDisplay.cs</DependentUpon> |
2425 | + <SubType>Designer</SubType> |
2426 | + </EmbeddedResource> |
2427 | + <EmbeddedResource Include="ExpandingLabel.resx"> |
2428 | + <DependentUpon>ExpandingLabel.cs</DependentUpon> |
2429 | + <SubType>Designer</SubType> |
2430 | + </EmbeddedResource> |
2431 | + <EmbeddedResource Include="ExpandingTextBox.resx"> |
2432 | + <DependentUpon>ExpandingTextBox.cs</DependentUpon> |
2433 | + <SubType>Designer</SubType> |
2434 | + </EmbeddedResource> |
2435 | + <EmbeddedResource Include="LongRunningOperationDisplay.resx"> |
2436 | + <DependentUpon>LongRunningOperationDisplay.cs</DependentUpon> |
2437 | + <SubType>Designer</SubType> |
2438 | + </EmbeddedResource> |
2439 | + <EmbeddedResource Include="NotRunTree.resx"> |
2440 | + <DependentUpon>NotRunTree.cs</DependentUpon> |
2441 | + <SubType>Designer</SubType> |
2442 | + </EmbeddedResource> |
2443 | + <EmbeddedResource Include="ProgressBar.resx"> |
2444 | + <DependentUpon>ProgressBar.cs</DependentUpon> |
2445 | + <SubType>Designer</SubType> |
2446 | + </EmbeddedResource> |
2447 | + <EmbeddedResource Include="RenameConfigurationDialog.resx"> |
2448 | + <DependentUpon>RenameConfigurationDialog.cs</DependentUpon> |
2449 | + <SubType>Designer</SubType> |
2450 | + </EmbeddedResource> |
2451 | + <EmbeddedResource Include="ResultTabs.resx"> |
2452 | + <DependentUpon>ResultTabs.cs</DependentUpon> |
2453 | + <SubType>Designer</SubType> |
2454 | + </EmbeddedResource> |
2455 | + <EmbeddedResource Include="SettingsDialogBase.resx"> |
2456 | + <DependentUpon>SettingsDialogBase.cs</DependentUpon> |
2457 | + <SubType>Designer</SubType> |
2458 | + </EmbeddedResource> |
2459 | + <EmbeddedResource Include="SettingsPage.resx"> |
2460 | + <DependentUpon>SettingsPage.cs</DependentUpon> |
2461 | + <SubType>Designer</SubType> |
2462 | + </EmbeddedResource> |
2463 | + <EmbeddedResource Include="SimpleSettingsDialog.resx"> |
2464 | + <DependentUpon>SimpleSettingsDialog.cs</DependentUpon> |
2465 | + <SubType>Designer</SubType> |
2466 | + </EmbeddedResource> |
2467 | + <EmbeddedResource Include="StatusBar.resx"> |
2468 | + <DependentUpon>StatusBar.cs</DependentUpon> |
2469 | + <SubType>Designer</SubType> |
2470 | + </EmbeddedResource> |
2471 | + <EmbeddedResource Include="TabbedSettingsDialog.resx"> |
2472 | + <DependentUpon>TabbedSettingsDialog.cs</DependentUpon> |
2473 | + <SubType>Designer</SubType> |
2474 | + </EmbeddedResource> |
2475 | + <EmbeddedResource Include="TestPropertiesDialog.resx"> |
2476 | + <DependentUpon>TestPropertiesDialog.cs</DependentUpon> |
2477 | + </EmbeddedResource> |
2478 | + <EmbeddedResource Include="TestSuiteTreeView.resx"> |
2479 | + <DependentUpon>TestSuiteTreeView.cs</DependentUpon> |
2480 | + <SubType>Designer</SubType> |
2481 | + </EmbeddedResource> |
2482 | + <EmbeddedResource Include="TestTree.resx"> |
2483 | + <DependentUpon>TestTree.cs</DependentUpon> |
2484 | + <SubType>Designer</SubType> |
2485 | + </EmbeddedResource> |
2486 | + <EmbeddedResource Include="TextOutputSettingsPage.resx"> |
2487 | + <DependentUpon>TextOutputSettingsPage.cs</DependentUpon> |
2488 | + <SubType>Designer</SubType> |
2489 | + </EmbeddedResource> |
2490 | + <EmbeddedResource Include="TipWindow.resx"> |
2491 | + <DependentUpon>TipWindow.cs</DependentUpon> |
2492 | + <SubType>Designer</SubType> |
2493 | + </EmbeddedResource> |
2494 | + <EmbeddedResource Include="TreeBasedSettingsDialog.resx"> |
2495 | + <DependentUpon>TreeBasedSettingsDialog.cs</DependentUpon> |
2496 | + <SubType>Designer</SubType> |
2497 | + </EmbeddedResource> |
2498 | + <EmbeddedResource Include="Images\pinned.gif" /> |
2499 | + <EmbeddedResource Include="Images\unpinned.gif" /> |
2500 | + </ItemGroup> |
2501 | + <ItemGroup> |
2502 | + <EmbeddedResource Include="Images\search.png" /> |
2503 | + <Content Include="Images\Tree\Classic\Ignored.jpg"> |
2504 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2505 | + </Content> |
2506 | + <Content Include="Images\Ellipsis.gif" /> |
2507 | + <Content Include="Images\Tree\Circles\Inconclusive.jpg"> |
2508 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2509 | + </Content> |
2510 | + <Content Include="Images\Tree\Circles\Skipped.jpg"> |
2511 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2512 | + </Content> |
2513 | + <Content Include="Images\Tree\Circles\Success.jpg"> |
2514 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2515 | + </Content> |
2516 | + <Content Include="Images\Tree\Circles\Failure.jpg"> |
2517 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2518 | + </Content> |
2519 | + <Content Include="Images\Tree\Circles\Ignored.jpg"> |
2520 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2521 | + </Content> |
2522 | + <Content Include="Images\Tree\Classic\Failure.jpg"> |
2523 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2524 | + </Content> |
2525 | + <Content Include="Images\Tree\Classic\Skipped.jpg"> |
2526 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2527 | + </Content> |
2528 | + <Content Include="Images\Tree\Default\Failure.png"> |
2529 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2530 | + </Content> |
2531 | + <Content Include="Images\Tree\Default\Ignored.png"> |
2532 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2533 | + </Content> |
2534 | + <Content Include="Images\Tree\Classic\Inconclusive.jpg"> |
2535 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2536 | + </Content> |
2537 | + <Content Include="Images\Tree\Default\Inconclusive.png"> |
2538 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2539 | + </Content> |
2540 | + <Content Include="Images\Tree\Default\Skipped.png"> |
2541 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2542 | + </Content> |
2543 | + <Content Include="Images\Tree\Classic\Success.jpg"> |
2544 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2545 | + </Content> |
2546 | + <Content Include="Images\Tree\Default\Success.png"> |
2547 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2548 | + </Content> |
2549 | + </ItemGroup> |
2550 | + <ItemGroup> |
2551 | + <Content Include="Images\Tree\Visual Studio\Failure.png"> |
2552 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2553 | + </Content> |
2554 | + <Content Include="Images\Tree\Visual Studio\Ignored.png"> |
2555 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2556 | + </Content> |
2557 | + <Content Include="Images\Tree\Visual Studio\Inconclusive.png"> |
2558 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2559 | + </Content> |
2560 | + <Content Include="Images\Tree\Visual Studio\Skipped.png"> |
2561 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2562 | + </Content> |
2563 | + <Content Include="Images\Tree\Visual Studio\Success.png"> |
2564 | + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
2565 | + </Content> |
2566 | + <None Include="nunit.uikit.build" /> |
2567 | + </ItemGroup> |
2568 | + <ItemGroup> |
2569 | + <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> |
2570 | + <Visible>False</Visible> |
2571 | + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> |
2572 | + <Install>false</Install> |
2573 | + </BootstrapperPackage> |
2574 | + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> |
2575 | + <Visible>False</Visible> |
2576 | + <ProductName>.NET Framework 3.5 SP1</ProductName> |
2577 | + <Install>true</Install> |
2578 | + </BootstrapperPackage> |
2579 | + <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> |
2580 | + <Visible>False</Visible> |
2581 | + <ProductName>Windows Installer 3.1</ProductName> |
2582 | + <Install>true</Install> |
2583 | + </BootstrapperPackage> |
2584 | + </ItemGroup> |
2585 | + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> |
2586 | + <PropertyGroup> |
2587 | + <PreBuildEvent> |
2588 | + </PreBuildEvent> |
2589 | + <PostBuildEvent> |
2590 | + </PostBuildEvent> |
2591 | + </PropertyGroup> |
2592 | </Project> |
2593 | \ No newline at end of file |
The build fails on my machine with error:
[exec] 1) Test Error : NUnit.UiKit. Tests.TestTreeT ests.SameCatego ryShouldNotBeSe lectedMoreThanO ArgumentExcepti on : Resource 'Images.search.png' cannot be found in class 'NUn
nce
[exec] System.
it.UiKit.TestTree'.
The reason is that although we have .csproj files to use in Visual Studio the build is done with NAnt scripts, so you would need to modify the nunit.uikit.build by including the new image in the patternset node with id resource-files.
After building successfully I can't run tests any longer in the GUI. For instance I open the NUnitTests.nunit project file and leaving aside the new search feature I try hitting the Run button. I get a null reference exception, and pretty much the same for anything else I try to run via the UI, either by right clicking a node or selecting one and clicking the Run button.