mirror of
https://github.com/tfussell/xlnt.git
synced 2024-03-22 13:11:17 +08:00
Merge pull request #451 from amiremohamadi/fix-cell-reference-parsing
fix cell reference parsing
This commit is contained in:
commit
6c52e52487
@ -174,13 +174,13 @@ std::pair<std::string, row_t> cell_reference::split_reference(
|
|||||||
|
|
||||||
if (column_string[0] == '$')
|
if (column_string[0] == '$')
|
||||||
{
|
{
|
||||||
absolute_row = true;
|
absolute_column = true;
|
||||||
column_string = column_string.substr(1);
|
column_string = column_string.substr(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (row_string[0] == '$')
|
if (row_string[0] == '$')
|
||||||
{
|
{
|
||||||
absolute_column = true;
|
absolute_row = true;
|
||||||
row_string = row_string.substr(1);
|
row_string = row_string.substr(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -665,8 +665,16 @@ private:
|
|||||||
xlnt_assert_throws(xlnt::cell_reference("A"), xlnt::invalid_cell_reference);
|
xlnt_assert_throws(xlnt::cell_reference("A"), xlnt::invalid_cell_reference);
|
||||||
|
|
||||||
auto ref = xlnt::cell_reference("$B$7");
|
auto ref = xlnt::cell_reference("$B$7");
|
||||||
xlnt_assert(ref.row_absolute());
|
xlnt_assert_equals(ref.row_absolute(), true);
|
||||||
xlnt_assert(ref.column_absolute());
|
xlnt_assert_equals(ref.column_absolute(), true);
|
||||||
|
|
||||||
|
ref = xlnt::cell_reference("$B7");
|
||||||
|
xlnt_assert_equals(ref.row_absolute(), false);
|
||||||
|
xlnt_assert_equals(ref.column_absolute(), true);
|
||||||
|
|
||||||
|
ref = xlnt::cell_reference("B$7");
|
||||||
|
xlnt_assert_equals(ref.row_absolute(), true);
|
||||||
|
xlnt_assert_equals(ref.column_absolute(), false);
|
||||||
|
|
||||||
xlnt_assert(xlnt::cell_reference("A1") == "A1");
|
xlnt_assert(xlnt::cell_reference("A1") == "A1");
|
||||||
xlnt_assert(xlnt::cell_reference("A1") != "A2");
|
xlnt_assert(xlnt::cell_reference("A1") != "A2");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user