Skip to content

Commit 9867c09

Browse files
committed
Add additional test for nested AutoOpen module in a namespace.
1 parent d8d86c0 commit 9867c09

3 files changed

Lines changed: 56 additions & 1 deletion

File tree

tests/ParallelTypeCheckingTests/Code/DependencyResolution.fs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
module ParallelTypeCheckingTests.DependencyResolution
22

3-
open System.Linq
43
open FSharp.Compiler.Syntax
54
open ParallelTypeCheckingTests
65

tests/ParallelTypeCheckingTests/Tests/Scenarios.fs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,31 @@ module Library
520520
521521
open X.Y
522522
523+
let fn (a: A) = ()
524+
"""
525+
(set [| 0 |])
526+
]
527+
scenario
528+
"Nested AutoOpen module in namespace is accessed via namespace open"
529+
[
530+
sourceFile
531+
"Z.fs"
532+
"""
533+
namespace X.Y
534+
535+
[<AutoOpen>]
536+
module Z =
537+
538+
type A = { A: int }
539+
"""
540+
Set.empty
541+
sourceFile
542+
"Library.fs"
543+
"""
544+
module Library
545+
546+
open X.Y
547+
523548
let fn (a: A) = ()
524549
"""
525550
(set [| 0 |])

tests/ParallelTypeCheckingTests/Tests/TrieMappingTests.fs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,3 +246,34 @@ type A = { A : int }
246246
Assert.AreEqual(set [| 0 |], yNode.Files)
247247
let zNode = yNode.Children.["Z"]
248248
Assert.AreEqual(set [| 0 |], zNode.Files)
249+
250+
[<Test>]
251+
let ``Nested AutoOpen module in namespace will expose the file to the namespace node`` () =
252+
let trie =
253+
TrieMapping.mkTrie
254+
[|
255+
{
256+
Idx = 0
257+
File = "Z.fs"
258+
AST =
259+
parseSourceCode (
260+
"Z.fs",
261+
"""
262+
namespace X.Y
263+
264+
[<AutoOpen>]
265+
module Z =
266+
267+
type A = { A: int }
268+
"""
269+
)
270+
}
271+
|]
272+
273+
Assert.AreEqual(Set.empty, trie.Files)
274+
let xNode = trie.Children.["X"]
275+
Assert.AreEqual(Set.empty, xNode.Files)
276+
let yNode = xNode.Children.["Y"]
277+
Assert.AreEqual(set [| 0 |], yNode.Files)
278+
let zNode = yNode.Children.["Z"]
279+
Assert.AreEqual(set [| 0 |], zNode.Files)

0 commit comments

Comments
 (0)