test_that("parse", {
expect_equal(parse(tokenize("1")), list(node_num(1)))
expect_equal(parse(tokenize("1+2")), list(node("+", node_num(1), node_num(2))))
expect_equal(parse(tokenize("1+2*3")), list(node("+", node_num(1), node("*", node_num(2), node_num(3)))))
expect_equal(parse(tokenize("1*2+3")), list(node("+", node("*", node_num(1), node_num(2)), node_num(3))))
expect_equal(parse(tokenize("1*(2+3)")), list(node("*", node_num(1), node("+", node_num(2), node_num(3)))))
expect_equal(parse(tokenize("(1+2)*3")), list(node("*", node("+", node_num(1), node_num(2)), node_num(3))))
expect_equal(parse(tokenize("a=1")), list(node("=", node_ident("a"), node_num(1))))
expect_equal(parse(tokenize("a=b=1")), list(node("=", node_ident("a"), node("=", node_ident("b"), node_num(1)))))
expect_equal(parse(tokenize("a=1+2")), list(node("=", node_ident("a"), node("+", node_num(1), node_num(2)))))
expect_equal(parse(tokenize("a=1;")), list(node("=", node_ident("a"), node_num(1))))
expect_equal(parse(tokenize("a=1;a+2")), list(node("=", node_ident("a"), node_num(1)),
node("+", node_ident("a"), node_num(2))))
expect_equal(parse(tokenize("a <- 1;")), list(node("=", node_ident("a"), node_num(1))))
expect_equal(parse(tokenize("a==2+3")), list(node("==", node_ident("a"), node("+", node_num(2), node_num(3)))))
expect_equal(parse(tokenize("a-1!=2")), list(node("!=", node("-", node_ident("a"), node_num(1)), node_num(2))))
expect_equal(parse(tokenize("var_name1=2")), list(node("=", node_ident("var_name1"), node_num(2))))
expect_equal(parse(tokenize("foo()")), list(node_call(node_ident("foo"), list())))
expect_equal(parse(tokenize("foo(1)")), list(node_call(node_ident("foo"), list(node_num(1)))))
expect_equal(parse(tokenize("foo(1, 2)")), list(node_call(node_ident("foo"), list(node_num(1), node_num(2)))))
expect_equal(parse(tokenize("function() 1")), list(node_function(list(), node_num(1))))
expect_equal(parse(tokenize("function(a, b) a + b")), list(node_function(list(node_ident("a"), node_ident("b")),
node("+", node_ident("a"), node_ident("b")))))
expect_equal(parse(tokenize("function() 1; 2")), list(node_function(list(), node_num(1)), node_num(2)))
expect_equal(parse(tokenize("add2 <- function(x) x + 2")),
list(node("=", node_ident("add2"), node_function(list(node_ident("x")), node("+", node_ident("x"), node_num(2))))))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.