diff --git a/tests/languages/inform7/comment_feature.test b/tests/languages/inform7/comment_feature.test new file mode 100644 index 0000000000..f0aedfe0d3 --- /dev/null +++ b/tests/languages/inform7/comment_feature.test @@ -0,0 +1,15 @@ +[Foobar] +[Foo +bar +baz] + +---------------------------------------------------- + +[ + ["comment", "[Foobar]"], + ["comment", "[Foo\r\nbar\r\nbaz]"] +] + +---------------------------------------------------- + +Checks for comments. \ No newline at end of file diff --git a/tests/languages/inform7/keyword_feature.test b/tests/languages/inform7/keyword_feature.test new file mode 100644 index 0000000000..b2497b4a78 --- /dev/null +++ b/tests/languages/inform7/keyword_feature.test @@ -0,0 +1,85 @@ +after +before +carry out +check +continue the action +definition : +do nothing +else +end if +end unless +end the story +every turn +if +include +instead +instead of +let +move +no +now +otherwise +repeat +report +resume the story +rule for +running through +say +saying +stop the action +test +try +trying +understand +unless +use +when +while +yes + +---------------------------------------------------- + +[ + ["keyword", "after"], + ["keyword", "before"], + ["keyword", "carry out"], + ["keyword", "check"], + ["keyword", "continue the action"], + ["keyword", "definition"], ["punctuation", ":"], + ["keyword", "do nothing"], + ["keyword", "else"], + ["keyword", "end if"], + ["keyword", "end unless"], + ["keyword", "end the story"], + ["keyword", "every turn"], + ["keyword", "if"], + ["keyword", "include"], + ["keyword", "instead"], + ["keyword", "instead of"], + ["keyword", "let"], + ["keyword", "move"], + ["keyword", "no"], + ["keyword", "now"], + ["keyword", "otherwise"], + ["keyword", "repeat"], + ["keyword", "report"], + ["keyword", "resume the story"], + ["keyword", "rule for"], + ["keyword", "running through"], + ["keyword", "say"], + ["keyword", "saying"], + ["keyword", "stop the action"], + ["keyword", "test"], + ["keyword", "try"], + ["keyword", "trying"], + ["keyword", "understand"], + ["keyword", "unless"], + ["keyword", "use"], + ["keyword", "when"], + ["keyword", "while"], + ["keyword", "yes"] +] + +---------------------------------------------------- + +Checks for keywords. \ No newline at end of file diff --git a/tests/languages/inform7/number_feature.test b/tests/languages/inform7/number_feature.test new file mode 100644 index 0000000000..cb5ca7ff61 --- /dev/null +++ b/tests/languages/inform7/number_feature.test @@ -0,0 +1,25 @@ +42 +3.14159 +50kg +100m +one two three +four five six +seven eight nine +ten eleven twelve + +---------------------------------------------------- + +[ + ["number", "42"], + ["number", "3.14159"], + ["number", "50kg"], + ["number", "100m"], + ["number", "one"], ["number", "two"], ["number", "three"], + ["number", "four"], ["number", "five"], ["number", "six"], + ["number", "seven"], ["number", "eight"], ["number", "nine"], + ["number", "ten"], ["number", "eleven"], ["number", "twelve"] +] + +---------------------------------------------------- + +Checks for numbers. \ No newline at end of file diff --git a/tests/languages/inform7/position_feature.test b/tests/languages/inform7/position_feature.test new file mode 100644 index 0000000000..a29821797f --- /dev/null +++ b/tests/languages/inform7/position_feature.test @@ -0,0 +1,73 @@ +above +adjacent to +back side of +below +between +down +east +everywhere +front side +here +in +inside +inside from +north +northeast +northwest +nowhere +on +on top of +other side +outside +outside from +part of +parts of +regionally in +south +southeast +southwest +through +up +west +within + +---------------------------------------------------- + +[ + ["position", "above"], + ["position", "adjacent to"], + ["position", "back side of"], + ["position", "below"], + ["position", "between"], + ["position", "down"], + ["position", "east"], + ["position", "everywhere"], + ["position", "front side"], + ["position", "here"], + ["position", "in"], + ["position", "inside"], + ["position", "inside from"], + ["position", "north"], + ["position", "northeast"], + ["position", "northwest"], + ["position", "nowhere"], + ["position", "on"], + ["position", "on top of"], + ["position", "other side"], + ["position", "outside"], + ["position", "outside from"], + ["position", "part of"], + ["position", "parts of"], + ["position", "regionally in"], + ["position", "south"], + ["position", "southeast"], + ["position", "southwest"], + ["position", "through"], + ["position", "up"], + ["position", "west"], + ["position", "within"] +] + +---------------------------------------------------- + +Checks for positions. \ No newline at end of file diff --git a/tests/languages/inform7/property_feature.test b/tests/languages/inform7/property_feature.test new file mode 100644 index 0000000000..4954b9e90f --- /dev/null +++ b/tests/languages/inform7/property_feature.test @@ -0,0 +1,157 @@ +adjacent +carried +closed +concealed +contained +dark +described +edible +empty +enclosed +enterable +even +female +fixed in place +full +handled +held +improper-named +incorporated +inedible +invisible +lighted +lit +lockable +locked +male +marked for listing +mentioned +negative +neuter +non-empty +non-full +non-recurring +odd +opaque +open +openable +plural-named +portable +positive +privately-named +proper-named +provided +publically-named +pushable between rooms +recurring +related +rubbing +scenery +seen +singular-named +supported +swinging +switchable +switched +switched on +switched off +touchable +touched +transparent +unconcealed +undescribed +unlit +unlocked +unmarked for listing +unmentioned +unopenable +untouchable +unvisited +variable +visible +visited +wearable +worn + +---------------------------------------------------- + +[ + ["property", "adjacent"], + ["property", "carried"], + ["property", "closed"], + ["property", "concealed"], + ["property", "contained"], + ["property", "dark"], + ["property", "described"], + ["property", "edible"], + ["property", "empty"], + ["property", "enclosed"], + ["property", "enterable"], + ["property", "even"], + ["property", "female"], + ["property", "fixed in place"], + ["property", "full"], + ["property", "handled"], + ["property", "held"], + ["property", "improper-named"], + ["property", "incorporated"], + ["property", "inedible"], + ["property", "invisible"], + ["property", "lighted"], + ["property", "lit"], + ["property", "lockable"], + ["property", "locked"], + ["property", "male"], + ["property", "marked for listing"], + ["property", "mentioned"], + ["property", "negative"], + ["property", "neuter"], + ["property", "non-empty"], + ["property", "non-full"], + ["property", "non-recurring"], + ["property", "odd"], + ["property", "opaque"], + ["property", "open"], + ["property", "openable"], + ["property", "plural-named"], + ["property", "portable"], + ["property", "positive"], + ["property", "privately-named"], + ["property", "proper-named"], + ["property", "provided"], + ["property", "publically-named"], + ["property", "pushable between rooms"], + ["property", "recurring"], + ["property", "related"], + ["property", "rubbing"], + ["property", "scenery"], + ["property", "seen"], + ["property", "singular-named"], + ["property", "supported"], + ["property", "swinging"], + ["property", "switchable"], + ["property", "switched"], + ["property", "switched on"], + ["property", "switched off"], + ["property", "touchable"], + ["property", "touched"], + ["property", "transparent"], + ["property", "unconcealed"], + ["property", "undescribed"], + ["property", "unlit"], + ["property", "unlocked"], + ["property", "unmarked for listing"], + ["property", "unmentioned"], + ["property", "unopenable"], + ["property", "untouchable"], + ["property", "unvisited"], + ["property", "variable"], + ["property", "visible"], + ["property", "visited"], + ["property", "wearable"], + ["property", "worn"] +] + +---------------------------------------------------- + +Checks for properties. \ No newline at end of file diff --git a/tests/languages/inform7/string_feature.test b/tests/languages/inform7/string_feature.test new file mode 100644 index 0000000000..56a880e163 --- /dev/null +++ b/tests/languages/inform7/string_feature.test @@ -0,0 +1,49 @@ +"" +"foo" +"foo +bar" +"[if the player is in Center Ring]A magician's booth stands in the corner, painted dark blue with glittering gold stars.[otherwise if the magician's booth is closed]A crack of light indicates the way back out to the center ring.[otherwise]The door stands open to the outside.[end if]" + +---------------------------------------------------- + +[ + ["string", ["\"\""]], + ["string", ["\"foo\""]], + ["string", ["\"foo\r\nbar\""]], + ["string", [ + "\"", + ["substitution", [ + ["delimiter", "["], + ["keyword", "if"], ["text", "the"], + ["type", "player"], ["verb", "is"], + ["position", "in"], ["text", "Center Ring"], + ["delimiter", "]"] + ]], + "A magician's booth stands in the corner, painted dark blue with glittering gold stars.", + ["substitution", [ + ["delimiter", "["], + ["keyword", "otherwise"], ["keyword", "if"], + ["text", "the magician's booth"], + ["verb", "is"], + ["property", "closed"], + ["delimiter", "]"] + ]], + "A crack of light indicates the way back out to the center ring.", + ["substitution", [ + ["delimiter", "["], + ["keyword", "otherwise"], + ["delimiter", "]"] + ]], + "The door stands open to the outside.", + ["substitution", [ + ["delimiter", "["], + ["keyword", "end if"], + ["delimiter", "]"] + ]], + "\"" + ]] +] + +---------------------------------------------------- + +Checks for strings and text substitution. \ No newline at end of file diff --git a/tests/languages/inform7/title_feature.test b/tests/languages/inform7/title_feature.test new file mode 100644 index 0000000000..ec3cdbfbb4 --- /dev/null +++ b/tests/languages/inform7/title_feature.test @@ -0,0 +1,21 @@ +Volume 1 - Foobar +Book 2 - Foobar +Part 3 - Foobar +Chapter 4 - Foobar +Section 5 - Foobar +Table 6 - Foobar + +---------------------------------------------------- + +[ + ["title", "Volume 1 - Foobar"], + ["title", "Book 2 - Foobar"], + ["title", "Part 3 - Foobar"], + ["title", "Chapter 4 - Foobar"], + ["title", "Section 5 - Foobar"], + ["title", "Table 6 - Foobar"] +] + +---------------------------------------------------- + +Checks for titles. \ No newline at end of file diff --git a/tests/languages/inform7/variable_feature.test b/tests/languages/inform7/variable_feature.test new file mode 100644 index 0000000000..25c2f74052 --- /dev/null +++ b/tests/languages/inform7/variable_feature.test @@ -0,0 +1,141 @@ +action +actions +activity +activities +actor +actors +animal +animals +backdrop +backdrops +container +containers +device +devices +direction +directions +door +doors +holder +holders +kind +kinds +list +lists +man +men +nobody +nothing +noun +nouns +number +numbers +object +objects +people +person +persons +player +player's holdall +region +regions +relation +relations +room +rooms +rule +rules +rulebook +rulebooks +scene +scenes +someone +something +supporter +supporters +table +tables +text +texts +thing +things +time +vehicle +vehicles +woman +women + +---------------------------------------------------- + +[ + ["type", "action"], + ["type", "actions"], + ["type", "activity"], + ["type", "activities"], + ["type", "actor"], + ["type", "actors"], + ["type", "animal"], + ["type", "animals"], + ["type", "backdrop"], + ["type", "backdrops"], + ["type", "container"], + ["type", "containers"], + ["type", "device"], + ["type", "devices"], + ["type", "direction"], + ["type", "directions"], + ["type", "door"], + ["type", "doors"], + ["type", "holder"], + ["type", "holders"], + ["type", "kind"], + ["type", "kinds"], + ["type", "list"], + ["type", "lists"], + ["type", "man"], + ["type", "men"], + ["type", "nobody"], + ["type", "nothing"], + ["type", "noun"], + ["type", "nouns"], + ["type", "number"], + ["type", "numbers"], + ["type", "object"], + ["type", "objects"], + ["type", "people"], + ["type", "person"], + ["type", "persons"], + ["type", "player"], + ["type", "player's holdall"], + ["type", "region"], + ["type", "regions"], + ["type", "relation"], + ["type", "relations"], + ["type", "room"], + ["type", "rooms"], + ["type", "rule"], + ["type", "rules"], + ["type", "rulebook"], + ["type", "rulebooks"], + ["type", "scene"], + ["type", "scenes"], + ["type", "someone"], + ["type", "something"], + ["type", "supporter"], + ["type", "supporters"], + ["type", "table"], + ["type", "tables"], + ["type", "text"], + ["type", "texts"], + ["type", "thing"], + ["type", "things"], + ["type", "time"], + ["type", "vehicle"], + ["type", "vehicles"], + ["type", "woman"], + ["type", "women"] +] + +---------------------------------------------------- + +Checks for variables. \ No newline at end of file diff --git a/tests/languages/inform7/verb_feature.test b/tests/languages/inform7/verb_feature.test new file mode 100644 index 0000000000..3da285d303 --- /dev/null +++ b/tests/languages/inform7/verb_feature.test @@ -0,0 +1,213 @@ +applying to +are +attacking +answering +asking +be +being +burning +buying +called +carries +carry +carrying +climbing +closing +conceal +conceals +concealing +consulting +contain +contains +containing +cutting +drinking +dropping +eating +enclose +encloses +enclosing +entering +examining +exiting +getting +giving +going +have +has +having +hold +holds +holding +imply +implies +incorporate +incorporates +incorporating +inserting +is +jumping +kissing +listening +locking +looking +mean +means +meaning +opening +provide +provides +providing +pulling +pushing +putting +relate +relates +relating +removing +searching +see +sees +seeing +setting +showing +singing +sleeping +smelling +squeezing +switching +support +supports +supporting +swearing +taking +tasting +telling +thinking +throwing +touching +turning +tying +unlock +unlocks +unlocking +vary +varies +varying +waiting +waking +waving +wear +wears +wearing + +---------------------------------------------------- + +[ + ["verb", "applying to"], + ["verb", "are"], + ["verb", "attacking"], + ["verb", "answering"], + ["verb", "asking"], + ["verb", "be"], + ["verb", "being"], + ["verb", "burning"], + ["verb", "buying"], + ["verb", "called"], + ["verb", "carries"], + ["verb", "carry"], + ["verb", "carrying"], + ["verb", "climbing"], + ["verb", "closing"], + ["verb", "conceal"], + ["verb", "conceals"], + ["verb", "concealing"], + ["verb", "consulting"], + ["verb", "contain"], + ["verb", "contains"], + ["verb", "containing"], + ["verb", "cutting"], + ["verb", "drinking"], + ["verb", "dropping"], + ["verb", "eating"], + ["verb", "enclose"], + ["verb", "encloses"], + ["verb", "enclosing"], + ["verb", "entering"], + ["verb", "examining"], + ["verb", "exiting"], + ["verb", "getting"], + ["verb", "giving"], + ["verb", "going"], + ["verb", "have"], + ["verb", "has"], + ["verb", "having"], + ["verb", "hold"], + ["verb", "holds"], + ["verb", "holding"], + ["verb", "imply"], + ["verb", "implies"], + ["verb", "incorporate"], + ["verb", "incorporates"], + ["verb", "incorporating"], + ["verb", "inserting"], + ["verb", "is"], + ["verb", "jumping"], + ["verb", "kissing"], + ["verb", "listening"], + ["verb", "locking"], + ["verb", "looking"], + ["verb", "mean"], + ["verb", "means"], + ["verb", "meaning"], + ["verb", "opening"], + ["verb", "provide"], + ["verb", "provides"], + ["verb", "providing"], + ["verb", "pulling"], + ["verb", "pushing"], + ["verb", "putting"], + ["verb", "relate"], + ["verb", "relates"], + ["verb", "relating"], + ["verb", "removing"], + ["verb", "searching"], + ["verb", "see"], + ["verb", "sees"], + ["verb", "seeing"], + ["verb", "setting"], + ["verb", "showing"], + ["verb", "singing"], + ["verb", "sleeping"], + ["verb", "smelling"], + ["verb", "squeezing"], + ["verb", "switching"], + ["verb", "support"], + ["verb", "supports"], + ["verb", "supporting"], + ["verb", "swearing"], + ["verb", "taking"], + ["verb", "tasting"], + ["verb", "telling"], + ["verb", "thinking"], + ["verb", "throwing"], + ["verb", "touching"], + ["verb", "turning"], + ["verb", "tying"], + ["verb", "unlock"], + ["verb", "unlocks"], + ["verb", "unlocking"], + ["verb", "vary"], + ["verb", "varies"], + ["verb", "varying"], + ["verb", "waiting"], + ["verb", "waking"], + ["verb", "waving"], + ["verb", "wear"], + ["verb", "wears"], + ["verb", "wearing"] +] + +---------------------------------------------------- + +Checks for verbs. \ No newline at end of file