diff options
author | Stefan Winkler | 2008-12-01 13:35:29 +0000 |
---|---|---|
committer | Stefan Winkler | 2008-12-01 13:35:29 +0000 |
commit | 02cc960c39a9b50c5c70f797eb3759b9148a5639 (patch) | |
tree | 7cbc9d3bc4a6b9c7a0a272c18a11a8b571985718 /plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/DBStoreTest.java | |
parent | fd25da3564204637c89de2dd122c25a2514cde7c (diff) | |
download | cdo-02cc960c39a9b50c5c70f797eb3759b9148a5639.tar.gz cdo-02cc960c39a9b50c5c70f797eb3759b9148a5639.tar.xz cdo-02cc960c39a9b50c5c70f797eb3759b9148a5639.zip |
[244290] [DB] Trailing backslash is not escaped
https://bugs.eclipse.org/bugs/show_bug.cgi?id=244290
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/DBStoreTest.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/DBStoreTest.java | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/DBStoreTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/DBStoreTest.java index 98e782b644..f25e7db848 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/DBStoreTest.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/DBStoreTest.java @@ -12,6 +12,7 @@ package org.eclipse.emf.cdo.tests; import org.eclipse.emf.cdo.CDOSession; import org.eclipse.emf.cdo.CDOTransaction; +import org.eclipse.emf.cdo.CDOView; import org.eclipse.emf.cdo.eresource.CDOResource; import org.eclipse.emf.cdo.tests.model1.Company; import org.eclipse.emf.cdo.tests.model1.Model1Factory; @@ -34,4 +35,71 @@ public class DBStoreTest extends AbstractCDOTest t.commit(); } + + public void testStoreStringTrailingBackslash() + { + storeRetrieve("foobar\\"); + } + + public void testStoreStringContainingBackslash() + { + storeRetrieve("foo\\bar"); + } + + public void testStoreStringTrailingSingleQuote() + { + storeRetrieve("foobar'"); + } + + public void testStoreStringContainingSingleQuote() + { + storeRetrieve("foo'bar"); + } + + public void testStoreStringTrailingDoubleQuote() + { + storeRetrieve("foobar\""); + } + + public void testStoreStringContainingDoubleQuote() + { + storeRetrieve("foo\"bar"); + } + + public void testStoreStringTrailingTwoSingleQuote() + { + storeRetrieve("foobar''"); + } + + public void testStoreStringContainingTwoSingleQuote() + { + storeRetrieve("foo''bar"); + } + + private void storeRetrieve(String s) + { + CDOSession session = openModel1Session(); + CDOTransaction transaction = session.openTransaction(); + CDOResource resource = transaction.getOrCreateResource("/test"); + + Company e = Model1Factory.eINSTANCE.createCompany(); + e.setName(s); + // this escapes only the string! + // resulting string only contains one backslash + + resource.getContents().add(e); + transaction.commit(); + + transaction.close(); + session.close(); + clearCache(getRepository().getRevisionManager()); + + session = openModel1Session(); + CDOView view = session.openView(); + resource = view.getResource("/test"); + + assertEquals(1, resource.getContents().size()); + e = (Company)resource.getContents().get(0); + assertEquals(s, e.getName()); + } } |