 
     # Consistent formatting
     assert render(break("_"), 80) == "_"
+    assert render(glue("foo", " ", glue("bar", " ", "baz")), 10) ==
+           "foo\nbar\nbaz"
+  end
+
+  test "flex break doc" do
+    # Consistent with definitions
+    assert flex_break("break") == {:doc_break, "break", :flex}
+    assert flex_break("") == {:doc_break, "", :flex}
+
+    # Wrong argument type
+    assert_raise FunctionClauseError, fn -> flex_break(42) end
+
+    # Consistent formatting
+    assert render(flex_break("_"), 80) == "_"
+    assert render(flex_glue("foo", " ", flex_glue("bar", " ", "baz")), 10) ==
+           "foo bar\nbaz"
   end
 
   test "glue doc" do

    assert_raise FunctionClauseError, fn -> glue("a", 42, "b") end
  end

  test "text doc" do
    assert render("_", 80) == "_"
  end

  test "space doc" do
    # Consistent with definitions
    assert space("a", "b") == {:doc_cons,
      "a", {:doc_cons, " ", "b"}
   }
  end

  test "nest doc" do
    # Consistent with definitions
    assert nest(empty(), 1) == {:doc_nest, empty(), 1, :always}
    assert nest(empty(), 0) == :doc_nil


  test "group doc" do
    # Consistent with definitions
    assert group("ab") == {:doc_group, "ab"}
    assert group(empty()) == {:doc_group, empty()}

    # Consistent formatting
