Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge release/dev17.0 to main #55027

Merged
merged 4 commits into from
Jul 21, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,7 @@ public InheritanceMargin(
_textView = textView;
InitializeComponent();

// ZoomLevel of textView is percentage based. (e.g. 20 -> 400 means 20% -> 400%)
// and the scaleFactor of CrispImage is 1 based. (e.g 1 means 100%)
var scaleFactor = textView.ZoomLevel;
var viewModel = InheritanceMarginViewModel.Create(classificationTypeMap, classificationFormatMap, tag, scaleFactor);
var viewModel = InheritanceMarginViewModel.Create(classificationTypeMap, classificationFormatMap, tag, textView.ZoomLevel);
DataContext = viewModel;
ContextMenu.DataContext = viewModel;
ToolTip = new ToolTip { Content = viewModel.ToolTipTextBlock, Style = (Style)FindResource("ToolTipStyle") };
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,13 @@ public static InheritanceMarginViewModel Create(
ClassificationTypeMap classificationTypeMap,
IClassificationFormatMap classificationFormatMap,
InheritanceMarginTag tag,
double scaleFactor)
double zoomLevel)
{
var members = tag.MembersOnLine;

// ZoomLevel is 100 based. (e.g. 150%, 100%)
// ScaleFactor is 1 based. (e.g. 1.5, 1)
var scaleFactor = zoomLevel / 100;
if (members.Length == 1)
{
var member = tag.MembersOnLine[0];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,31 +71,33 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.InheritanceMargin
Assert.True(acutalLineToTagDictionary.ContainsKey(lineNumber))

Dim acutalTag = acutalLineToTagDictionary(lineNumber)
' Editor TestView zoom level is 100 based.
Dim actualViewModel = InheritanceMarginViewModel.Create(
classificationTypeMap, classificationFormatMap.GetClassificationFormatMap("tooltip"), acutalTag, 1)
classificationTypeMap, classificationFormatMap.GetClassificationFormatMap("tooltip"), acutalTag, 100)

VerifyTwoViewModelAreSame(expectedViewModel, actualViewModel)
Next

End Using
End Function

Private Shared Sub VerifyTwoViewModelAreSame(expected As InheritanceMarginViewModel, acutal As InheritanceMarginViewModel)
Assert.Equal(expected.ImageMoniker, acutal.ImageMoniker)
Dim actualTextGetFromTextBlock = acutal.ToolTipTextBlock.Inlines _
Private Shared Sub VerifyTwoViewModelAreSame(expected As InheritanceMarginViewModel, actual As InheritanceMarginViewModel)
Assert.Equal(expected.ImageMoniker, actual.ImageMoniker)
Dim actualTextGetFromTextBlock = actual.ToolTipTextBlock.Inlines _
.OfType(Of Run).Select(Function(run) run.Text) _
.Aggregate(Function(text1, text2) text1 + text2)
' When the text block is created, a unicode 'left to right' would be inserted between the space.
' Make sure it is removed.
Dim leftToRightMarker = Char.ConvertFromUtf32(&H200E)
Dim actualText = actualTextGetFromTextBlock.Replace(leftToRightMarker, String.Empty)
Assert.Equal(expected.ToolTipTextBlock.Text, actualText)
Assert.Equal(expected.AutomationName, acutal.AutomationName)
Assert.Equal(expected.MenuItemViewModels.Length, acutal.MenuItemViewModels.Length)
Assert.Equal(expected.AutomationName, actual.AutomationName)
Assert.Equal(expected.MenuItemViewModels.Length, actual.MenuItemViewModels.Length)
Assert.Equal(expected.ScaleFactor, actual.ScaleFactor)

For i = 0 To expected.MenuItemViewModels.Length - 1
Dim expectedMenuItem = expected.MenuItemViewModels(i)
Dim actualMenuItem = acutal.MenuItemViewModels(i)
Dim actualMenuItem = actual.MenuItemViewModels(i)
VerifyMenuItem(expectedMenuItem, actualMenuItem)
Next

Expand Down