82 lines
1.8 KiB
Rust
82 lines
1.8 KiB
Rust
|
use dust_lang::*;
|
||
|
|
||
|
#[test]
|
||
|
fn add_assign_expects_mutable_variable() {
|
||
|
let source = "1 += 2";
|
||
|
|
||
|
assert_eq!(
|
||
|
compile(source),
|
||
|
Err(DustError::Compile {
|
||
|
error: CompileError::ExpectedMutableVariable {
|
||
|
found: Token::Integer("1").to_owned(),
|
||
|
position: Span(0, 1)
|
||
|
},
|
||
|
source
|
||
|
})
|
||
|
);
|
||
|
}
|
||
|
|
||
|
#[test]
|
||
|
fn divide_assign_expects_mutable_variable() {
|
||
|
let source = "1 -= 2";
|
||
|
|
||
|
assert_eq!(
|
||
|
compile(source),
|
||
|
Err(DustError::Compile {
|
||
|
error: CompileError::ExpectedMutableVariable {
|
||
|
found: Token::Integer("1").to_owned(),
|
||
|
position: Span(0, 1)
|
||
|
},
|
||
|
source
|
||
|
})
|
||
|
);
|
||
|
}
|
||
|
|
||
|
#[test]
|
||
|
fn multiply_assign_expects_mutable_variable() {
|
||
|
let source = "1 *= 2";
|
||
|
|
||
|
assert_eq!(
|
||
|
compile(source),
|
||
|
Err(DustError::Compile {
|
||
|
error: CompileError::ExpectedMutableVariable {
|
||
|
found: Token::Integer("1").to_owned(),
|
||
|
position: Span(0, 1)
|
||
|
},
|
||
|
source
|
||
|
})
|
||
|
);
|
||
|
}
|
||
|
|
||
|
#[test]
|
||
|
fn subtract_assign_expects_mutable_variable() {
|
||
|
let source = "1 -= 2";
|
||
|
|
||
|
assert_eq!(
|
||
|
compile(source),
|
||
|
Err(DustError::Compile {
|
||
|
error: CompileError::ExpectedMutableVariable {
|
||
|
found: Token::Integer("1").to_owned(),
|
||
|
position: Span(0, 1)
|
||
|
},
|
||
|
source
|
||
|
})
|
||
|
);
|
||
|
}
|
||
|
|
||
|
#[test]
|
||
|
fn modulo_assign_expects_mutable_variable() {
|
||
|
let source = "1 %= 2";
|
||
|
|
||
|
assert_eq!(
|
||
|
compile(source),
|
||
|
Err(DustError::Compile {
|
||
|
error: CompileError::ExpectedMutableVariable {
|
||
|
found: Token::Integer("1").to_owned(),
|
||
|
position: Span(0, 1)
|
||
|
},
|
||
|
source
|
||
|
})
|
||
|
);
|
||
|
}
|