about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-10-29 01:21:43 -0700
committerBrian Anderson <banderson@mozilla.com>2011-10-29 01:40:20 -0700
commite0f44730e8dc75c17dc86fcb48769d62a4dbcaae (patch)
treef11e4626c0fad600fe133c0a2551c1d23ff17d8e /src/test
parent2cebef095e61608a3d35710cb5fd3d7de18b68ac (diff)
rustc: Support 'companion mod's for crates and directory mods
Under this scheme when parsing foo.rc the parser will also look for
foo.rs to fill in the crate-level module, and when evaluating a
directory module directive it will look for a .rs file with the
same name as the directory.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-pass/companionmod-src/b.rs2
-rw-r--r--src/test/run-pass/companionmod-src/b/x.rs1
-rw-r--r--src/test/run-pass/companionmod-src/d.rs2
-rw-r--r--src/test/run-pass/companionmod-src/d/x.rs1
-rw-r--r--src/test/run-pass/companionmod.rc10
-rw-r--r--src/test/run-pass/companionmod.rs7
6 files changed, 23 insertions, 0 deletions
diff --git a/src/test/run-pass/companionmod-src/b.rs b/src/test/run-pass/companionmod-src/b.rs
new file mode 100644
index 00000000000..e867ff713cd
--- /dev/null
+++ b/src/test/run-pass/companionmod-src/b.rs
@@ -0,0 +1,2 @@
+import g = x::f;
+export g;
\ No newline at end of file
diff --git a/src/test/run-pass/companionmod-src/b/x.rs b/src/test/run-pass/companionmod-src/b/x.rs
new file mode 100644
index 00000000000..413b834fb11
--- /dev/null
+++ b/src/test/run-pass/companionmod-src/b/x.rs
@@ -0,0 +1 @@
+fn f() -> str { "ralph" }
\ No newline at end of file
diff --git a/src/test/run-pass/companionmod-src/d.rs b/src/test/run-pass/companionmod-src/d.rs
new file mode 100644
index 00000000000..e867ff713cd
--- /dev/null
+++ b/src/test/run-pass/companionmod-src/d.rs
@@ -0,0 +1,2 @@
+import g = x::f;
+export g;
\ No newline at end of file
diff --git a/src/test/run-pass/companionmod-src/d/x.rs b/src/test/run-pass/companionmod-src/d/x.rs
new file mode 100644
index 00000000000..94f006f9a1f
--- /dev/null
+++ b/src/test/run-pass/companionmod-src/d/x.rs
@@ -0,0 +1 @@
+fn f() -> str { "nelson" }
\ No newline at end of file
diff --git a/src/test/run-pass/companionmod.rc b/src/test/run-pass/companionmod.rc
new file mode 100644
index 00000000000..405e5efc846
--- /dev/null
+++ b/src/test/run-pass/companionmod.rc
@@ -0,0 +1,10 @@
+// Test that crates and directory modules can contain code
+
+mod a = "companionmod-src" {
+    mod b {
+        mod x;
+    }
+    mod c = "d" {
+        mod x;
+    }
+}
\ No newline at end of file
diff --git a/src/test/run-pass/companionmod.rs b/src/test/run-pass/companionmod.rs
new file mode 100644
index 00000000000..9b9d1a00f0f
--- /dev/null
+++ b/src/test/run-pass/companionmod.rs
@@ -0,0 +1,7 @@
+// This isn't really xfailed; it's used by the companionmod.rc test
+// xfail-test
+
+fn main() {
+    assert a::b::g() == "ralph";
+    assert a::c::g() == "nelson";
+}
\ No newline at end of file