about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSiegeLord <slabode@aim.com>2014-08-26 22:03:39 -0400
committerSiegeLord <slabode@aim.com>2014-08-26 22:03:39 -0400
commit0db6f4cb57e6209dcd6e6d66732c190b652f6485 (patch)
tree46aa82ee1582d283db48c1d6816da1aff08b3072
parentbcb07175ceca3e9a4b2644625bb510fa3f3d7368 (diff)
downloadrust-0db6f4cb57e6209dcd6e6d66732c190b652f6485.tar.gz
rust-0db6f4cb57e6209dcd6e6d66732c190b652f6485.zip
Add a simple test for rustdoc search index contents
-rw-r--r--src/test/run-make/rustdoc-search-index/Makefile17
-rw-r--r--src/test/run-make/rustdoc-search-index/index.rs29
-rwxr-xr-xsrc/test/run-make/rustdoc-search-index/verify.sh33
3 files changed, 79 insertions, 0 deletions
diff --git a/src/test/run-make/rustdoc-search-index/Makefile b/src/test/run-make/rustdoc-search-index/Makefile
new file mode 100644
index 00000000000..1248f144a84
--- /dev/null
+++ b/src/test/run-make/rustdoc-search-index/Makefile
@@ -0,0 +1,17 @@
+-include ../tools.mk
+
+# FIXME ignore windows
+ifndef IS_WINDOWS
+
+source=index.rs
+
+all:
+	$(HOST_RPATH_ENV) $(RUSTDOC) -w html -o $(TMPDIR)/doc $(source)
+	cp $(source) $(TMPDIR)
+	cp verify.sh $(TMPDIR)
+	$(call RUN,verify.sh) $(TMPDIR)
+
+else
+all:
+
+endif
diff --git a/src/test/run-make/rustdoc-search-index/index.rs b/src/test/run-make/rustdoc-search-index/index.rs
new file mode 100644
index 00000000000..019d77f1b1c
--- /dev/null
+++ b/src/test/run-make/rustdoc-search-index/index.rs
@@ -0,0 +1,29 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_name = "rustdoc_test"]
+
+// In: Foo
+pub use private::Foo;
+
+mod private {
+    pub struct Foo;
+    impl Foo {
+        // In: test_method
+        pub fn test_method() {}
+        // Out: priv_method
+        fn priv_method() {}
+    }
+
+    pub trait PrivateTrait {
+        // Out: priv_method
+        fn trait_method() {}
+    }
+}
diff --git a/src/test/run-make/rustdoc-search-index/verify.sh b/src/test/run-make/rustdoc-search-index/verify.sh
new file mode 100755
index 00000000000..af5033adf6b
--- /dev/null
+++ b/src/test/run-make/rustdoc-search-index/verify.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+source="$1/index.rs"
+index="$1/doc/search-index.js"
+
+if ! [ -e $index ]
+then
+    echo "Could not find the search index (looked for $index)"
+    exit 1
+fi
+
+ins=$(grep -o 'In: .*' $source | sed 's/In: \(.*\)/\1/g')
+outs=$(grep -o 'Out: .*' $source | sed 's/Out: \(.*\)/\1/g')
+
+for p in $ins
+do
+    if ! grep -q $p $index
+    then
+        echo "'$p' was erroneously excluded from search index."
+        exit 1
+    fi
+done
+
+for p in $outs
+do
+    if grep -q $p $index
+    then
+        echo "'$p' was erroneously included in search index."
+        exit 1
+    fi
+done
+
+exit 0