mirror of
https://github.com/ascii-boxes/boxes.git
synced 2024-12-12 18:01:14 +01:00
Add test cases for design alias names #30
This commit is contained in:
parent
44f4c8adaa
commit
5650f251fd
@ -5,6 +5,7 @@
|
|||||||
:EXPECTED
|
:EXPECTED
|
||||||
Complete Design Information for "c":
|
Complete Design Information for "c":
|
||||||
------------------------------------
|
------------------------------------
|
||||||
|
Alias Names: none
|
||||||
Author: Thomas Jensen
|
Author: Thomas Jensen
|
||||||
Original Designer: (public domain)
|
Original Designer: (public domain)
|
||||||
Creation Date: March 18, 1999 (Thursday, 15:25h)
|
Creation Date: March 18, 1999 (Thursday, 15:25h)
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
:EXPECTED
|
:EXPECTED
|
||||||
Complete Design Information for "<Command Line Definition>":
|
Complete Design Information for "<Command Line Definition>":
|
||||||
------------------------------------------------------------
|
------------------------------------------------------------
|
||||||
|
Alias Names: none
|
||||||
Author: (unknown author)
|
Author: (unknown author)
|
||||||
Original Designer: (unknown artist)
|
Original Designer: (unknown artist)
|
||||||
Creation Date: now
|
Creation Date: now
|
||||||
|
21
test/135_design_alias_by_design.cfg
Normal file
21
test/135_design_alias_by_design.cfg
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
BOX design, alias1, alias2
|
||||||
|
|
||||||
|
sample
|
||||||
|
X your text X
|
||||||
|
ends
|
||||||
|
|
||||||
|
shapes {
|
||||||
|
w ("X")
|
||||||
|
e ("X")
|
||||||
|
}
|
||||||
|
|
||||||
|
elastic (
|
||||||
|
e, w
|
||||||
|
)
|
||||||
|
|
||||||
|
padding {
|
||||||
|
horizontal 1
|
||||||
|
}
|
||||||
|
|
||||||
|
END design
|
27
test/135_design_alias_by_design.txt
Normal file
27
test/135_design_alias_by_design.txt
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
:DESC
|
||||||
|
Test that the alias names of a design are properly listed in the design information sheet.
|
||||||
|
|
||||||
|
:ARGS
|
||||||
|
-f 135_design_alias_by_design.cfg -l -d design
|
||||||
|
:INPUT
|
||||||
|
:OUTPUT-FILTER
|
||||||
|
:EXPECTED
|
||||||
|
Complete Design Information for "design":
|
||||||
|
-----------------------------------------
|
||||||
|
Alias Names: alias1, alias2
|
||||||
|
Author: (unknown author)
|
||||||
|
Original Designer: (unknown artist)
|
||||||
|
Creation Date: (unknown)
|
||||||
|
Current Revision: (unknown)
|
||||||
|
Configuration File: 135_design_alias_by_design.cfg
|
||||||
|
Indentation Mode: box (indent box)
|
||||||
|
Replacement Rules: none
|
||||||
|
Reversion Rules: none
|
||||||
|
Minimum Box Dimensions: 3 x 3 (width x height)
|
||||||
|
Default Padding: left 1, right 1
|
||||||
|
Default Killblank: no
|
||||||
|
Tags: (none)
|
||||||
|
Elastic Shapes: N, E, S, W
|
||||||
|
Defined Shapes: E: "X"
|
||||||
|
W: "X"
|
||||||
|
:EOF
|
75
test/136_design_alias_by_alias.cfg
Normal file
75
test/136_design_alias_by_alias.cfg
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
|
||||||
|
BOX design1
|
||||||
|
|
||||||
|
sample
|
||||||
|
X1 your text X1
|
||||||
|
ends
|
||||||
|
|
||||||
|
shapes {
|
||||||
|
w ("X1")
|
||||||
|
e ("X1")
|
||||||
|
}
|
||||||
|
|
||||||
|
elastic (
|
||||||
|
e, w
|
||||||
|
)
|
||||||
|
|
||||||
|
padding {
|
||||||
|
horizontal 1
|
||||||
|
}
|
||||||
|
|
||||||
|
END design1
|
||||||
|
|
||||||
|
# -------------------------------------------
|
||||||
|
|
||||||
|
BOX design2, alias2
|
||||||
|
|
||||||
|
sample
|
||||||
|
X2 your text X2
|
||||||
|
ends
|
||||||
|
|
||||||
|
shapes {
|
||||||
|
w ("X2")
|
||||||
|
e ("X2")
|
||||||
|
}
|
||||||
|
|
||||||
|
elastic (
|
||||||
|
e, w
|
||||||
|
)
|
||||||
|
|
||||||
|
padding {
|
||||||
|
horizontal 1
|
||||||
|
}
|
||||||
|
|
||||||
|
END design2
|
||||||
|
|
||||||
|
# -------------------------------------------
|
||||||
|
|
||||||
|
BOX design3,
|
||||||
|
alias3a, # we refer to this design by this alias
|
||||||
|
alias3b
|
||||||
|
|
||||||
|
# following sample block is empty
|
||||||
|
sample test4
|
||||||
|
ends
|
||||||
|
|
||||||
|
shapes {
|
||||||
|
e ("1","2","3")
|
||||||
|
w ("1","2","3","4","5")
|
||||||
|
|
||||||
|
s ("#") n ("#") nw ("#") se ("#") sw ("#") ne ("#")
|
||||||
|
}
|
||||||
|
|
||||||
|
elastic (n,s,e, w)
|
||||||
|
|
||||||
|
END design3
|
||||||
|
|
||||||
|
# -------------------------------------------
|
||||||
|
|
||||||
|
BOX design4
|
||||||
|
|
||||||
|
sample
|
||||||
|
X your text X
|
||||||
|
ends
|
||||||
|
|
||||||
|
... and so on, this part is no longer parsed.
|
29
test/136_design_alias_by_alias.txt
Normal file
29
test/136_design_alias_by_alias.txt
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
:DESC
|
||||||
|
Test that a design can be selected by alias, even when it is not the first design in the file. This tests that
|
||||||
|
lexer speedmode does not skip over alias names.
|
||||||
|
|
||||||
|
:ARGS
|
||||||
|
-f 136_design_alias_by_alias.cfg -p h3 -a vc -d alias3a
|
||||||
|
:INPUT
|
||||||
|
foo
|
||||||
|
bar
|
||||||
|
:OUTPUT-FILTER
|
||||||
|
:EXPECTED
|
||||||
|
###########
|
||||||
|
1 1
|
||||||
|
2 2
|
||||||
|
3 3
|
||||||
|
4 1
|
||||||
|
5 2
|
||||||
|
1 3
|
||||||
|
2 foo 1
|
||||||
|
3 bar 2
|
||||||
|
4 3
|
||||||
|
5 1
|
||||||
|
1 2
|
||||||
|
2 3
|
||||||
|
3 1
|
||||||
|
4 2
|
||||||
|
5 3
|
||||||
|
###########
|
||||||
|
:EOF
|
71
test/137_design_alias_no_accumulation.cfg
Normal file
71
test/137_design_alias_no_accumulation.cfg
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
|
||||||
|
# The next line contains a syntax error, but it is not noticed in this test case
|
||||||
|
# because we don't parse the interior of skipped box designs!
|
||||||
|
BOX design1, alias 1
|
||||||
|
|
||||||
|
sample
|
||||||
|
X1 your text X1
|
||||||
|
ends
|
||||||
|
|
||||||
|
shapes {
|
||||||
|
w ("X1")
|
||||||
|
e ("X1")
|
||||||
|
}
|
||||||
|
|
||||||
|
elastic (
|
||||||
|
e, w
|
||||||
|
)
|
||||||
|
|
||||||
|
padding {
|
||||||
|
horizontal 1
|
||||||
|
}
|
||||||
|
|
||||||
|
END design1
|
||||||
|
|
||||||
|
# -------------------------------------------
|
||||||
|
|
||||||
|
BOX design2, alias2
|
||||||
|
|
||||||
|
sample
|
||||||
|
X2 your text X2
|
||||||
|
ends
|
||||||
|
|
||||||
|
shapes {
|
||||||
|
w ("X2")
|
||||||
|
e ("X2")
|
||||||
|
}
|
||||||
|
|
||||||
|
elastic (
|
||||||
|
e, w
|
||||||
|
)
|
||||||
|
|
||||||
|
padding {
|
||||||
|
horizontal 1
|
||||||
|
}
|
||||||
|
|
||||||
|
END design2
|
||||||
|
|
||||||
|
# -------------------------------------------
|
||||||
|
|
||||||
|
BOX design3,
|
||||||
|
alias3a,
|
||||||
|
alias3b # we refer to this design by this alias
|
||||||
|
|
||||||
|
sample
|
||||||
|
X3 your text X3
|
||||||
|
ends
|
||||||
|
|
||||||
|
shapes {
|
||||||
|
w ("X3")
|
||||||
|
e ("X3")
|
||||||
|
}
|
||||||
|
|
||||||
|
elastic (
|
||||||
|
e, w
|
||||||
|
)
|
||||||
|
|
||||||
|
padding {
|
||||||
|
horizontal 1
|
||||||
|
}
|
||||||
|
|
||||||
|
END design3
|
27
test/137_design_alias_no_accumulation.txt
Normal file
27
test/137_design_alias_no_accumulation.txt
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
:DESC
|
||||||
|
Test that the list of aliases is properly reset when lexer is in speedmode.
|
||||||
|
|
||||||
|
:ARGS
|
||||||
|
-f 137_design_alias_no_accumulation.cfg -d alias3b -l
|
||||||
|
:INPUT
|
||||||
|
:OUTPUT-FILTER
|
||||||
|
:EXPECTED
|
||||||
|
Complete Design Information for "design3":
|
||||||
|
------------------------------------------
|
||||||
|
Alias Names: alias3a, alias3b
|
||||||
|
Author: (unknown author)
|
||||||
|
Original Designer: (unknown artist)
|
||||||
|
Creation Date: (unknown)
|
||||||
|
Current Revision: (unknown)
|
||||||
|
Configuration File: 137_design_alias_no_accumulation.cfg
|
||||||
|
Indentation Mode: box (indent box)
|
||||||
|
Replacement Rules: none
|
||||||
|
Reversion Rules: none
|
||||||
|
Minimum Box Dimensions: 5 x 3 (width x height)
|
||||||
|
Default Padding: left 1, right 1
|
||||||
|
Default Killblank: no
|
||||||
|
Tags: (none)
|
||||||
|
Elastic Shapes: N, E, S, W
|
||||||
|
Defined Shapes: E: "X3"
|
||||||
|
W: "X3"
|
||||||
|
:EOF
|
68
test/138_design_alias_duplicate_name.cfg
Normal file
68
test/138_design_alias_duplicate_name.cfg
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
|
||||||
|
BOX design1
|
||||||
|
|
||||||
|
sample
|
||||||
|
X1 your text X1
|
||||||
|
ends
|
||||||
|
|
||||||
|
shapes {
|
||||||
|
w ("X1")
|
||||||
|
e ("X1")
|
||||||
|
}
|
||||||
|
|
||||||
|
elastic (
|
||||||
|
e, w
|
||||||
|
)
|
||||||
|
|
||||||
|
padding {
|
||||||
|
horizontal 1
|
||||||
|
}
|
||||||
|
|
||||||
|
END design1
|
||||||
|
|
||||||
|
# -------------------------------------------
|
||||||
|
|
||||||
|
BOX design2, alias2
|
||||||
|
|
||||||
|
sample
|
||||||
|
X2 your text X2
|
||||||
|
ends
|
||||||
|
|
||||||
|
shapes {
|
||||||
|
w ("X2")
|
||||||
|
e ("X2")
|
||||||
|
}
|
||||||
|
|
||||||
|
elastic (
|
||||||
|
e, w
|
||||||
|
)
|
||||||
|
|
||||||
|
padding {
|
||||||
|
horizontal 1
|
||||||
|
}
|
||||||
|
|
||||||
|
END design2
|
||||||
|
|
||||||
|
# -------------------------------------------
|
||||||
|
|
||||||
|
# Next line uses the same alias as design2, which is wrong:
|
||||||
|
BOX design3, alias2
|
||||||
|
|
||||||
|
sample
|
||||||
|
X3 your text X3
|
||||||
|
ends
|
||||||
|
|
||||||
|
shapes {
|
||||||
|
w ("X3")
|
||||||
|
e ("X3")
|
||||||
|
}
|
||||||
|
|
||||||
|
elastic (
|
||||||
|
e, w
|
||||||
|
)
|
||||||
|
|
||||||
|
padding {
|
||||||
|
horizontal 1
|
||||||
|
}
|
||||||
|
|
||||||
|
END design3
|
24
test/138_design_alias_duplicate_name.txt
Normal file
24
test/138_design_alias_duplicate_name.txt
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
:DESC
|
||||||
|
Test that we get an error if an alias already exists.
|
||||||
|
|
||||||
|
:ARGS
|
||||||
|
-f 138_design_alias_duplicate_name.cfg -l
|
||||||
|
:INPUT
|
||||||
|
:OUTPUT-FILTER
|
||||||
|
:EXPECTED
|
||||||
|
boxes: 138_design_alias_duplicate_name.cfg: line 49: alias already in use -- alias2
|
||||||
|
boxes: 138_design_alias_duplicate_name.cfg: line 49: skipping to next design
|
||||||
|
2 Available Styles in "138_design_alias_duplicate_name.cfg":
|
||||||
|
------------------------------------------------------------
|
||||||
|
|
||||||
|
design1:
|
||||||
|
|
||||||
|
X1 your text X1
|
||||||
|
|
||||||
|
|
||||||
|
design2 alias alias2:
|
||||||
|
|
||||||
|
X2 your text X2
|
||||||
|
|
||||||
|
|
||||||
|
:EOF
|
@ -2,29 +2,6 @@
|
|||||||
# Currently unused.
|
# Currently unused.
|
||||||
|
|
||||||
|
|
||||||
BOX test4
|
|
||||||
|
|
||||||
author "Thomas Jensen"
|
|
||||||
designer "Thomas Jensen"
|
|
||||||
|
|
||||||
sample test4
|
|
||||||
ends
|
|
||||||
|
|
||||||
shapes {
|
|
||||||
e ("1","2","3")
|
|
||||||
w ("1","2","3","4","5")
|
|
||||||
|
|
||||||
s ("#") n ("#") nw ("#") se ("#") sw ("#") ne ("#")
|
|
||||||
}
|
|
||||||
|
|
||||||
elastic (n,s,e, w)
|
|
||||||
|
|
||||||
END test4
|
|
||||||
|
|
||||||
|
|
||||||
# ============================================================================
|
|
||||||
|
|
||||||
|
|
||||||
BOX test5
|
BOX test5
|
||||||
|
|
||||||
author "Thomas Jensen"
|
author "Thomas Jensen"
|
||||||
|
Loading…
Reference in New Issue
Block a user