浏览代码

add reserved word tests for 'doc', too

Robert Muir 9 年之前
父节点
当前提交
632bb4c720
共有 1 个文件被更改,包括 16 次插入0 次删除
  1. 16 0
      modules/lang-painless/src/test/java/org/elasticsearch/painless/ReservedWordTests.java

+ 16 - 0
modules/lang-painless/src/test/java/org/elasticsearch/painless/ReservedWordTests.java

@@ -37,4 +37,20 @@ public class ReservedWordTests extends ScriptTestCase {
         });
         });
         assertTrue(expected.getMessage().contains("Variable [_score] is read-only"));
         assertTrue(expected.getMessage().contains("Variable [_score] is read-only"));
     }
     }
+    
+    /** check that we can't declare a variable of doc, its really reserved! */
+    public void testDocVar() {
+        IllegalArgumentException expected = expectThrows(IllegalArgumentException.class, () -> {
+            exec("int doc = 5; return doc;");
+        });
+        assertTrue(expected.getMessage().contains("Variable name [doc] already defined"));
+    }
+    
+    /** check that we can't write to _score, its read-only! */
+    public void testDocStore() {
+        IllegalArgumentException expected = expectThrows(IllegalArgumentException.class, () -> {
+            exec("doc = 5; return doc;");
+        });
+        assertTrue(expected.getMessage().contains("Variable [doc] is read-only"));
+    }
 }
 }