/**
 * Copyright (c) 2008-2013, http://www.snakeyaml.org
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.yaml.snakeyaml.issues.issue176;

import java.util.LinkedHashMap;

import junit.framework.TestCase;

import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.DumperOptions.FlowStyle;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.SafeConstructor;
import org.yaml.snakeyaml.representer.Representer;

public class SingleQuoteTest extends TestCase {

    public void testSingleQuote() throws Exception {
        DumperOptions options = new DumperOptions();
        options.setIndent(4);
        options.setDefaultFlowStyle(FlowStyle.BLOCK);
        Representer representer = new org.yaml.snakeyaml.representer.Representer();
        representer.setDefaultFlowStyle(FlowStyle.BLOCK);

        Yaml yaml = new Yaml(new SafeConstructor(), representer, options);

        LinkedHashMap<String, Object> lvl1 = new LinkedHashMap<String, Object>();
        lvl1.put("steak:cow", "11");
        LinkedHashMap<String, Object> root = new LinkedHashMap<String, Object>();
        root.put("cows", lvl1);
        String output = yaml.dump(root);
        assertEquals("cows:\n    steak:cow: '11'\n", output);
    }
}

@@ -1024,16 +1024,18 @@
 oid test
+No
 SingleQu
@@ -1037,16 +1037,29 @@
 gleQuote
+ForBlockStyle
 () throw
@@ -1072,16 +1072,277 @@
 ption %7B%0A
+        checkQuotes(true, %22cows:%5Cn    steak:cow: '11'%22);%0A    %7D%0A%0A    public void testSingleQuoteForFlowStyle() throws Exception %7B%0A        checkQuotes(false, %22cows: %7B'steak:cow': '11'%7D%22);%0A    %7D%0A%0A    private void checkQuotes(boolean isBlock, String expectation) %7B%0A
         
@@ -1416,16 +1416,43 @@
 ent(4);%0A
+        if (isBlock) %7B%0A    
         
@@ -1497,16 +1497,26 @@
 BLOCK);%0A
+        %7D%0A
         
@@ -1549,109 +1549,20 @@
 new 
-org.yaml.snakeyaml.representer.Representer();%0A        representer.setDefaultFlowStyle(FlowStyle.BLOCK
+Representer(
 );%0A%0A
@@ -1936,35 +1936,23 @@
 als(
-%22cows:%5Cn    steak:cow: '11'
+expectation + %22
 %5Cn%22,

Improve SingleQuoteTest for issue 176