Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Winkler2008-12-01 13:35:29 +0000
committerStefan Winkler2008-12-01 13:35:29 +0000
commit02cc960c39a9b50c5c70f797eb3759b9148a5639 (patch)
tree7cbc9d3bc4a6b9c7a0a272c18a11a8b571985718 /plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/DBStoreTest.java
parentfd25da3564204637c89de2dd122c25a2514cde7c (diff)
downloadcdo-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.java68
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());
+ }
}

Back to the top