]> git.saurik.com Git - bison.git/blobdiff - tests/input.at
In XML output, remove redundant class attribute on symbol element.
[bison.git] / tests / input.at
index 2e12ac6f78d2c53be1aa142f36b97b791e0d8421..da52f71c7731d8f8c0bea29e4bbc3e97f8f806f0 100644 (file)
@@ -848,17 +848,50 @@ AT_CLEANUP
 AT_SETUP([[%define enum variables]])
 
 AT_DATA([[input.y]],
-[[%define push_pull "neither"
+[[%define api.push_pull "neither"
 %%
 start: ;
 ]])
 
 AT_CHECK([[bison input.y]], [1], [],
-[[input.y:1.9-17: invalid value for %define variable `push_pull': `neither'
+[[input.y:1.9-21: invalid value for %define variable `api.push_pull': `neither'
 ]])
 
 AT_CLEANUP
 
+## ------------------------- ##
+## Unused %define api.pure.  ##
+## ------------------------- ##
+
+AT_SETUP([[Unused %define api.pure]])
+
+# AT_CHECK_API_PURE(DECLS, VALUE)
+# -------------------------------
+# Make sure Bison reports that `%define api.pure VALUE' is unused when DECLS
+# are specified.
+m4_define([AT_CHECK_API_PURE],
+[
+AT_DATA([[input.y]],
+[[%define api.pure ]$2[
+]$1[
+%%
+start: ;
+]])
+
+AT_CHECK([[bison input.y]], [0], [],
+[[input.y:1.9-16: warning: %define variable `api.pure' is not used
+]])
+])
+
+AT_CHECK_API_PURE([[%language "c++" %defines]], [[]])
+AT_CHECK_API_PURE([[%language "c++" %defines]], [["false"]])
+AT_CHECK_API_PURE([[%language "c++" %defines %glr-parser]], [[""]])
+AT_CHECK_API_PURE([[%language "c++" %defines %glr-parser]], [["false"]])
+AT_CHECK_API_PURE([[%language "java"]], [["true"]])
+AT_CHECK_API_PURE([[%language "java"]], [["false"]])
+
+AT_CLEANUP
+
 ## -------------------------------- ##
 ## C++ namespace reference errors.  ##
 ## -------------------------------- ##