anchor.diff:  
   #load "__setup__.fsx"
   #endif
  -"""
  -
  +
  +"""
  +
  +[<Test>]
  +let ``should keep compiler directives 2``() =
  +    formatSourceString false """
  +#if INTERACTIVE
  +#else
  +#load "../FSharpx.TypeProviders/SetupTesting.fsx"
  +SetupTesting.generateSetupScript __SOURCE_DIRECTORY__
  +#load "__setup__.fsx"
  +#endif
  +"""  config
  +    |> should equal """
  +#if INTERACTIVE
  +#else
  +#load "../FSharpx.TypeProviders/SetupTesting.fsx"
  +SetupTesting.generateSetupScript __SOURCE_DIRECTORY__
  +#load "__setup__.fsx"
  +#endif
  +
  +"""
   [<Test>]
   let ``line, file and path identifiers``() =
       formatSourceString false """
  
positive.code:     |> should equal """
  let x = 1
  #if SILVERLIGHT
  
  let useHiddenInitCode = false
  #else
  let useHiddenInitCode = true
  
negative.code:     |> should equal """
  [<Literal>]
  let private assemblyConfig() =
  #if TRACE 
      let x = ""
  #else
      let x = "x"
  #endif
      
      x
  """
  
  [<Test>]
  let ``should break line after single directive``() =
      formatSourceString false """
  #nowarn "47"
  namespace Internal.Utilities.Text.Lexing"""  config
      |> prepend newline
      |> should equal """
  #nowarn "47"
  
  namespace Internal.Utilities.Text.Lexing
  
  """
  
  [<Test>]
  let ``should handle endif directives with no newline``() =
      formatSourceString false """
  namespace Internal.Utilities.Diagnostic
  
  #if EXTENSIBLE_DUMPER
  #if DEBUG
  
  type ExtensibleDumper = A | B
  
  #endif  
  #endif"""  config
      |> prepend newline
      |> should equal """
  namespace Internal.Utilities.Diagnostic
  #if EXTENSIBLE_DUMPER
  #if DEBUG
  type ExtensibleDumper = A | B
  #endif
  
  #endif
  
  
  """
  