First version of DefaultDataFilter
This commit is contained in:
@@ -5,10 +5,13 @@
|
||||
# assert column_to_number("A") == 1
|
||||
# assert column_to_number("AA") == 27
|
||||
# assert column_to_number("ZZZ") == 475254
|
||||
import ast
|
||||
|
||||
import pytest
|
||||
from fasthtml.components import Div
|
||||
|
||||
from core.utils import make_html_id, update_elements, snake_case_to_capitalized_words, merge_classes
|
||||
from core.utils import make_html_id, update_elements, snake_case_to_capitalized_words, merge_classes, \
|
||||
UnreferencedNamesVisitor
|
||||
|
||||
|
||||
@pytest.mark.parametrize("string, expected", [
|
||||
@@ -110,7 +113,7 @@ def test_i_can_merge_cls():
|
||||
kwargs = {}
|
||||
assert merge_classes("class1", kwargs) == "class1"
|
||||
assert kwargs == {}
|
||||
|
||||
|
||||
kwargs = {"foo": "bar"}
|
||||
assert merge_classes("class1", kwargs) == "class1"
|
||||
assert kwargs == {"foo": "bar"}
|
||||
@@ -127,4 +130,21 @@ def test_i_can_merge_cls():
|
||||
assert merge_classes("class1", ("class2", "class3")) == "class1 class2 class3"
|
||||
|
||||
# values are unique
|
||||
assert merge_classes("class2", "class1", ("class1", ), {"cls": "class1"}) == "class2 class1"
|
||||
assert merge_classes("class2", "class1", ("class1",), {"cls": "class1"}) == "class2 class1"
|
||||
|
||||
|
||||
@pytest.mark.parametrize("source, expected", [
|
||||
("a,b", {"a", "b"}),
|
||||
("isinstance(a, int)", {"a", "int"}),
|
||||
("date.today()", set()),
|
||||
("test()", set()),
|
||||
("sheerka.test()", set()),
|
||||
("for i in range(10): pass", set()),
|
||||
("func(x=a, y=b)", {"a", "b", "x", "y"}),
|
||||
])
|
||||
def test_i_can_get_unreferenced_variables_from_simple_expressions(source, expected):
|
||||
ast_ = ast.parse(source)
|
||||
visitor = UnreferencedNamesVisitor()
|
||||
visitor.visit(ast_)
|
||||
|
||||
assert visitor.names == expected
|
||||
|
||||
Reference in New Issue
Block a user