Skip to content

Commit 4b4c593

Browse files
committed
Simplify source extent tests using make_source_annotated_token
1 parent 1f18861 commit 4b4c593

File tree

1 file changed

+89
-55
lines changed

1 file changed

+89
-55
lines changed

scrapscript_tests.py

Lines changed: 89 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1200,71 +1200,77 @@ def test_apply_with_variant_args(self) -> None:
12001200
self.assertEqual(ast, Apply(Apply(Var("f"), TRUE), FALSE))
12011201

12021202
def test_parse_int_preserves_source_extent(self) -> None:
1203-
int_lit = IntLit(1)
12041203
source_extent = SourceExtent(
12051204
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=1, byteno=0)
12061205
)
1207-
int_lit.source_extent = source_extent
1206+
int_lit = make_source_annotated_token(IntLit, source_extent, 1)
12081207
self.assertTrue(parse(Peekable(iter([int_lit]))).source_extent == source_extent)
12091208

12101209
def test_parse_float_preserves_source_extent(self) -> None:
1211-
float_lit = FloatLit(3.2)
12121210
source_extent = SourceExtent(
12131211
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=3, byteno=2)
12141212
)
1215-
float_lit.source_extent = source_extent
1213+
float_lit = make_source_annotated_token(FloatLit, source_extent, 3.2)
12161214
self.assertTrue(parse(Peekable(iter([float_lit]))).source_extent == source_extent)
12171215

12181216
def test_parse_string_preserves_source_extent(self) -> None:
1219-
string_lit = StringLit("Hello")
12201217
source_extent = SourceExtent(
12211218
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=7, byteno=6)
12221219
)
1223-
string_lit.source_extent = source_extent
1220+
string_lit = make_source_annotated_token(StringLit, source_extent, "Hello")
12241221
self.assertTrue(parse(Peekable(iter([string_lit]))).source_extent == source_extent)
12251222

12261223
def test_parse_bytes_preserves_source_extent(self) -> None:
1227-
bytes_lit = BytesLit("QUJD", 64)
12281224
source_extent = SourceExtent(
12291225
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=9, byteno=8)
12301226
)
1231-
bytes_lit.source_extent = source_extent
1227+
bytes_lit = make_source_annotated_token(BytesLit, source_extent, "QUJD", 64)
12321228
self.assertTrue(parse(Peekable(iter([bytes_lit]))).source_extent == source_extent)
12331229

12341230
def test_parse_var_preserves_source_extent(self) -> None:
1235-
var = Name("x")
12361231
source_extent = SourceExtent(
12371232
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=1, byteno=0)
12381233
)
1239-
var.source_extent = source_extent
1234+
var = make_source_annotated_token(Name, source_extent, "x")
12401235
self.assertTrue(parse(Peekable(iter([var]))).source_extent == source_extent)
12411236

12421237
def test_parse_hole_preserves_source_extent(self) -> None:
1243-
left_paren = LeftParen()
1244-
left_paren.source_extent = SourceExtent(
1245-
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=1, byteno=0)
1238+
left_paren = make_source_annotated_token(
1239+
LeftParen,
1240+
SourceExtent(
1241+
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=1, byteno=0)
1242+
),
12461243
)
1247-
right_paren = RightParen()
1248-
right_paren.source_extent = SourceExtent(
1249-
start=SourceLocation(lineno=1, colno=2, byteno=1), end=SourceLocation(lineno=1, colno=2, byteno=1)
1244+
right_paren = make_source_annotated_token(
1245+
RightParen,
1246+
SourceExtent(
1247+
start=SourceLocation(lineno=1, colno=2, byteno=1), end=SourceLocation(lineno=1, colno=2, byteno=1)
1248+
),
12501249
)
12511250
hole_source_extent = SourceExtent(
12521251
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=2, byteno=1)
12531252
)
12541253
self.assertTrue(parse(Peekable(iter([left_paren, right_paren]))).source_extent == hole_source_extent)
12551254

12561255
def test_parenthesized_expression_preserves_source_extent(self) -> None:
1257-
left_paren = LeftParen()
1258-
left_paren.source_extent = SourceExtent(
1259-
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=1, byteno=0)
1256+
left_paren = make_source_annotated_token(
1257+
LeftParen,
1258+
SourceExtent(
1259+
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=1, byteno=0)
1260+
),
12601261
)
1261-
int_lit = IntLit(1)
1262-
int_lit.source_extent = SourceExtent(
1263-
start=SourceLocation(lineno=1, colno=2, byteno=1), end=SourceLocation(lineno=1, colno=2, byteno=1)
1262+
int_lit = make_source_annotated_token(
1263+
IntLit,
1264+
SourceExtent(
1265+
start=SourceLocation(lineno=1, colno=2, byteno=1), end=SourceLocation(lineno=1, colno=2, byteno=1)
1266+
),
1267+
1,
12641268
)
1265-
right_paren = RightParen()
1266-
right_paren.source_extent = SourceExtent(
1267-
start=SourceLocation(lineno=1, colno=3, byteno=2), end=SourceLocation(lineno=1, colno=3, byteno=2)
1269+
right_paren = make_source_annotated_token(
1270+
RightParen,
1271+
SourceExtent(
1272+
start=SourceLocation(lineno=1, colno=3, byteno=2), end=SourceLocation(lineno=1, colno=3, byteno=2)
1273+
),
12681274
)
12691275
parenthesized_int_lit_source_extent = SourceExtent(
12701276
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=3, byteno=2)
@@ -1275,31 +1281,46 @@ def test_parenthesized_expression_preserves_source_extent(self) -> None:
12751281
)
12761282

12771283
def test_parse_spread_preserves_source_extent(self) -> None:
1278-
ellipsis = Operator("...")
1279-
ellipsis.source_extent = SourceExtent(
1280-
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=3, byteno=2)
1284+
ellipsis = make_source_annotated_token(
1285+
Operator,
1286+
SourceExtent(
1287+
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=3, byteno=2)
1288+
),
1289+
"...",
12811290
)
1282-
name = Name("x")
1283-
name.source_extent = SourceExtent(
1284-
start=SourceLocation(lineno=1, colno=4, byteno=3), end=SourceLocation(lineno=1, colno=4, byteno=3)
1291+
name = make_source_annotated_token(
1292+
Name,
1293+
SourceExtent(
1294+
start=SourceLocation(lineno=1, colno=4, byteno=3), end=SourceLocation(lineno=1, colno=4, byteno=3)
1295+
),
1296+
"x",
12851297
)
12861298
spread_source_extent = SourceExtent(
12871299
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=4, byteno=3)
12881300
)
12891301
self.assertTrue(parse(Peekable(iter([ellipsis, name]))).source_extent == spread_source_extent)
12901302

