mirror of
https://github.com/Microsoft/calculator.git
synced 2025-08-22 22:23:29 -07:00
Merge branch 'master' of https://github.com/microsoft/calculator into Update2008release
This commit is contained in:
commit
916b79c141
24 changed files with 213 additions and 113 deletions
|
@ -6,11 +6,11 @@
|
|||
|
||||
trigger:
|
||||
- master
|
||||
- servicing/*
|
||||
- release/*
|
||||
- feature/*
|
||||
pr:
|
||||
- master
|
||||
- servicing/*
|
||||
- release/*
|
||||
- feature/*
|
||||
|
||||
name: 0.$(Date:yyMM).$(DayOfMonth)$(Rev:rr).0
|
||||
|
|
|
@ -27,7 +27,7 @@ jobs:
|
|||
inputs:
|
||||
command: download
|
||||
downloadDirectory: $(Build.SourcesDirectory)
|
||||
vstsFeed: WindowsApps
|
||||
vstsFeed: WindowsInboxApps
|
||||
vstsFeedPackage: calculator-internals
|
||||
vstsPackageVersion: 0.0.45
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ jobs:
|
|||
inputs:
|
||||
command: download
|
||||
downloadDirectory: $(Build.SourcesDirectory)
|
||||
vstsFeed: WindowsApps
|
||||
vstsFeed: WindowsInboxApps
|
||||
vstsFeedPackage: calculator-internals
|
||||
vstsPackageVersion: 0.0.45
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ namespace CalculatorApp
|
|||
{
|
||||
namespace ViewModel
|
||||
{
|
||||
[Windows::UI::Xaml::Data::Bindable] public ref class HistoryItemViewModel sealed : Windows::UI::Xaml::Data::ICustomPropertyProvider
|
||||
[Windows::UI::Xaml::Data::Bindable] public ref class HistoryItemViewModel sealed
|
||||
{
|
||||
internal :
|
||||
|
||||
|
@ -42,23 +42,6 @@ namespace CalculatorApp
|
|||
property Platform::String
|
||||
^ AccResult { Platform::String ^ get() { return m_accResult; } }
|
||||
|
||||
virtual Windows::UI::Xaml::Data::ICustomProperty
|
||||
^ GetCustomProperty(Platform::String ^ name) { return nullptr; }
|
||||
|
||||
virtual Windows::UI::Xaml::Data::ICustomProperty
|
||||
^ GetIndexedProperty(Platform::String ^ name, Windows::UI::Xaml::Interop::TypeName type) { return nullptr; }
|
||||
|
||||
virtual property Windows::UI::Xaml::Interop::TypeName Type
|
||||
{
|
||||
Windows::UI::Xaml::Interop::TypeName get()
|
||||
{
|
||||
return this->GetType();
|
||||
}
|
||||
}
|
||||
|
||||
virtual Platform::String
|
||||
^ GetStringRepresentation() { return m_accExpression + " " + m_accResult; }
|
||||
|
||||
private : static Platform::String
|
||||
^ GetAccessibleExpressionFromTokens(
|
||||
_In_ std::shared_ptr<std::vector<std::pair<std::wstring, int>>> const& spTokens,
|
||||
|
|
|
@ -14,8 +14,7 @@ namespace CalculatorApp
|
|||
/// <summary>
|
||||
/// Model representation of a single item in the Memory list
|
||||
/// </summary>
|
||||
[Windows::UI::Xaml::Data::Bindable] public ref class MemoryItemViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged,
|
||||
Windows::UI::Xaml::Data::ICustomPropertyProvider
|
||||
[Windows::UI::Xaml::Data::Bindable] public ref class MemoryItemViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged
|
||||
{
|
||||
public:
|
||||
MemoryItemViewModel(StandardCalculatorViewModel ^ calcVM)
|
||||
|
@ -27,23 +26,6 @@ namespace CalculatorApp
|
|||
OBSERVABLE_PROPERTY_RW(int, Position);
|
||||
OBSERVABLE_PROPERTY_RW(Platform::String ^, Value);
|
||||
|
||||
virtual Windows::UI::Xaml::Data::ICustomProperty
|
||||
^ GetCustomProperty(Platform::String ^ name) { return nullptr; }
|
||||
|
||||
virtual Windows::UI::Xaml::Data::ICustomProperty
|
||||
^ GetIndexedProperty(Platform::String ^ name, Windows::UI::Xaml::Interop::TypeName type) { return nullptr; }
|
||||
|
||||
virtual property Windows::UI::Xaml::Interop::TypeName Type
|
||||
{
|
||||
Windows::UI::Xaml::Interop::TypeName get()
|
||||
{
|
||||
return this->GetType();
|
||||
}
|
||||
}
|
||||
|
||||
virtual Platform::String
|
||||
^ GetStringRepresentation() { return Value; }
|
||||
|
||||
void Clear();
|
||||
void MemoryAdd();
|
||||
void MemorySubtract();
|
||||
|
|
|
@ -132,7 +132,7 @@ StandardCalculatorViewModel::StandardCalculatorViewModel()
|
|||
IsOperandEnabled = true;
|
||||
IsNegateEnabled = true;
|
||||
IsDecimalEnabled = true;
|
||||
AreProgrammerRadixOperatorsEnabled = false;
|
||||
AreProgrammerRadixOperatorsVisible = false;
|
||||
}
|
||||
|
||||
String ^ StandardCalculatorViewModel::LocalizeDisplayValue(_In_ wstring const& displayValue)
|
||||
|
|
|
@ -76,7 +76,7 @@ namespace CalculatorApp
|
|||
OBSERVABLE_PROPERTY_R(CalculatorApp::Common::NumberBase, CurrentRadixType);
|
||||
OBSERVABLE_PROPERTY_R(bool, AreTokensUpdated);
|
||||
OBSERVABLE_PROPERTY_R(bool, AreAlwaysOnTopResultsUpdated);
|
||||
OBSERVABLE_PROPERTY_R(bool, AreProgrammerRadixOperatorsEnabled);
|
||||
OBSERVABLE_PROPERTY_R(bool, AreProgrammerRadixOperatorsVisible);
|
||||
OBSERVABLE_PROPERTY_R(bool, IsInputEmpty);
|
||||
OBSERVABLE_PROPERTY_R(CalculatorApp::Common::Automation::NarratorAnnouncement ^, Announcement);
|
||||
OBSERVABLE_PROPERTY_R(unsigned int, OpenParenthesisCount);
|
||||
|
@ -103,7 +103,7 @@ namespace CalculatorApp
|
|||
{
|
||||
m_isBitFlipChecked = value;
|
||||
IsBinaryBitFlippingEnabled = IsProgrammer && m_isBitFlipChecked;
|
||||
AreProgrammerRadixOperatorsEnabled = IsProgrammer && !m_isBitFlipChecked;
|
||||
AreProgrammerRadixOperatorsVisible = IsProgrammer && !m_isBitFlipChecked;
|
||||
RaisePropertyChanged(L"IsBitFlipChecked");
|
||||
}
|
||||
}
|
||||
|
@ -178,7 +178,7 @@ namespace CalculatorApp
|
|||
IsBitFlipChecked = false;
|
||||
}
|
||||
IsBinaryBitFlippingEnabled = m_isProgrammer && IsBitFlipChecked;
|
||||
AreProgrammerRadixOperatorsEnabled = m_isProgrammer && !IsBitFlipChecked;
|
||||
AreProgrammerRadixOperatorsVisible = m_isProgrammer && !IsBitFlipChecked;
|
||||
if (value)
|
||||
{
|
||||
IsStandard = false;
|
||||
|
|
|
@ -135,7 +135,7 @@
|
|||
</ImportGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/bigobj /await /std:c++17 /utf-8</AdditionalOptions>
|
||||
<AdditionalOptions>/bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>4453;28204</DisableSpecificWarnings>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\src\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
|
@ -144,7 +144,7 @@
|
|||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/bigobj /await /std:c++17 /utf-8</AdditionalOptions>
|
||||
<AdditionalOptions>/bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>4453;28204</DisableSpecificWarnings>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\src\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
|
@ -177,7 +177,7 @@
|
|||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/bigobj /await /std:c++17 /utf-8</AdditionalOptions>
|
||||
<AdditionalOptions>/bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>4453;28204</DisableSpecificWarnings>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\src\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
|
@ -198,7 +198,7 @@
|
|||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/bigobj /await /std:c++17 /utf-8</AdditionalOptions>
|
||||
<AdditionalOptions>/bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>4453;28204</DisableSpecificWarnings>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)..\src\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
|
|
|
@ -346,13 +346,13 @@
|
|||
<Flyout x:Name="BitShiftFlyout"
|
||||
Windows10version1809:AreOpenCloseAnimationsEnabled="False"
|
||||
FlyoutPresenterStyle="{ThemeResource OperatorPanelFlyoutStyle}"
|
||||
Placement="Bottom">
|
||||
Placement="Bottom"
|
||||
Opened="BitShiftFlyout_Opened">
|
||||
<StackPanel MaxWidth="192" Padding="12">
|
||||
<RadioButton x:Name="ArithmeticShiftButton"
|
||||
x:Uid="arithmeticShiftButton"
|
||||
AutomationProperties.AutomationId="arithmeticShiftButton"
|
||||
Checked="BitshiftFlyout_Checked"
|
||||
IsChecked="True"/>
|
||||
Checked="BitshiftFlyout_Checked"/>
|
||||
<RadioButton x:Name="LogicalShiftButton"
|
||||
x:Uid="logicalShiftButton"
|
||||
AutomationProperties.AutomationId="logicalShiftButton"
|
||||
|
|
|
@ -47,10 +47,31 @@ void CalculatorProgrammerRadixOperators::FlyoutButton_Clicked(_In_ Platform::Obj
|
|||
|
||||
void CalculatorProgrammerRadixOperators::checkDefaultBitShift()
|
||||
{
|
||||
this->ArithmeticShiftButton->IsChecked = true;
|
||||
LoadDeferredLoadButtons();
|
||||
|
||||
if (IsButtonLoaded())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e)
|
||||
CollapseBitshiftButtons();
|
||||
|
||||
m_selectedShiftButtonMode = BitShiftMode::Arithmetic;
|
||||
LshButton->Visibility = ::Visibility::Visible;
|
||||
RshButton->Visibility = ::Visibility::Visible;
|
||||
LshButton->IsEnabled = true;
|
||||
RshButton->IsEnabled = true;
|
||||
}
|
||||
|
||||
bool CalculatorApp::CalculatorProgrammerRadixOperators::IsButtonLoaded()
|
||||
{
|
||||
// Since arithmeticShiftButton defaults to IsChecked = true, this event an fire before we can load the deferred loaded controls. If that is the case, just
|
||||
// return and do nothing.
|
||||
return RolButton == nullptr || RorButton == nullptr || RolCarryButton == nullptr || RorCarryButton == nullptr || LshLogicalButton == nullptr
|
||||
|| RshLogicalButton == nullptr;
|
||||
}
|
||||
|
||||
void CalculatorApp::CalculatorProgrammerRadixOperators::LoadDeferredLoadButtons()
|
||||
{
|
||||
// Load deferred load buttons
|
||||
if (RolButton == nullptr)
|
||||
|
@ -62,11 +83,14 @@ void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object
|
|||
FindName("LshLogicalButton");
|
||||
FindName("RshLogicalButton");
|
||||
}
|
||||
}
|
||||
|
||||
// Since arithmeticShiftButton defaults to IsChecked = true, this event an fire before we can load the deferred loaded controls. If that is the case, just
|
||||
// return and do nothing.
|
||||
if (RolButton == nullptr || RorButton == nullptr || RolCarryButton == nullptr || RorCarryButton == nullptr || LshLogicalButton == nullptr
|
||||
|| RshLogicalButton == nullptr)
|
||||
void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e)
|
||||
{
|
||||
// Load deferred load buttons
|
||||
LoadDeferredLoadButtons();
|
||||
|
||||
if (IsButtonLoaded())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -75,6 +99,7 @@ void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object
|
|||
|
||||
auto radioButton = static_cast<RadioButton ^>(sender);
|
||||
Platform::String ^ announcementString = L"";
|
||||
BitShiftMode selectedButtonMode = m_selectedShiftButtonMode;
|
||||
|
||||
if (radioButton == ArithmeticShiftButton)
|
||||
{
|
||||
|
@ -83,6 +108,7 @@ void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object
|
|||
LshButton->IsEnabled = true;
|
||||
RshButton->IsEnabled = true;
|
||||
announcementString = m_arithmeticShiftButtonContent;
|
||||
selectedButtonMode = BitShiftMode::Arithmetic;
|
||||
}
|
||||
else if (radioButton == LogicalShiftButton)
|
||||
{
|
||||
|
@ -91,6 +117,7 @@ void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object
|
|||
LshLogicalButton->IsEnabled = true;
|
||||
RshLogicalButton->IsEnabled = true;
|
||||
announcementString = m_logicalShiftButtonContent;
|
||||
selectedButtonMode = BitShiftMode::LogicalShift;
|
||||
}
|
||||
else if (radioButton == RotateCircularButton)
|
||||
{
|
||||
|
@ -99,6 +126,7 @@ void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object
|
|||
RolButton->IsEnabled = true;
|
||||
RorButton->IsEnabled = true;
|
||||
announcementString = m_rotateCircularButtonContent;
|
||||
selectedButtonMode = BitShiftMode::RotateCircular;
|
||||
}
|
||||
else if (radioButton == RotateCarryShiftButton)
|
||||
{
|
||||
|
@ -107,9 +135,15 @@ void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object
|
|||
RolCarryButton->IsEnabled = true;
|
||||
RorCarryButton->IsEnabled = true;
|
||||
announcementString = m_rotateCarryShiftButtonContent;
|
||||
selectedButtonMode = BitShiftMode::RotateCarry;
|
||||
}
|
||||
|
||||
if (selectedButtonMode != m_selectedShiftButtonMode)
|
||||
{
|
||||
this->BitShiftFlyout->Hide();
|
||||
m_selectedShiftButtonMode = selectedButtonMode;
|
||||
}
|
||||
|
||||
Model->SetBitshiftRadioButtonCheckedAnnouncement(announcementString);
|
||||
}
|
||||
|
||||
|
@ -176,3 +210,23 @@ void CalculatorProgrammerRadixOperators::ClearButton_LostFocus(Object ^ sender,
|
|||
ClearEntryButton->Focus(::FocusState::Programmatic);
|
||||
}
|
||||
}
|
||||
|
||||
void CalculatorApp::CalculatorProgrammerRadixOperators::BitShiftFlyout_Opened(Platform::Object ^ sender, Platform::Object ^ e)
|
||||
{
|
||||
if (m_selectedShiftButtonMode == BitShiftMode::Arithmetic)
|
||||
{
|
||||
ArithmeticShiftButton->IsChecked = true;
|
||||
}
|
||||
else if (m_selectedShiftButtonMode == BitShiftMode::LogicalShift)
|
||||
{
|
||||
LogicalShiftButton->IsChecked = true;
|
||||
}
|
||||
else if (m_selectedShiftButtonMode == BitShiftMode::RotateCircular)
|
||||
{
|
||||
RotateCircularButton->IsChecked = true;
|
||||
}
|
||||
else if (m_selectedShiftButtonMode == BitShiftMode::RotateCarry)
|
||||
{
|
||||
RotateCarryShiftButton->IsChecked = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,19 +29,30 @@ namespace CalculatorApp
|
|||
Platform::String ^ ParenthesisCountToString(unsigned int count);
|
||||
|
||||
DEPENDENCY_PROPERTY_OWNER(CalculatorProgrammerRadixOperators);
|
||||
|
||||
void checkDefaultBitShift();
|
||||
|
||||
private:
|
||||
enum class BitShiftMode
|
||||
{
|
||||
Arithmetic,
|
||||
LogicalShift,
|
||||
RotateCircular,
|
||||
RotateCarry
|
||||
};
|
||||
|
||||
void BitshiftFlyout_Checked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
|
||||
void FlyoutButton_Clicked(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::RoutedEventArgs ^ e);
|
||||
void CollapseBitshiftButtons();
|
||||
void LoadResourceStrings();
|
||||
void LoadDeferredLoadButtons();
|
||||
bool IsButtonLoaded();
|
||||
|
||||
bool m_isErrorVisualState;
|
||||
void OpenParenthesisButton_GotFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
|
||||
void ClearEntryButton_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
|
||||
void ClearButton_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
|
||||
void BitShiftFlyout_Opened(Platform::Object ^ sender, Platform::Object ^ e);
|
||||
BitShiftMode m_selectedShiftButtonMode;
|
||||
Platform::String ^ m_arithmeticShiftButtonContent;
|
||||
Platform::String ^ m_logicalShiftButtonContent;
|
||||
Platform::String ^ m_rotateCircularButtonContent;
|
||||
|
|
|
@ -63,6 +63,7 @@
|
|||
Margin="0,0,0,4"
|
||||
HorizontalAlignment="Right"
|
||||
Style="{ThemeResource BodyTextBlockMediumStyle}"
|
||||
AutomationProperties.AutomationId="HistoryItemExpression"
|
||||
AutomationProperties.Name="{x:Bind AccExpression}"
|
||||
IsTextSelectionEnabled="True"
|
||||
Text="{x:Bind Expression}"
|
||||
|
@ -72,6 +73,7 @@
|
|||
HorizontalAlignment="Right"
|
||||
Style="{ThemeResource TitleTextBlockStyle}"
|
||||
FontWeight="SemiBold"
|
||||
AutomationProperties.AutomationId="HistoryItemValue"
|
||||
AutomationProperties.Name="{x:Bind AccResult}"
|
||||
IsTextSelectionEnabled="True"
|
||||
Text="{x:Bind Result}"
|
||||
|
|
|
@ -142,6 +142,7 @@
|
|||
AutomationProperties.AutomationId="NormalAlwaysOnTopButton"
|
||||
Click="AlwaysOnTopButtonClick"
|
||||
Content=""
|
||||
TabIndex="3"
|
||||
Visibility="{x:Bind Model.DisplayNormalAlwaysOnTopOption, Mode=OneWay}">
|
||||
<Button.KeyboardAccelerators>
|
||||
<KeyboardAccelerator Key="Up" Modifiers="Menu"/>
|
||||
|
|
|
@ -54,6 +54,7 @@
|
|||
HorizontalAlignment="Right"
|
||||
Style="{ThemeResource TitleTextBlockStyle}"
|
||||
FontWeight="SemiBold"
|
||||
AutomationProperties.AutomationId="MemoryItemValue"
|
||||
FlowDirection="LeftToRight"
|
||||
IsTextSelectionEnabled="True"
|
||||
Text="{x:Bind Model.Value, Mode=OneWay}"
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
|
||||
<local:CalculatorProgrammerRadixOperators x:Name="ProgrammerRadixOperators"
|
||||
TabIndex="16"
|
||||
Visibility="{x:Bind Model.AreProgrammerRadixOperatorsEnabled, Mode=OneWay}"
|
||||
IsEnabled="{x:Bind Model.AreProgrammerRadixOperatorsEnabled, Mode=OneWay}"
|
||||
Visibility="{x:Bind Model.AreProgrammerRadixOperatorsVisible, Mode=OneWay}"
|
||||
IsEnabled="{x:Bind Model.IsProgrammer, Mode=OneWay}"
|
||||
x:Load="False"/>
|
||||
|
||||
</Grid>
|
||||
|
|
|
@ -72,11 +72,8 @@ void OperatorsPanel::EnsureProgrammerRadixOps()
|
|||
this->FindName(L"ProgrammerRadixOperators");
|
||||
}
|
||||
|
||||
if (ProgrammerRadixOperators)
|
||||
{
|
||||
ProgrammerRadixOperators->checkDefaultBitShift();
|
||||
}
|
||||
}
|
||||
|
||||
void OperatorsPanel::EnsureProgrammerBitFlipPanel()
|
||||
{
|
||||
|
|
29
src/CalculatorUITestFramework/HistoryItem.cs
Normal file
29
src/CalculatorUITestFramework/HistoryItem.cs
Normal file
|
@ -0,0 +1,29 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
using OpenQA.Selenium.Appium;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace CalculatorUITestFramework
|
||||
{
|
||||
public class HistoryItem
|
||||
{
|
||||
public AppiumWebElement Item { get; }
|
||||
|
||||
public HistoryItem(AppiumWebElement item)
|
||||
{
|
||||
Item = item;
|
||||
}
|
||||
|
||||
public string GetValue()
|
||||
{
|
||||
return Item.FindElementByAccessibilityId("HistoryItemValue")?.Text;
|
||||
}
|
||||
public string GetExpression()
|
||||
{
|
||||
return Item.FindElementByAccessibilityId("HistoryItemExpression")?.Text;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -5,8 +5,10 @@ using OpenQA.Selenium;
|
|||
using OpenQA.Selenium.Appium;
|
||||
using OpenQA.Selenium.Appium.Windows;
|
||||
using OpenQA.Selenium.Interactions;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
|
||||
namespace CalculatorUITestFramework
|
||||
{
|
||||
|
@ -34,10 +36,10 @@ namespace CalculatorUITestFramework
|
|||
/// Gets all of the history items listed in the History Pane.
|
||||
/// </summary>
|
||||
/// <returns>A readonly collection of history items.</returns>
|
||||
public ReadOnlyCollection<AppiumWebElement> GetAllHistoryListViewItems()
|
||||
public List<HistoryItem> GetAllHistoryListViewItems()
|
||||
{
|
||||
OpenHistoryPanel();
|
||||
return this.HistoryListView.FindElementsByClassName("ListViewItem");
|
||||
return (from item in this.HistoryListView.FindElementsByClassName("ListViewItem") select new HistoryItem(item)).ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -92,10 +94,10 @@ namespace CalculatorUITestFramework
|
|||
/// Gets all of the History items listed in the History Flyout.
|
||||
/// </summary>
|
||||
/// <returns> A read only collection of History items.</returns>
|
||||
public ReadOnlyCollection<AppiumWebElement> GetAllHistoryFlyoutListViewItems()
|
||||
public List<HistoryItem> GetAllHistoryFlyoutListViewItems()
|
||||
{
|
||||
OpenHistoryFlyout();
|
||||
return this.HistoryListView.FindElementsByClassName("ListViewItem");
|
||||
return (from item in this.HistoryListView.FindElementsByClassName("ListViewItem") select new HistoryItem(item)).ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
25
src/CalculatorUITestFramework/MemoryItem.cs
Normal file
25
src/CalculatorUITestFramework/MemoryItem.cs
Normal file
|
@ -0,0 +1,25 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
using OpenQA.Selenium.Appium;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace CalculatorUITestFramework
|
||||
{
|
||||
public class MemoryItem
|
||||
{
|
||||
public AppiumWebElement Item { get; }
|
||||
|
||||
public MemoryItem(AppiumWebElement item)
|
||||
{
|
||||
Item = item;
|
||||
}
|
||||
|
||||
public string GetValue()
|
||||
{
|
||||
return Item.FindElementByAccessibilityId("MemoryItemValue")?.Text;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -6,8 +6,10 @@ using OpenQA.Selenium;
|
|||
using OpenQA.Selenium.Appium;
|
||||
using OpenQA.Selenium.Appium.Windows;
|
||||
using OpenQA.Selenium.Interactions;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
|
||||
namespace CalculatorUITestFramework
|
||||
{
|
||||
|
@ -43,10 +45,10 @@ namespace CalculatorUITestFramework
|
|||
/// Gets all of the memory items listed in the Memory Pane.
|
||||
/// </summary>
|
||||
/// <returns>A read-only collection of memory items.</returns>
|
||||
public ReadOnlyCollection<AppiumWebElement> GetAllMemoryListViewItems()
|
||||
public List<MemoryItem> GetAllMemoryListViewItems()
|
||||
{
|
||||
OpenMemoryPanel();
|
||||
return this.MemoryListView.FindElementsByClassName("ListViewItem");
|
||||
return (from item in this.MemoryListView.FindElementsByClassName("ListViewItem") select new MemoryItem(item)).ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -119,10 +121,10 @@ namespace CalculatorUITestFramework
|
|||
/// Gets all of the memory items listed in the Memory Flyout.
|
||||
/// </summary>
|
||||
/// <returns> A read only collection of memory items.</returns>
|
||||
public ReadOnlyCollection<AppiumWebElement> GetAllMemoryFlyoutListViewItems()
|
||||
public List<MemoryItem> GetAllMemoryFlyoutListViewItems()
|
||||
{
|
||||
OpenMemoryFlyout();
|
||||
return this.MemoryListView.FindElementsByClassName("ListViewItem");
|
||||
return (from item in this.MemoryListView.FindElementsByClassName("ListViewItem") select new MemoryItem(item)).ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -88,20 +88,22 @@ namespace CalculatorUITests
|
|||
page.StandardOperators.EqualButton.Click();
|
||||
|
||||
var historyItems = page.HistoryPanel.GetAllHistoryListViewItems();
|
||||
Assert.IsTrue(historyItems[0].Text.Equals("2 Minus ( 3= Minus (1", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[1].Text.Equals("-3 + -2.6= Minus (5.6", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[0].GetValue().Equals("-1", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[0].GetExpression().Equals("2 - 3 =", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[1].GetValue().Equals("-5.6", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[1].GetExpression().Equals("-3 + -2.6 =", StringComparison.InvariantCultureIgnoreCase));
|
||||
|
||||
Assert.AreEqual("-1", page.CalculatorResults.GetCalculatorResultText());
|
||||
|
||||
Actions clickHistoryItemsw1 = new Actions(WinAppDriver.Instance.CalculatorSession);
|
||||
clickHistoryItemsw1.Click(historyItems[1]);
|
||||
clickHistoryItemsw1.Click(historyItems[1].Item);
|
||||
clickHistoryItemsw1.Perform();
|
||||
|
||||
Assert.AreEqual("-5.6", page.CalculatorResults.GetCalculatorResultText());
|
||||
Assert.AreEqual("-3 + -2.6=", page.CalculatorResults.GetCalculatorExpressionText());
|
||||
|
||||
Actions clickHistoryItemsw0 = new Actions(WinAppDriver.Instance.CalculatorSession);
|
||||
clickHistoryItemsw0.Click(historyItems[0]);
|
||||
clickHistoryItemsw0.Click(historyItems[0].Item);
|
||||
clickHistoryItemsw0.Perform();
|
||||
|
||||
Assert.AreEqual("-1", page.CalculatorResults.GetCalculatorResultText());
|
||||
|
@ -131,14 +133,18 @@ namespace CalculatorUITests
|
|||
page.StandardOperators.EqualButton.Click();
|
||||
|
||||
var historyPanelItems = page.HistoryPanel.GetAllHistoryListViewItems();
|
||||
Assert.IsTrue(historyPanelItems[0].Text.Equals("2 Minus ( 3= Minus (1", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyPanelItems[1].Text.Equals("-3 + -2.6= Minus (5.6", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyPanelItems[0].GetValue().Equals("-1", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyPanelItems[0].GetExpression().Equals("2 - 3 =", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyPanelItems[1].GetValue().Equals("-5.6", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyPanelItems[1].GetExpression().Equals("-3 + -2.6 =", StringComparison.InvariantCultureIgnoreCase));
|
||||
|
||||
Assert.AreEqual("-1", page.CalculatorResults.GetCalculatorResultText());
|
||||
|
||||
var historyItems = page.HistoryPanel.GetAllHistoryFlyoutListViewItems();
|
||||
Assert.IsTrue(historyItems[0].Text.Equals("2 Minus ( 3= Minus (1", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[1].Text.Equals("-3 + -2.6= Minus (5.6", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[0].GetValue().Equals("-1", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[0].GetExpression().Equals("2 - 3 =", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[1].GetValue().Equals("-5.6", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[1].GetExpression().Equals("-3 + -2.6 =", StringComparison.InvariantCultureIgnoreCase));
|
||||
|
||||
Assert.AreEqual("-1", page.CalculatorResults.GetCalculatorResultText());
|
||||
|
||||
|
|
|
@ -77,20 +77,20 @@ namespace CalculatorUITests
|
|||
|
||||
Actions moveToListView = new Actions(WinAppDriver.Instance.CalculatorSession);
|
||||
var memoryItems = page.MemoryPanel.GetAllMemoryListViewItems();
|
||||
moveToListView.MoveToElement(memoryItems[0]);
|
||||
moveToListView.ContextClick(memoryItems[0]);
|
||||
moveToListView.MoveToElement(memoryItems[0].Item);
|
||||
moveToListView.ContextClick(memoryItems[0].Item);
|
||||
moveToListView.Perform();
|
||||
CalculatorApp.Window.SendKeys(Keys.ArrowDown + Keys.ArrowDown + Keys.Enter);
|
||||
Assert.IsTrue(memoryItems[0].Text.Equals("0", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(memoryItems[0].GetValue().Equals("0", StringComparison.InvariantCultureIgnoreCase));
|
||||
|
||||
moveToListView.Perform();
|
||||
CalculatorApp.Window.SendKeys(Keys.ArrowUp + Keys.ArrowUp + Keys.Enter);
|
||||
Assert.IsTrue(memoryItems[0].Text.Equals("3", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(memoryItems[0].GetValue().Equals("3", StringComparison.InvariantCultureIgnoreCase));
|
||||
|
||||
moveToListView.Perform();
|
||||
CalculatorApp.Window.SendKeys(Keys.ArrowDown + Keys.ArrowUp + Keys.Enter);
|
||||
var memoryItems2 = page.MemoryPanel.GetAllMemoryListViewItems();
|
||||
Assert.IsTrue(memoryItems2[0].Text.Equals("3", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(memoryItems2[0].GetValue().Equals("3", StringComparison.InvariantCultureIgnoreCase));
|
||||
|
||||
page.MemoryPanel.PanelClearMemoryButton.Click();
|
||||
Assert.IsNotNull(WinAppDriver.Instance.CalculatorSession.FindElementByAccessibilityId("MemoryPaneEmpty"));
|
||||
|
@ -108,22 +108,22 @@ namespace CalculatorUITests
|
|||
page.MemoryPanel.OpenMemoryFlyout();
|
||||
var memoryItems = page.MemoryPanel.GetAllMemoryFlyoutListViewItems();
|
||||
Actions moveToListView = new Actions(WinAppDriver.Instance.CalculatorSession);
|
||||
moveToListView.MoveToElement(memoryItems[0]);
|
||||
moveToListView.ContextClick(memoryItems[0]);
|
||||
moveToListView.MoveToElement(memoryItems[0].Item);
|
||||
moveToListView.ContextClick(memoryItems[0].Item);
|
||||
moveToListView.Perform();
|
||||
CalculatorApp.Window.SendKeys(Keys.ArrowDown + Keys.ArrowDown + Keys.Enter);
|
||||
Assert.IsTrue(memoryItems[0].Text.Equals("0", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(memoryItems[0].GetValue().Equals("0", StringComparison.InvariantCultureIgnoreCase));
|
||||
|
||||
page.MemoryPanel.OpenMemoryFlyout();
|
||||
moveToListView.Perform();
|
||||
CalculatorApp.Window.SendKeys(Keys.ArrowUp + Keys.ArrowUp + Keys.Enter);
|
||||
Assert.IsTrue(memoryItems[0].Text.Equals("3", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(memoryItems[0].GetValue().Equals("3", StringComparison.InvariantCultureIgnoreCase));
|
||||
|
||||
page.MemoryPanel.OpenMemoryFlyout();
|
||||
moveToListView.Perform();
|
||||
CalculatorApp.Window.SendKeys(Keys.ArrowDown + Keys.ArrowUp + Keys.Enter);
|
||||
var memoryItems2 = page.MemoryPanel.GetAllMemoryListViewItems();
|
||||
Assert.IsTrue(memoryItems2[0].Text.Equals("3", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(memoryItems2[0].GetValue().Equals("3", StringComparison.InvariantCultureIgnoreCase));
|
||||
|
||||
page.MemoryPanel.OpenMemoryFlyout();
|
||||
page.MemoryPanel.PanelClearMemoryButton.Click();
|
||||
|
|
|
@ -171,10 +171,12 @@ namespace CalculatorUITests
|
|||
page.HistoryPanel.ResizeWindowToDisplayHistoryButton();
|
||||
page.HistoryPanel.HistoryButton.Click();
|
||||
var historyFlyoutItems = page.HistoryPanel.GetAllHistoryFlyoutListViewItems();
|
||||
Assert.IsTrue(historyFlyoutItems[0].Text.Equals("4 × 5 ÷ 6= 3.333333333333333", StringComparison.InvariantCultureIgnoreCase)); //verifies History button
|
||||
Assert.IsTrue(historyFlyoutItems[0].GetValue().Equals("3.333333333333333", StringComparison.InvariantCultureIgnoreCase)); //verifies History button
|
||||
Assert.IsTrue(historyFlyoutItems[0].GetExpression().Equals("4 × 5 ÷ 6 =", StringComparison.InvariantCultureIgnoreCase)); //verifies History button
|
||||
page.HistoryPanel.ResizeWindowToDisplayHistoryLabel();
|
||||
var historyItems = page.HistoryPanel.GetAllHistoryListViewItems();
|
||||
Assert.IsTrue(historyItems[0].Text.Equals("4 × 5 ÷ 6= 3.333333333333333", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[0].GetValue().Equals("3.333333333333333", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[0].GetExpression().Equals("4 × 5 ÷ 6 =", StringComparison.InvariantCultureIgnoreCase));
|
||||
page.HistoryPanel.ClearHistoryButton.Click();
|
||||
Assert.IsNotNull(WinAppDriver.Instance.CalculatorSession.FindElementByAccessibilityId("HistoryEmpty")); //verifies the History panel's clear history button
|
||||
}
|
||||
|
@ -187,16 +189,16 @@ namespace CalculatorUITests
|
|||
page.StandardOperators.NumberPad.Num1Button.Click();
|
||||
page.MemoryPanel.NumberpadMSButton.Click();
|
||||
var memoryItems = page.MemoryPanel.GetAllMemoryListViewItems();
|
||||
Assert.IsTrue(memoryItems[0].Text.Equals("1", StringComparison.InvariantCultureIgnoreCase)); //verifies memory button
|
||||
Assert.IsTrue(memoryItems[0].GetValue().Equals("1", StringComparison.InvariantCultureIgnoreCase)); //verifies memory button
|
||||
page.MemoryPanel.NumberpadMPlusButton.Click();
|
||||
Assert.IsTrue(memoryItems[0].Text.Equals("2", StringComparison.InvariantCultureIgnoreCase)); //verifies memory plus button
|
||||
Assert.IsTrue(memoryItems[0].GetValue().Equals("2", StringComparison.InvariantCultureIgnoreCase)); //verifies memory plus button
|
||||
page.MemoryPanel.NumberpadMRButton.Click();
|
||||
Assert.AreEqual("2", page.CalculatorResults.GetCalculatorResultText()); //verifies memory recall button
|
||||
page.StandardOperators.MinusButton.Click();
|
||||
page.StandardOperators.NumberPad.Num1Button.Click();
|
||||
page.StandardOperators.EqualButton.Click();
|
||||
page.MemoryPanel.NumberpadMMinusButton.Click();
|
||||
Assert.IsTrue(memoryItems[0].Text.Equals("1", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(memoryItems[0].GetValue().Equals("1", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.AreEqual("1", page.CalculatorResults.GetCalculatorResultText()); //verifies MemMinus button
|
||||
page.MemoryPanel.NumberpadMCButton.Click();
|
||||
Assert.IsNotNull(WinAppDriver.Instance.CalculatorSession.FindElementByAccessibilityId("MemoryPaneEmpty")); //verifies the Memory panel's memory clear button
|
||||
|
@ -344,9 +346,9 @@ namespace CalculatorUITests
|
|||
CalculatorApp.Window.SendKeys("1");
|
||||
CalculatorApp.Window.SendKeys(Keys.Control + "m" + Keys.Control);
|
||||
var memoryItems = page.MemoryPanel.GetAllMemoryListViewItems();
|
||||
Assert.IsTrue(memoryItems[0].Text.Equals("1", StringComparison.InvariantCultureIgnoreCase)); //verifies memory hotkey
|
||||
Assert.IsTrue(memoryItems[0].GetValue().Equals("1", StringComparison.InvariantCultureIgnoreCase)); //verifies memory hotkey
|
||||
CalculatorApp.Window.SendKeys(Keys.Control + "p" + Keys.Control);
|
||||
Assert.IsTrue(memoryItems[0].Text.Equals("2", StringComparison.InvariantCultureIgnoreCase)); //verifies memory plus hotkey
|
||||
Assert.IsTrue(memoryItems[0].GetValue().Equals("2", StringComparison.InvariantCultureIgnoreCase)); //verifies memory plus hotkey
|
||||
CalculatorApp.Window.SendKeys(Keys.Control + "r" + Keys.Control);
|
||||
Assert.AreEqual("2", page.CalculatorResults.GetCalculatorResultText()); //verifies memory recall hotkey
|
||||
CalculatorApp.Window.SendKeys(Keys.Subtract);
|
||||
|
@ -354,7 +356,7 @@ namespace CalculatorUITests
|
|||
CalculatorApp.Window.SendKeys(Keys.Equal);
|
||||
CalculatorApp.Window.SendKeys(Keys.Subtract);
|
||||
CalculatorApp.Window.SendKeys(Keys.Control + "q" + Keys.Control);
|
||||
Assert.IsTrue(memoryItems[0].Text.Equals("1", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(memoryItems[0].GetValue().Equals("1", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.AreEqual("1", page.CalculatorResults.GetCalculatorResultText()); //verifies MemMinus hotkey
|
||||
CalculatorApp.Window.SendKeys(Keys.Control + "l" + Keys.Control);
|
||||
Assert.IsNotNull(WinAppDriver.Instance.CalculatorSession.FindElementByAccessibilityId("MemoryPaneEmpty")); //verifies the Memory panel's memory clear button hotkey
|
||||
|
@ -536,8 +538,10 @@ namespace CalculatorUITests
|
|||
CalculatorApp.Window.SendKeys(Keys.Equal);
|
||||
Assert.AreEqual("0", page.CalculatorResults.GetCalculatorResultText());
|
||||
var historyItems = page.HistoryPanel.GetAllHistoryListViewItems();
|
||||
Assert.IsTrue(historyItems[0].Text.Equals("0= 0", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[1].Text.Equals("0= 0", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[0].GetValue().Equals("0", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[0].GetExpression().Equals("0 =", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[1].GetValue().Equals("0", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[1].GetExpression().Equals("0 =", StringComparison.InvariantCultureIgnoreCase));
|
||||
CalculatorApp.Window.SendKeys(Keys.Escape);
|
||||
}
|
||||
|
||||
|
@ -670,7 +674,8 @@ namespace CalculatorUITests
|
|||
{
|
||||
page.StandardAoTCalculatorPage.NavigateToStandardMode();
|
||||
var historyItems = page.HistoryPanel.GetAllHistoryListViewItems();
|
||||
Assert.IsTrue(historyItems[0].Text.Equals("3 + 3= 6", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[0].GetValue().Equals("6", StringComparison.InvariantCultureIgnoreCase));
|
||||
Assert.IsTrue(historyItems[0].GetExpression().Equals("3 + 3 =", StringComparison.InvariantCultureIgnoreCase));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -168,7 +168,7 @@
|
|||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
||||
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalOptions>/bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
|
@ -183,7 +183,7 @@
|
|||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
||||
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalOptions>/bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
|
@ -198,7 +198,7 @@
|
|||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
||||
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalOptions>/bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
|
@ -213,7 +213,7 @@
|
|||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
||||
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalOptions>/bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
|
@ -228,7 +228,7 @@
|
|||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
||||
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalOptions>/bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
|
@ -243,7 +243,7 @@
|
|||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
||||
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalOptions>/bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
|
@ -258,7 +258,7 @@
|
|||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
||||
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalOptions>/bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue