25 lines
910 B
Rust
25 lines
910 B
Rust
//@ aux-build:assert-span-pos.rs
|
|
// ignore-tidy-tab
|
|
extern crate assert_span_pos;
|
|
|
|
assert_span_pos::assert_span_pos!(5, 35);
|
|
|
|
// Test space indentation
|
|
assert_span_pos::assert_span_pos!(8, 39);
|
|
// Test tab indentation
|
|
assert_span_pos::assert_span_pos!(10, 36);
|
|
|
|
// Two tests to ensure the promise of the docs that the column is the number
|
|
// of UTF-8 bytes instead of some other number like number of code points.
|
|
|
|
// Test that multi byte UTF-8 characters indeed count as multiple bytes
|
|
/*🌈*/assert_span_pos::assert_span_pos!(16, 40);
|
|
// Test with a complete grapheme cluster
|
|
/*🏳️🌈*/assert_span_pos::assert_span_pos!(18, 43);
|
|
|
|
// Test that the macro actually emits an error on a mismatch:
|
|
assert_span_pos::assert_span_pos!(0, 35); //~ ERROR line/column mismatch: (0, 35) != (21, 35)
|
|
assert_span_pos::assert_span_pos!(22, 0); //~ ERROR line/column mismatch: (22, 0) != (22, 35)
|
|
|
|
fn main() {}
|