Mercurial > public > mercurial-scm > hg-stable
annotate contrib/merge-lists/tests/test-merge-lists.rs @ 53040:cdd7bf612c7b stable tip
bundle-spec: properly format boolean parameter (issue6960)
This was breaking automatic clone bundle generation. This changeset fixes it and
add a test to catch it in the future.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 11 Mar 2025 02:29:42 +0100 |
parents | b999edb15f8c |
children |
rev | line source |
---|---|
49075
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
1 use similar::DiffableStr; |
49076
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
2 use std::ffi::OsStr; |
49075
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
3 use tempdir::TempDir; |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
4 |
49076
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
5 fn run_test(arg: &str, input: &str) -> String { |
49075
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
6 let mut cmd = assert_cmd::Command::cargo_bin("merge-lists").unwrap(); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
7 let temp_dir = TempDir::new("test").unwrap(); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
8 let base_path = temp_dir.path().join("base"); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
9 let local_path = temp_dir.path().join("local"); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
10 let other_path = temp_dir.path().join("other"); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
11 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
12 let rest = input.strip_prefix("\nbase:\n").unwrap(); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
13 let mut split = rest.split("\nlocal:\n"); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
14 std::fs::write(&base_path, split.next().unwrap()).unwrap(); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
15 let rest = split.next().unwrap(); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
16 let mut split = rest.split("\nother:\n"); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
17 std::fs::write(&local_path, split.next().unwrap()).unwrap(); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
18 std::fs::write(&other_path, split.next().unwrap()).unwrap(); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
19 cmd.args(&[ |
49076
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
20 OsStr::new(arg), |
49075
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
21 local_path.as_os_str(), |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
22 base_path.as_os_str(), |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
23 other_path.as_os_str(), |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
24 ]) |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
25 .assert() |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
26 .success(); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
27 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
28 let new_base_bytes = std::fs::read(&base_path).unwrap(); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
29 let new_local_bytes = std::fs::read(&local_path).unwrap(); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
30 let new_other_bytes = std::fs::read(&other_path).unwrap(); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
31 // No newline before "base:" because of https://github.com/mitsuhiko/insta/issues/117 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
32 format!( |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
33 "base:\n{}\nlocal:\n{}\nother:\n{}", |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
34 new_base_bytes.as_str().unwrap(), |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
35 new_local_bytes.as_str().unwrap(), |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
36 new_other_bytes.as_str().unwrap() |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
37 ) |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
38 } |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
39 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
40 #[test] |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
41 fn test_merge_lists_basic() { |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
42 let output = run_test( |
49076
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
43 "--python-imports", |
49075
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
44 r" |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
45 base: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
46 import lib1 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
47 import lib2 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
48 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
49 local: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
50 import lib2 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
51 import lib3 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
52 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
53 other: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
54 import lib3 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
55 import lib4 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
56 ", |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
57 ); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
58 insta::assert_snapshot!(output, @r###" |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
59 base: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
60 import lib3 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
61 import lib4 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
62 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
63 local: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
64 import lib3 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
65 import lib4 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
66 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
67 other: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
68 import lib3 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
69 import lib4 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
70 "###); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
71 } |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
72 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
73 #[test] |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
74 fn test_merge_lists_from() { |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
75 // Test some "from x import y" statements and some non-import conflicts |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
76 // (unresolvable) |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
77 let output = run_test( |
49076
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
78 "--python-imports", |
49075
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
79 r" |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
80 base: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
81 from . import x |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
82 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
83 1+1 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
84 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
85 local: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
86 from . import x |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
87 from a import b |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
88 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
89 2+2 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
90 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
91 other: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
92 from a import c |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
93 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
94 3+3 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
95 ", |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
96 ); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
97 insta::assert_snapshot!(output, @r###" |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
98 base: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
99 from a import b |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
100 from a import c |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
101 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
102 1+1 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
103 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
104 local: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
105 from a import b |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
106 from a import c |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
107 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
108 2+2 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
109 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
110 other: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
111 from a import b |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
112 from a import c |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
113 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
114 3+3 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
115 "###); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
116 } |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
117 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
118 #[test] |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
119 fn test_merge_lists_not_sorted() { |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
120 // Test that nothing is done if the elements in the conflicting hunks are |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
121 // not sorted |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
122 let output = run_test( |
49076
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
123 "--python-imports", |
49075
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
124 r" |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
125 base: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
126 import x |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
127 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
128 1+1 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
129 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
130 local: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
131 import a |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
132 import x |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
133 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
134 2+2 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
135 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
136 other: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
137 import z |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
138 import y |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
139 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
140 3+3 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
141 ", |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
142 ); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
143 insta::assert_snapshot!(output, @r###" |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
144 base: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
145 import x |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
146 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
147 1+1 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
148 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
149 local: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
150 import a |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
151 import x |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
152 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
153 2+2 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
154 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
155 other: |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
156 import z |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
157 import y |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
158 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
159 3+3 |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
160 "###); |
681b25ea579e
contrib: add a partial-merge tool for sorted lists (such as Python imports)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
161 } |
49076
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
162 |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
163 #[test] |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
164 fn test_custom_regex() { |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
165 // Test merging of all lines (by matching anything) |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
166 let output = run_test( |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
167 "--pattern=.*", |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
168 r" |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
169 base: |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
170 aardvark |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
171 baboon |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
172 camel |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
173 |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
174 local: |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
175 aardvark |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
176 camel |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
177 eagle |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
178 |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
179 other: |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
180 aardvark |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
181 camel |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
182 deer |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
183 ", |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
184 ); |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
185 insta::assert_snapshot!(output, @r###" |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
186 base: |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
187 aardvark |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
188 camel |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
189 deer |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
190 eagle |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
191 |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
192 local: |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
193 aardvark |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
194 camel |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
195 deer |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
196 eagle |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
197 |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
198 other: |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
199 aardvark |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
200 camel |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
201 deer |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
202 eagle |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
203 "###); |
b999edb15f8c
merge-lists: make it possible to specify pattern to match
Martin von Zweigbergk <martinvonz@google.com>
parents:
49075
diff
changeset
|
204 } |