File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed
Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change @@ -136,6 +136,28 @@ pub fn diff(expected: &[u8], actual: &[u8]) -> Vec<u8> {
136136 line_number_actual - 1
137137 )
138138 . unwrap ( ) ,
139+ ( 1 , 1 ) => writeln ! (
140+ & mut output,
141+ "{}c{}" ,
142+ line_number_expected, line_number_actual
143+ )
144+ . unwrap ( ) ,
145+ ( 1 , _) => writeln ! (
146+ & mut output,
147+ "{}c{},{}" ,
148+ line_number_expected,
149+ line_number_actual,
150+ actual_count + line_number_actual - 1
151+ )
152+ . unwrap ( ) ,
153+ ( _, 1 ) => writeln ! (
154+ & mut output,
155+ "{},{}c{}" ,
156+ line_number_expected,
157+ expected_count + line_number_expected - 1 ,
158+ line_number_actual
159+ )
160+ . unwrap ( ) ,
139161 _ => writeln ! (
140162 & mut output,
141163 "{},{}c{},{}" ,
@@ -173,6 +195,18 @@ pub fn diff(expected: &[u8], actual: &[u8]) -> Vec<u8> {
173195mod tests {
174196 use super :: * ;
175197 use pretty_assertions:: assert_eq;
198+
199+ #[ test]
200+ fn test_basic ( ) {
201+ let mut a = Vec :: new ( ) ;
202+ a. write_all ( b"a\n " ) . unwrap ( ) ;
203+ let mut b = Vec :: new ( ) ;
204+ b. write_all ( b"b\n " ) . unwrap ( ) ;
205+ let diff = diff ( & a, & b) ;
206+ let expected = b"1c1\n < a\n ---\n > b\n " . to_vec ( ) ;
207+ assert_eq ! ( diff, expected) ;
208+ }
209+
176210 #[ test]
177211 fn test_permutations ( ) {
178212 let target = "target/normal-diff/" ;
You can’t perform that action at this time.
0 commit comments