1 /* 2 * RChunkHeaderParserTests.java 3 * 4 * Copyright (C) 2021 by RStudio, PBC 5 * 6 * Unless you have received this program directly from RStudio pursuant 7 * to the terms of a commercial license agreement with RStudio, then 8 * this program is licensed to you under the terms of version 3 of the 9 * GNU Affero General Public License. This program is distributed WITHOUT 10 * ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT, 11 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the 12 * AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details. 13 * 14 */ 15 package org.rstudio.studio.client.workbench.views.source.editors.text.assist; 16 17 import com.google.gwt.junit.client.GWTTestCase; 18 19 import java.util.Map; 20 21 public class RChunkHeaderParserTests extends GWTTestCase 22 { 23 @Override getModuleName()24 public String getModuleName() 25 { 26 return "org.rstudio.studio.RStudioTests"; 27 } 28 testRMarkdownChunkHeader()29 public void testRMarkdownChunkHeader() 30 { 31 String header = "```{r label, echo=TRUE}"; 32 Map<String, String> pieces = RChunkHeaderParser.parse(header); 33 assertTrue(pieces.containsKey("label")); 34 assertTrue(pieces.containsKey("echo")); 35 assertTrue(pieces.get("label").contentEquals("label")); 36 assertTrue(pieces.get("echo").contentEquals("TRUE")); 37 } 38 testNoCommaBeforeFirstItem()39 public void testNoCommaBeforeFirstItem() 40 { 41 String header = "```{r echo=TRUE}"; 42 Map<String, String> pieces = RChunkHeaderParser.parse(header); 43 assertTrue(pieces.containsKey("echo")); 44 assertTrue(pieces.get("echo").contentEquals("TRUE")); 45 } 46 testCommaBeforeFirstItem()47 public void testCommaBeforeFirstItem() 48 { 49 String header = "```{r, echo=TRUE}"; 50 Map<String, String> pieces = RChunkHeaderParser.parse(header); 51 assertTrue(pieces.containsKey("echo")); 52 assertTrue(pieces.get("echo").contentEquals("TRUE")); 53 } 54 testComplicatedExpression()55 public void testComplicatedExpression() 56 { 57 String header = "```{r, echo= {1 + 1}, message=FALSE}"; 58 Map<String, String> pieces = RChunkHeaderParser.parse(header); 59 assertTrue(pieces.containsKey("echo")); 60 assertTrue(pieces.get("echo").contentEquals("{1 + 1}")); 61 assertTrue(pieces.containsKey("message")); 62 assertTrue(pieces.get("message").contentEquals("FALSE")); 63 } 64 65 } 66