Adding additional lexer unit tests
This commit is contained in:
@@ -34,7 +34,7 @@ fn test_range() {
|
||||
row: 4,
|
||||
absolute_column: false,
|
||||
absolute_row: false,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -58,7 +58,7 @@ fn test_range_absolute_column() {
|
||||
row: 4,
|
||||
absolute_column: false,
|
||||
absolute_row: true,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -82,7 +82,7 @@ fn test_range_with_sheet() {
|
||||
row: 4,
|
||||
absolute_column: false,
|
||||
absolute_row: false,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -106,12 +106,45 @@ fn test_range_with_sheet_with_space() {
|
||||
row: 44,
|
||||
absolute_column: false,
|
||||
absolute_row: false,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_range_error() {
|
||||
let mut lx = new_lexer("'Sheet 1'!3.4:5");
|
||||
assert_eq!(
|
||||
lx.next_token(),
|
||||
Illegal(LexerError {
|
||||
position: 10,
|
||||
message: "Expecting reference in range".to_string(),
|
||||
})
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
|
||||
let mut lx = new_lexer("'Sheet 1'!3:A2");
|
||||
assert_eq!(
|
||||
lx.next_token(),
|
||||
Illegal(LexerError {
|
||||
position: 14,
|
||||
message: "Error parsing Range".to_string()
|
||||
})
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
|
||||
let mut lx = new_lexer("'Sheet 1'!3:");
|
||||
assert_eq!(
|
||||
lx.next_token(),
|
||||
Illegal(LexerError {
|
||||
position: 12,
|
||||
message: "Error parsing Range".to_string()
|
||||
})
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_range_column() {
|
||||
let mut lx = new_lexer("C:D");
|
||||
@@ -130,7 +163,7 @@ fn test_range_column() {
|
||||
row: LAST_ROW,
|
||||
absolute_column: false,
|
||||
absolute_row: true,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -167,7 +200,7 @@ fn test_range_column_absolute1() {
|
||||
row: LAST_ROW,
|
||||
absolute_column: false,
|
||||
absolute_row: true,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -191,7 +224,7 @@ fn test_range_column_absolute2() {
|
||||
row: LAST_ROW,
|
||||
absolute_column: true,
|
||||
absolute_row: true,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -215,7 +248,7 @@ fn test_range_rows() {
|
||||
row: 5,
|
||||
absolute_column: true,
|
||||
absolute_row: false,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -239,7 +272,7 @@ fn test_range_rows_absolute1() {
|
||||
row: 5,
|
||||
absolute_column: true,
|
||||
absolute_row: false,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -263,7 +296,7 @@ fn test_range_rows_absolute2() {
|
||||
row: 55,
|
||||
absolute_column: true,
|
||||
absolute_row: true,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -287,7 +320,7 @@ fn test_range_column_sheet() {
|
||||
row: LAST_ROW,
|
||||
absolute_column: false,
|
||||
absolute_row: true,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -311,7 +344,7 @@ fn test_range_column_sheet_absolute() {
|
||||
row: LAST_ROW,
|
||||
absolute_column: true,
|
||||
absolute_row: true,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -332,7 +365,7 @@ fn test_range_column_sheet_absolute() {
|
||||
row: LAST_ROW,
|
||||
absolute_column: true,
|
||||
absolute_row: true,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -356,7 +389,7 @@ fn test_range_rows_sheet() {
|
||||
row: 5,
|
||||
absolute_column: true,
|
||||
absolute_row: false,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -376,7 +409,7 @@ fn test_range_rows_sheet() {
|
||||
row: 5,
|
||||
absolute_column: true,
|
||||
absolute_row: false,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -407,7 +440,7 @@ fn test_non_range_invalid_variable_name_a03() {
|
||||
row: 3,
|
||||
column: 1,
|
||||
absolute_column: false,
|
||||
absolute_row: false
|
||||
absolute_row: false,
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -423,7 +456,7 @@ fn test_non_range_invalid_variable_name_sheet1_a03() {
|
||||
row: 3,
|
||||
column: 1,
|
||||
absolute_column: false,
|
||||
absolute_row: false
|
||||
absolute_row: false,
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
@@ -447,7 +480,7 @@ fn test_range_rows_with_0() {
|
||||
row: 5,
|
||||
absolute_column: true,
|
||||
absolute_row: false,
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
assert_eq!(lx.next_token(), EOF);
|
||||
|
||||
Reference in New Issue
Block a user