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

Test local functions #8352

Closed
DustinCampbell opened this issue Feb 2, 2016 · 3 comments
Closed

Test local functions #8352

DustinCampbell opened this issue Feb 2, 2016 · 3 comments
Assignees
Labels
Area-IDE Test Test failures in roslyn-CI Urgency-Soon

Comments

@DustinCampbell
Copy link
Member

No description provided.

@DustinCampbell DustinCampbell added Area-IDE Test Test failures in roslyn-CI Urgency-Soon labels Feb 2, 2016
@DustinCampbell DustinCampbell added this to the 1.2 milestone Feb 4, 2016
@DustinCampbell DustinCampbell modified the milestones: 1.2, 2.0 Feb 4, 2016
@balajikris
Copy link
Member

@balajikris
Copy link
Member

Testing tags

✅ = Tested & Approved (possibly with linked bugs)
❌ = Merge blocking
🚧 = Non-blocking bugs
🆗 = Issue has been fixed
🆓 = No expected impact
❓ = Open question
❔ = Answered question

1 Feature updated by compiler team, with appropriate unit tests.
2 Feature requires more complete testing by IDE team. (?)

Internal Dogfooding Requirements (Merge Signoff)

Critical IDE features in the areas of Typing, Navigating, and Viewing must function as expected. Any non-trivial issues in these areas blocking language feature merging.
All feature descriptions and testing suggestions are merely examples. Each language feature should be carefully considered independently against each IDE feature to find interesting intersections

Category Feature/Description C# Signoff/Notes VB Signoff/Notes
Enable/Disable Feature Flag
Completely enables/disables the feature in the compiler & IDE
Typing General Typing
- Type and paste new constructs
- Nothing interferes with verbatim typing
Completion
- Typing new keyword/construct names
- Dotting off of new constructs
✅ 8617, 8616
Formatting
- Spacing in and around new constructs
- Spacing options
- Format Document command
Automatic Brace Completion (C# only)
- Auto-insert close brace
- Shift+Enter commit of pending brace completion
Indentation
- Typing Enter in an unfinished statement indents the next line
Navigating Go To Definition
- F12 from callsites to definition
Go To Implementation
- Jump from virtual members to their implementations
- Jump from inheritable types to their implementations
Find All References
- Lists references to a symbol in "Find Symbol Results" window
- Shows results in hierarchy grouped by definition
Viewing Colorization
- Keywords, literals, and identifiers colored appropriately in code
Error Squiggles
- Squiggles appear as expected on reasonable spans
todo: file bugs bad squiggles with unsupported modifiers

IDE Features (Feature Signoff)

For the remaining set of IDE features, only crashes and asserts are considered blocking. However, all issues discovered must be filed and linked here.
All feature descriptions and testing suggestions are merely examples. Each language feature should be carefully considered independently against each IDE feature to find interesting intersections

Code Transformations

Category Feature/Description C# Signoff/Notes VB Signoff/Notes
Refactoring with UI Inline Rename (with UI)
- Dashboard shows correct information
- Highlighted spans are updated appropriately
- Rename operation updates the correct set of symbols
Change Signature (with UI)
- Updates all direct & cascaded definitions/callsites
- Shows appropriate signature & parameter previews in UI
Extract Interface (with UI)
- Generated Interface has expected shape
- UI shows appropriate method previews
🆓
Generate Type (with UI)
- Dialog gives all valid options
🆓
Refactorings Rename Tracking
- Tracking span tracks & dismisses as expected
Extract Method
- Extracted method has the expected signature
- All arguments/return values handled correctly
- Extracted code block is reasonable
Introduce Variable
- Introduced variable has the expected signature and initializer expression
- "Introduce for All" correctly finds dupes
Inline Temporary Variable
- Inlined values are appropriately expanded/reduced
Organize Usings
- Honors "Place 'System' namespace first" option
Convert "Get" Methods to Properties*
Add Description
Encapsulate Field
Add Description
Fixes Add Using
- Triggers on appropriate constructs
Generate Local
Add Description
Generate Field
Add Description
Generate Method/Constructor
- Generated method has the expected signature and accessibility
Generate Constructor from members
- Select fields/properties to generate a constructor accepting corresponding arguments
- Generated constructor has the expected signature and accessibility
Implement Interface
- Only missing methods added
- All added methods have the expected signature and accessibility
Implement IDisposable
Add Description
Implement Abstract Class
Add Description
Code Gen Snippets
Add Description
Event Hookup on Tab (C# only)
- Type "+=" after an event name and QuickInfo shows
- Invoking should pick good name & launch Inline Rename
N/A
End Construct Generation (VB only)
Add Description
N/A
Automatic End Construct Update (VB only)
Add Description
N/A

IDE Features

Feature/Description C# Signoff/Notes VB Signoff/Notes
Signature Help
- Overloads shown with appropriate, colorized signature
Quick Info
- Hover on identifiers
- On completion list items
Outlining
Add Description
Brace Matching (C# only)
Add Description
N/A
Highlight References
Add Description
Peek
Add Description
Navigation Bars
Add Description
Metadata As Source
Add Description
Navigate To
Add Description
Go to Next/Previous Method
Add Description
Solution Explorer Pivots
Add Description
Call Hierarchy
Add Description
Code Lens
Add Description
Project System
Add Description
Debugger IntelliSense
Add Description
Code Model / Class Designer
Add Description
Object Browser / Class View
Add Description
Lightbulb
Add Description
Line Separators
Add Description
Options
Add Description

Project System & External Integration

(Any changes to the runtime will require much more testing in this category)
All feature descriptions and testing suggestions are merely examples. Each language feature should be carefully considered independently against each IDE feature to find interesting intersections

Category Integration Signoff/Notes
Projection Buffers Razor
- Verify expression and block contexts
- Test on projection boundaries
- Emphasis on rename and formatting
Venus
- Verify expression and block contexts
- Test on projection boundaries
- Emphasis on rename and formatting
Designers WPF
- Event generation from designer to code
- Designer consumption of new types of members
- Cross language features (GTD, FAR)
WinForms
Add Description
Project System Interactions .NET Core "Console Application (Package)"
Add Description
Linked Files (all flavors)
Add Description

Interaction with other new language features

Verify IDE handling of the new language feature in conjunction with other new/unreleased language features

Feature C# Signoff/Notes VB Signoff/Notes
<New Language Feature 1>
<New Language Feature 2>

New Feature Suggestions

What refactorings, fixes, code transformations, or other in-editor experiences would enhance this language feature?

Feature Name Description
? ?

@balajikris balajikris modified the milestones: 2.0 (RC), 2.0 (Preview) Mar 9, 2016
@balajikris
Copy link
Member

Initial testing done for 2.0 (Preview). Want to do some work post-preview in determining New feature suggestions. Moving to 2.0 (RC)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-IDE Test Test failures in roslyn-CI Urgency-Soon
Projects
None yet
Development

No branches or pull requests

2 participants