// ĠCopyright Ġ 2 0 0 0 - 2 0 1 8 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġorg . editor config . language Ċ Ċ import Ġcom . intellij . test Framework . Platform TestUtil . assert Tree Equal Ċ import Ġcom . intellij . test Framework . Platform TestUtil . expand All Ċ import Ġcom . intellij . test Framework . fixtures . Light Code Insight Fixture TestCase Ċ Ċ class ĠEditor Config Structure View Test Ġ: ĠLight Code Insight Fixture TestCase () Ġ{ ĊĠ Ġoverride Ġfun Ġget BasePath () Ġ= ĊĠĠĠ Ġ"/ plugins / editor config / testData / org / editor config / language / structure view /" ĊĊĠ Ġfun Ġdo Test ( expected : ĠString ) Ġ{ ĊĠĠĠ Ġmy Fixture . configure By File ( getTest Name ( true ) Ġ+ Ġ"/ . editor config ") ĊĠĠĠ Ġmy Fixture . test Structure View Ġ{ Ġsvc Ġ-> ĊĠĠĠĠĠ Ġexpand All ( svc . tree ) ĊĠĠĠĠĠ Ġassert Tree Equal ( svc . tree , Ġexpected ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĊĠ Ġfun Ġtest Single Section () Ġ{ ĊĠĠĠ Ġval Ġexpected Ġ= ĊĠĠĠĠĠ Ġ""" -. editor config ĊĠĠĠĠĠĠĠ Ġ| Ġ- [ foo ] ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġkey """. trim Margin () ĊĠĠĠ Ġdo Test ( expected ) ĊĠ Ġ} ĊĊĠ Ġfun Ġtest Root Declaration () Ġ{ ĊĠĠĠ Ġval Ġexpected Ġ= ĊĠĠĠĠĠ Ġ""" -. editor config ĊĠĠĠĠĠĠĠ Ġ| Ġroot Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ| Ġ- [ foo ] ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġkey ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġanother _ key """. trim Margin () ĊĠĠĠ Ġdo Test ( expected ) ĊĠ Ġ} ĊĊĠ Ġfun Ġtest Qualified Keys () Ġ{ ĊĠĠĠ Ġval Ġexpected Ġ= ĊĠĠĠĠĠ Ġ""" -. editor config ĊĠĠĠĠĠĠĠ Ġ| Ġ- [ foo ] ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġhello . world . one ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġcharset ĊĠĠĠĠĠĠĠ Ġ| """. trim Margin () ĊĠĠĠ Ġdo Test ( expected ) ĊĠ Ġ} ĊĊĠ Ġfun Ġtest Real World Example () Ġ{ ĊĠĠĠ Ġval Ġexpected Ġ= ĊĠĠĠĠĠ Ġ""" -. editor config ĊĠĠĠĠĠĠĠ Ġ| Ġroot Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ| Ġ- [* ] ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġindent _ style ĊĠĠĠĠĠĠĠ Ġ| Ġ- [ *. { cs , cs x , vb , vb x }] ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġindent _ size ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġinsert _ final _ newline ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġcharset ĊĠĠĠĠĠĠĠ Ġ| Ġ- [ *. { csproj , vb proj , vc x proj , vc x proj . filters , proj , proj items , sh proj }] ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġindent _ size ĊĠĠĠĠĠĠĠ Ġ| Ġ- [ *. { props , targets , rule set , config , nus pec , res x , vs ix manifest , vs ct }] ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġindent _ size ĊĠĠĠĠĠĠĠ Ġ| Ġ- [ *. json ] ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġindent _ size ĊĠĠĠĠĠĠĠ Ġ| Ġ- [ *. { cs , vb }] ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġdotnet _ sort _ system _ directives _ first ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġdotnet _ style _ qual ification _ for _ field ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġdotnet _ style _ qual ification _ for _ property ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġdotnet _ style _ qual ification _ for _ method ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġdotnet _ style _ qual ification _ for _ event ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġdotnet _ style _ pre defined _ type _ for _ locals _ parameters _ members ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġdotnet _ style _ pre defined _ type _ for _ member _ access ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġdotnet _ style _ object _ initializer ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġdotnet _ style _ collection _ initializer ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġdotnet _ style _ co alesce _ expression ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġdotnet _ style _ null _ propagation ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġdotnet _ style _ explicit _ tuple _ names ĊĠĠĠĠĠĠĠ Ġ| Ġ- [ *. cs ] ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ indent _ block _ contents ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ indent _ br aces ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ indent _ case _ contents ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ indent _ switch _ labels ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ indent _ labels ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ style _ var _ for _ built _ in _ types ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ style _ var _ when _ type _ is _ app arent ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ style _ var _ else where ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ style _ expression _ bod ied _ methods ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ style _ expression _ bod ied _ construct ors ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ style _ expression _ bod ied _ operators ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ style _ expression _ bod ied _ properties ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ style _ expression _ bod ied _ index ers ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ style _ expression _ bod ied _ access ors ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ style _ pattern _ matching _ over _ is _ with _ cast _ check ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ style _ pattern _ matching _ over _ as _ with _ null _ check ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ style _ in lined _ variable _ declaration ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ style _ throw _ expression ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ style _ conditional _ delegate _ call ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ new _ line _ before _ open _ brace ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ new _ line _ before _ else ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ new _ line _ before _ catch ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ new _ line _ before _ finally ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ new _ line _ before _ members _ in _ object _ initial izers ĊĠĠĠĠĠĠĠ Ġ| Ġ Ġc sharp _ new _ line _ before _ members _ in _ anonymous _ types """. trim Margin () ĊĠĠĠ Ġdo Test ( expected ) ĊĠ Ġ} Ċ } Ċ