12911303
def test_parse_binop_preserves_source_extent(self) -> None:
1292-
first_addend = IntLit(1)
1293-
first_addend.source_extent = SourceExtent(
1294-
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=1, byteno=0)
1304+
first_addend = make_source_annotated_token(
1305+
IntLit,
1306+
SourceExtent(
1307+
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=1, byteno=0)
1308+
),
1309+
1,
12951310
)
1296-
operator = Operator("+")
1297-
operator.source_extent = SourceExtent(
1298-
start=SourceLocation(lineno=1, colno=3, byteno=2), end=SourceLocation(lineno=1, colno=3, byteno=2)
1311+
operator = make_source_annotated_token(
1312+
Operator,
1313+
SourceExtent(
1314+
start=SourceLocation(lineno=1, colno=3, byteno=2), end=SourceLocation(lineno=1, colno=3, byteno=2)
1315+
),
1316+
"+",
12991317
)
1300-
second_addend = IntLit(2)
1301-
second_addend.source_extent = SourceExtent(
1302-
start=SourceLocation(lineno=2, colno=5, byteno=4), end=SourceLocation(lineno=2, colno=5, byteno=4)
1318+
second_addend = make_source_annotated_token(
1319+
IntLit,
1320+
SourceExtent(
1321+
start=SourceLocation(lineno=2, colno=5, byteno=4), end=SourceLocation(lineno=2, colno=5, byteno=4)
1322+
),
1323+
2,
13031324
)
13041325
binop_source_extent = SourceExtent(
13051326
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=2, colno=5, byteno=4)
@@ -1309,25 +1330,38 @@ def test_parse_binop_preserves_source_extent(self) -> None:
13091330
)
13101331

13111332
def test_parse_list_preserves_source_extent(self) -> None:
1312-
left_bracket = LeftBracket()
1313-
left_bracket.source_extent = SourceExtent(
1314-
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=1, byteno=0)
1333+
left_bracket = make_source_annotated_token(
1334+
LeftBracket,
1335+
SourceExtent(
1336+
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=1, byteno=0)
1337+
),
13151338
)
1316-
one = IntLit(1)
1317-
one.source_extent = SourceExtent(
1318-
start=SourceLocation(lineno=1, colno=2, byteno=1), end=SourceLocation(lineno=1, colno=2, byteno=1)
1339+
one = make_source_annotated_token(
1340+
IntLit,
1341+
SourceExtent(
1342+
start=SourceLocation(lineno=1, colno=2, byteno=1), end=SourceLocation(lineno=1, colno=2, byteno=1)
1343+
),
1344+
1,
13191345
)
1320-
comma = Operator(",")
1321-
comma.source_extent = SourceExtent(
1322-
start=SourceLocation(lineno=1, colno=3, byteno=2), end=SourceLocation(lineno=1, colno=3, byteno=2)
1346+
comma = make_source_annotated_token(
1347+
Operator,
1348+
SourceExtent(
1349+
start=SourceLocation(lineno=1, colno=3, byteno=2), end=SourceLocation(lineno=1, colno=3, byteno=2)
1350+
),
1351+
",",
13231352
)
1324-
two = IntLit(2)
1325-
two.source_extent = SourceExtent(
1326-
start=SourceLocation(lineno=1, colno=5, byteno=4), end=SourceLocation(lineno=1, colno=5, byteno=4)
1353+
two = make_source_annotated_token(
1354+
IntLit,
1355+
SourceExtent(
1356+
start=SourceLocation(lineno=1, colno=5, byteno=4), end=SourceLocation(lineno=1, colno=5, byteno=4)
1357+
),
1358+
2,
13271359
)
1328-
right_bracket = RightBracket()
1329-
right_bracket.source_extent = SourceExtent(
1330-
start=SourceLocation(lineno=1, colno=6, byteno=5), end=SourceLocation(lineno=1, colno=6, byteno=5)
1360+
right_bracket = make_source_annotated_token(
1361+
RightBracket,
1362+
SourceExtent(
1363+
start=SourceLocation(lineno=1, colno=6, byteno=5), end=SourceLocation(lineno=1, colno=6, byteno=5)
1364+
),
13311365
)
13321366
list_source_extent = SourceExtent(
13331367
start=SourceLocation(lineno=1, colno=1, byteno=0), end=SourceLocation(lineno=1, colno=6, byteno=5)

0 commit comments

Comments
 (0)