mirror of
https://github.com/apache/superset.git
synced 2026-04-19 08:04:53 +00:00
feat: generate label map on the backend (#21124)
This commit is contained in:
@@ -156,3 +156,22 @@ def test_flat_integer_column_name():
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def test_escape_column_name():
|
||||
index = pd.to_datetime(["2021-01-01", "2021-01-02", "2021-01-03"])
|
||||
index.name = "__timestamp"
|
||||
columns = pd.MultiIndex.from_arrays(
|
||||
[
|
||||
["level1,value1", "level1,value2", "level1,value3"],
|
||||
["level2, value1", "level2, value2", "level2, value3"],
|
||||
],
|
||||
names=["level1", "level2"],
|
||||
)
|
||||
df = pd.DataFrame(index=index, columns=columns, data=1)
|
||||
assert list(pp.flatten(df).columns.values) == [
|
||||
"__timestamp",
|
||||
"level1\\,value1" + FLAT_COLUMN_SEPARATOR + "level2\\, value1",
|
||||
"level1\\,value2" + FLAT_COLUMN_SEPARATOR + "level2\\, value2",
|
||||
"level1\\,value3" + FLAT_COLUMN_SEPARATOR + "level2\\, value3",
|
||||
]
|
||||
|
||||
30
tests/unit_tests/pandas_postprocessing/test_utils.py
Normal file
30
tests/unit_tests/pandas_postprocessing/test_utils.py
Normal file
@@ -0,0 +1,30 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
from superset.utils.pandas_postprocessing import escape_separator, unescape_separator
|
||||
|
||||
|
||||
def test_escape_separator():
|
||||
assert escape_separator(r" hell \world ") == r" hell \world "
|
||||
assert unescape_separator(r" hell \world ") == r" hell \world "
|
||||
|
||||
escape_string = escape_separator("hello, world")
|
||||
assert escape_string == r"hello\, world"
|
||||
assert unescape_separator(escape_string) == "hello, world"
|
||||
|
||||
escape_string = escape_separator("hello,world")
|
||||
assert escape_string == r"hello\,world"
|
||||
assert unescape_separator(escape_string) == "hello,world"
|
||||
Reference in New Issue
Block a user