Skip to content

Commit

Permalink
Add a test to prove that no space is needed after an alias
Browse files Browse the repository at this point in the history
  • Loading branch information
asomov committed Sep 24, 2024
1 parent 4f5f973 commit 5fe82ed
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 1 deletion.
8 changes: 7 additions & 1 deletion src/changes/changes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,13 @@
<title>YAML 1.1 parser and emitter</title>
</properties>
<body>
<release version="2.4" date="in GIT" description="Maintenance">
<release version="2.5" date="in GIT" description="Maintenance">
<action dev="asomov" type="update">
Add a test to prove that no space is needed after an alias.
It is different with SnakeYAML Engine where it is required.
</action>
</release>
<release version="2.4" date="2024-08-31" description="Maintenance">
<action dev="asomov" type="fix" issue="1098">
Fix issue with a big YAML with emoji (thanks to Madalin Ilie)
</action>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/**
* Copyright (c) 2008, SnakeYAML
*
* 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.issue377;

import org.junit.Test;
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.Yaml;

import java.util.HashMap;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;

/**
* Test issue 54 for SnakeYAML Engine (no space is needed after an alias)
*/
public class SpaceAfterAliasTest {
@Test
public void testNoSpaceIsRequired() {
HashMap<Object, Boolean> map = new HashMap<>();
map.put(":one", true);
map.put(map, true);
DumperOptions dumperOptions = new DumperOptions();
LoaderOptions loaderOptions = new LoaderOptions();
loaderOptions.setAllowRecursiveKeys(true);
Yaml yaml = new Yaml(loaderOptions);
String output = yaml.dump(map);
assertEquals("&id001\n" + ":one: true\n" + "*id001: true\n", output);
Object parsed = yaml.load(output);
assertNotNull(parsed);
}
}

0 comments on commit 5fe82ed

Please sign in to comment.