Browse Source
- added unit tests - code clean up - improved CC for: * Trigger * EventTrigger * MultiTrigger * Setter, EventSetter git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@4583 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts
17 changed files with 487 additions and 205 deletions
@ -0,0 +1,45 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="Siegfried Pammer" email="sie_pam@gmx.at"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
using ICSharpCode.SharpDevelop.Dom; |
||||||
|
using System; |
||||||
|
using NUnit.Framework; |
||||||
|
|
||||||
|
namespace ICSharpCode.XamlBinding.Tests |
||||||
|
{ |
||||||
|
[TestFixture] |
||||||
|
public class DependencyPropertiesTests : TextEditorBasedTests |
||||||
|
{ |
||||||
|
//[Test]
|
||||||
|
public void NormalDependencyPropertiesTest() |
||||||
|
{ |
||||||
|
string fileContent = @"<Window x:Class='XamlTest.Window1'
|
||||||
|
xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'
|
||||||
|
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
|
||||||
|
Title='XamlTest' Height='300' Width='300'> |
||||||
|
<Grid> |
||||||
|
<Button /> |
||||||
|
</Grid> |
||||||
|
</Window>";
|
||||||
|
|
||||||
|
int line = 6; |
||||||
|
int column = 11; |
||||||
|
|
||||||
|
MockTextEditor textEditor = CreateTextEditor(fileContent, line, column); |
||||||
|
XamlCompletionContext context = CompletionDataHelper.ResolveCompletionContext(textEditor, ' '); |
||||||
|
|
||||||
|
var cu = context.ParseInformation.BestCompilationUnit as XamlCompilationUnit; |
||||||
|
|
||||||
|
if (cu == null) |
||||||
|
Assert.Fail("cu invalid"); |
||||||
|
|
||||||
|
string xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"; |
||||||
|
|
||||||
|
IReturnType type = cu.CreateType(xmlns, "Grid"); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,28 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="Siegfried Pammer" email="sie_pam@gmx.at"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
using ICSharpCode.SharpDevelop.Dom; |
||||||
|
using System; |
||||||
|
using NUnit.Framework; |
||||||
|
|
||||||
|
namespace ICSharpCode.XamlBinding.Tests |
||||||
|
{ |
||||||
|
public class TextEditorBasedTests |
||||||
|
{ |
||||||
|
protected MockTextEditor CreateTextEditor(string fileContent, int line, int column) |
||||||
|
{ |
||||||
|
MockTextEditor textEditor = new MockTextEditor(); |
||||||
|
|
||||||
|
textEditor.Document.Text = fileContent; |
||||||
|
textEditor.Caret.Line = line; |
||||||
|
textEditor.Caret.Column = column; |
||||||
|
textEditor.CreateParseInformation(); |
||||||
|
|
||||||
|
return textEditor; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -1,47 +1,38 @@ |
|||||||
<gui:OptionPanel x:Class="ICSharpCode.XamlBinding.Options.CodeCompletion" |
<gui:OptionPanel x:Class="ICSharpCode.XamlBinding.Options.CodeCompletion" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:gui="clr-namespace:ICSharpCode.SharpDevelop.Gui;assembly=ICSharpCode.SharpDevelop" xmlns:addin="clr-namespace:ICSharpCode.XamlBinding" xmlns:sd="http://icsharpcode.net/sharpdevelop/core" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> |
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
<StackPanel> |
||||||
xmlns:gui="clr-namespace:ICSharpCode.SharpDevelop.Gui;assembly=ICSharpCode.SharpDevelop" |
<GroupBox Header="{sd:Localize AddIns.XamlBinding.Options.CodeCompletionGroupLabel}"> |
||||||
xmlns:addin="clr-namespace:ICSharpCode.XamlBinding" |
<StackPanel> |
||||||
xmlns:sd="http://icsharpcode.net/sharpdevelop/core" |
<CheckBox Content="{sd:Localize AddIns.XamlBinding.Options.UseExtensionCompletion}" IsChecked="{sd:OptionBinding addin:XamlBindingOptions.UseExtensionCompletion}" /> |
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> |
<CheckBox Content="{sd:Localize AddIns.XamlBinding.Options.SwitchToCodeViewAfterInsertion}" IsChecked="{sd:OptionBinding addin:XamlBindingOptions.SwitchToCodeViewAfterInsertion}" /> |
||||||
<gui:OptionPanel.Resources> |
<DockPanel> |
||||||
<Style x:Key="ColorComboBox" TargetType="ComboBox"> |
<Label Content="{sd:Localize AddIns.XamlBinding.Options.EventHandlerNamePattern}" /> |
||||||
<Setter Property="ItemTemplate"> |
<TextBox Text="{sd:OptionBinding addin:XamlBindingOptions.EventHandlerNamePattern}" /> |
||||||
<Setter.Value> |
</DockPanel> |
||||||
<DataTemplate> |
</StackPanel> |
||||||
<StackPanel Orientation="Horizontal"> |
</GroupBox> |
||||||
<Rectangle Fill="{Binding}" Width="14" Height="14" Margin="2" SnapsToDevicePixels="True" Stroke="Black" /> |
<GroupBox Header="{sd:Localize AddIns.XamlBinding.Options.HighlightingGroupLabel}"> |
||||||
<TextBlock Text="{Binding}" Margin="5,0" /> |
<Grid> |
||||||
</StackPanel> |
<Grid.RowDefinitions> |
||||||
</DataTemplate> |
<RowDefinition Height="*" /> |
||||||
</Setter.Value> |
<RowDefinition Height="*" /> |
||||||
</Setter> |
<RowDefinition Height="*" /> |
||||||
<Setter Property="ItemsSource" Value="{x:Static addin:XamlBindingOptions.Colors}" /> |
<RowDefinition Height="*" /> |
||||||
</Style> |
<RowDefinition Height="*" /> |
||||||
</gui:OptionPanel.Resources> |
</Grid.RowDefinitions> |
||||||
<StackPanel> |
<Grid.ColumnDefinitions> |
||||||
<GroupBox Header="{sd:Localize AddIns.XamlBinding.Options.CodeCompletionGroupLabel}"> |
<ColumnDefinition Width="*" /> |
||||||
<StackPanel> |
<ColumnDefinition Width="Auto" /> |
||||||
<CheckBox Content="{sd:Localize AddIns.XamlBinding.Options.UseExtensionCompletion}" |
</Grid.ColumnDefinitions> |
||||||
IsChecked="{sd:OptionBinding addin:XamlBindingOptions.UseExtensionCompletion}" /> |
<Label Grid.Row="1" DockPanel.Dock="Left" Content="{sd:Localize AddIns.XamlBinding.Options.PropertyColor}" Grid.Column="0" /> |
||||||
<CheckBox Content="{sd:Localize AddIns.XamlBinding.Options.SwitchToCodeViewAfterInsertion}" |
<Label Grid.Row="2" DockPanel.Dock="Left" Content="{sd:Localize AddIns.XamlBinding.Options.EventColor}" Grid.Column="0" /> |
||||||
IsChecked="{sd:OptionBinding addin:XamlBindingOptions.SwitchToCodeViewAfterInsertion}" /> |
<Label Grid.Row="3" DockPanel.Dock="Left" Content="{sd:Localize AddIns.XamlBinding.Options.NamespaceDeclarationColor}" Grid.Column="0" /> |
||||||
<DockPanel> |
<Label Grid.Row="4" DockPanel.Dock="Left" Content="{sd:Localize AddIns.XamlBinding.Options.IngoredElementColor}" Grid.Column="0" /> |
||||||
<Label Content="{sd:Localize AddIns.XamlBinding.Options.EventHandlerNamePattern}" /> |
<Button Grid.Row="1" Background="{sd:OptionBinding addin:XamlBindingOptions.PropertyForegroundBrush}" Content="{sd:OptionBinding addin:XamlBindingOptions.PropertyForegroundBrush}" Foreground="WhiteSmoke" Click="ButtonClick" Grid.Column="1" /> |
||||||
<TextBox Text="{sd:OptionBinding addin:XamlBindingOptions.EventHandlerNamePattern}" /> |
<TextBlock Grid.ColumnSpan="1" Margin="3" Text="{sd:Localize AddIns.XamlBinding.Options.HighlightingDescription}" Grid.Column="0" Grid.Row="0" /> |
||||||
</DockPanel> |
<Button Grid.Row="2" Background="{sd:OptionBinding addin:XamlBindingOptions.EventForegroundBrush}" Content="{sd:OptionBinding addin:XamlBindingOptions.EventForegroundBrush}" Foreground="WhiteSmoke" Click="ButtonClick" Grid.Column="1" /> |
||||||
</StackPanel> |
<Button Grid.Row="3" Background="{sd:OptionBinding addin:XamlBindingOptions.NamespaceDeclarationForegroundBrush}" Content="{sd:OptionBinding addin:XamlBindingOptions.NamespaceDeclarationForegroundBrush}" Foreground="WhiteSmoke" Click="ButtonClick" Grid.Column="1" /> |
||||||
</GroupBox> |
<Button Grid.Row="4" Background="{sd:OptionBinding addin:XamlBindingOptions.IgnoredForegroundBrush}" Content="{sd:OptionBinding addin:XamlBindingOptions.IgnoredForegroundBrush}" Foreground="WhiteSmoke" Click="ButtonClick" Grid.Column="1" /> |
||||||
<GroupBox Header="{sd:Localize AddIns.XamlBinding.Options.HighlightingGroupLabel}"> |
</Grid> |
||||||
<StackPanel> |
</GroupBox> |
||||||
<TextBlock Margin="3" Text="{sd:Localize AddIns.XamlBinding.Options.HighlightingDescription}" /> |
</StackPanel> |
||||||
<DockPanel> |
|
||||||
<Label Content="{sd:Localize AddIns.XamlBinding.Options.PropertyColor}" /> |
|
||||||
<ComboBox x:Name="cmbPropertyColor" |
|
||||||
SelectedValue="{sd:OptionBinding addin:XamlBindingOptions.PropertyForegroundBrush}" |
|
||||||
Style="{StaticResource ColorComboBox}" /> |
|
||||||
</DockPanel> |
|
||||||
</StackPanel> |
|
||||||
</GroupBox> |
|
||||||
</StackPanel> |
|
||||||
</gui:OptionPanel> |
</gui:OptionPanel> |
||||||
@ -1,10 +1,12 @@ |
|||||||
// <file>
|
// <file>
|
||||||
// <copyright see="prj:///doc/copyright.txt"/>
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
// <license see="prj:///doc/license.txt"/>
|
// <license see="prj:///doc/license.txt"/>
|
||||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
// <owner name="Siegfried Pammer" email="siegfriedpammer@gmail.com"/>
|
||||||
// <version>$Revision: 2564 $</version>
|
// <version>$Revision: 2564 $</version>
|
||||||
// </file>
|
// </file>
|
||||||
|
|
||||||
using System.Reflection; |
using System.Reflection; |
||||||
|
using System.Runtime.CompilerServices; |
||||||
|
|
||||||
[assembly: AssemblyDescription("Provides XAML integration in code-completion")] |
[assembly: AssemblyDescription("Provides XAML integration in code-completion")] |
||||||
|
[assembly: InternalsVisibleTo("XamlBinding.Tests")] |
||||||
Loading…
Reference in new issue