01: /*
02: * All content copyright (c) 2003-2007 Terracotta, Inc., except as may otherwise be noted in a separate copyright
03: * notice. All rights reserved.
04: */
05: package com.tc.bundles;
06:
07: import junit.framework.TestCase;
08:
09: public class BundleSpecTest extends TestCase {
10:
11: public void testGetRequirementsString() {
12: BundleSpec[] reqs;
13:
14: reqs = check(1, "foo.bar.baz.widget");
15: reqs = check(2, "foo.bar.baz.widget, foo.bar.baz.gadget");
16: reqs = check(1, "foo.bar.baz.widget; bundle-version:=1.0.0 ");
17:
18: reqs = check(1, "foo.bar.baz.widget;bundle-version:=1.0.0");
19: assertEquals("1.0.0", reqs[0].getVersion());
20:
21: reqs = check(1, "foo.bar.baz.widget;bundle-version:=\"1.0.0\"");
22: assertEquals("1.0.0", reqs[0].getVersion());
23:
24: reqs = check(1,
25: "foo.bar.baz.widget;bundle-version:=\"[1.0.0, 2.0.0]\"");
26: reqs = check(1,
27: "foo.bar.baz.widget;bundle-version:=\"[1.0.0, 2.0.0)\"");
28: reqs = check(1,
29: "foo.bar.baz.widget;bundle-version:=\"(1.0.0, 2.0.0)\"");
30: reqs = check(1,
31: "foo.bar.baz.widget;bundle-version:=\"(1.0.0, 2.0.0]\"");
32: reqs = check(1,
33: "foo.bar.baz.widget;bundle-version:=\"[1.0.0,]\"");
34: reqs = check(1,
35: "foo.bar.baz.widget;bundle-version:=\"(1.0.0,)\"");
36: reqs = check(1, "foo.bar.baz.widget;resolution:=optional");
37:
38: reqs = check(1,
39: "org.terracotta.modules.clustered_surefire_2.3;bundle-version:=2.5.0");
40: assertEquals("org.terracotta.modules.clustered_surefire_2.3",
41: reqs[0].getSymbolicName());
42: assertEquals("org.terracotta.modules", reqs[0].getGroupId());
43: assertEquals("clustered_surefire_2.3", reqs[0].getName());
44: assertEquals("2.5.0", reqs[0].getVersion());
45:
46: reqs = check(1,
47: "org.terracotta.modules.excludes_config;bundle-version:=2.5.0");
48: assertEquals("org.terracotta.modules.excludes_config", reqs[0]
49: .getSymbolicName());
50: assertEquals("org.terracotta.modules", reqs[0].getGroupId());
51: assertEquals("excludes_config", reqs[0].getName());
52: assertEquals("2.5.0", reqs[0].getVersion());
53:
54: reqs = check(1,
55: "org.terracotta.modules.clustered_cglib_2.1.3;bundle-version:=2.5.0");
56: assertEquals("org.terracotta.modules.clustered_cglib_2.1.3",
57: reqs[0].getSymbolicName());
58: assertEquals("org.terracotta.modules", reqs[0].getGroupId());
59: assertEquals("clustered_cglib_2.1.3", reqs[0].getName());
60: assertEquals("2.5.0", reqs[0].getVersion());
61: }
62:
63: private BundleSpec[] check(int size, String source) {
64: String[] requirements = BundleSpec.getRequirements(source);
65: assertEquals(size, requirements.length);
66:
67: BundleSpec[] specs = new BundleSpec[requirements.length];
68: for (int i = 0; i < requirements.length; i++) {
69: specs[i] = BundleSpec.newInstance(requirements[i]);
70: }
71:
72: return specs;
73: }
74:
75: }
|