summaryrefslogtreecommitdiff
path: root/rust-mode-tests.el
diff options
context:
space:
mode:
authorFelix S Klock II <pnkfelix@pnkfx.org>2015-02-06 13:04:59 +0100
committerFelix S Klock II <pnkfelix@pnkfx.org>2015-02-06 13:04:59 +0100
commitec81a95287a69bb36d1535a972e5afb46948247d (patch)
tree49f7924bc7335d3799c9d97530badd4989b9ac7f /rust-mode-tests.el
parent351cc916938f13a354f2ffe471bda8eb30765fa3 (diff)
parent55e7483d507b8ff88e7f84685ab83a10ac754856 (diff)
downloadrust-mode-ec81a95287a69bb36d1535a972e5afb46948247d.tar.gz
Merge pull request #22 from nikomatsakis/align-method-chain
Fix aligning of method chains (more-or-less), add various unit tests, and add matching angle brackets.
Diffstat (limited to 'rust-mode-tests.el')
-rw-r--r--rust-mode-tests.el86
1 files changed, 86 insertions, 0 deletions
diff --git a/rust-mode-tests.el b/rust-mode-tests.el
index 3ef4cb6..a0e27b0 100644
--- a/rust-mode-tests.el
+++ b/rust-mode-tests.el
@@ -922,3 +922,89 @@ list of substrings of `STR' each followed by its face."
"main" font-lock-function-name-face
"let" font-lock-keyword-face
"'\\''" font-lock-string-face)))
+
+(ert-deftest indent-method-chains-no-align ()
+ (let ((rust-indent-method-chain nil)) (test-indent
+ "
+fn main() {
+ let x = thing.do_it()
+ .aligned()
+ .more_alignment();
+}
+"
+ )))
+
+(ert-deftest indent-method-chains-with-align ()
+ (let ((rust-indent-method-chain t)) (test-indent
+ "
+fn main() {
+ let x = thing.do_it()
+ .aligned()
+ .more_alignment();
+}
+"
+ )))
+
+(ert-deftest indent-method-chains-with-align-and-second-stmt ()
+ (let ((rust-indent-method-chain t)) (test-indent
+ "
+fn main() {
+ let x = thing.do_it()
+ .aligned()
+ .more_alignment();
+ foo.bar();
+}
+"
+ )))
+
+(ert-deftest indent-method-chains-field ()
+ (let ((rust-indent-method-chain t)) (test-indent
+ "
+fn main() {
+ let x = thing.do_it
+ .aligned
+ .more_alignment();
+}
+"
+ )))
+
+(ert-deftest indent-method-chains-double-field-on-first-line ()
+ (let ((rust-indent-method-chain t)) (test-indent
+ "
+fn main() {
+ let x = thing.a.do_it
+ .aligned
+ .more_alignment();
+}
+"
+ )))
+
+(ert-deftest indent-method-chains-no-let ()
+ (let ((rust-indent-method-chain t)) (test-indent
+ "
+fn main() {
+ thing.a.do_it
+ .aligned
+ .more_alignment();
+}
+"
+ )))
+
+(ert-deftest indent-method-chains-comment ()
+ (let ((rust-indent-method-chain t)) (test-indent
+ "
+fn main() {
+ // thing.do_it()
+ // .aligned()
+}
+"
+ )))
+
+(ert-deftest indent-method-chains-close-block ()
+ (let ((rust-indent-method-chain t)) (test-indent
+ "
+fn main() {
+ foo.bar()
+}
+"
+ )))