@Test
public void testWeavingPackages() {
ClassTransformer ct1b = Skeleton.newMock(ClassTransformer.class);
ServiceReference provider1 = basicProviderSetup(new String[] {"specifiedPackage1", "specifiedPackage2;attribute=value"});
JPAWeavingHook tr = (JPAWeavingHook) TransformerRegistryFactory.getTransformerRegistry();
//Add a transforme and check it gets called to weave
tr.addTransformer(b1, ct1a, provider1);
//Check a second weaver isn't called for a when the first gives a result
tr.addTransformer(b1, ct1b, provider1);
ProtectionDomain pd = new ProtectionDomain(null, null);
byte[] bytes = new byte[] {(byte) 0xBE, (byte)0xAD};
byte[] returnedBytes = new byte[] {(byte) 0xBA, (byte)0xDE};
Skeleton.getSkeleton(ct1a).setReturnValue(new MethodCall(ClassTransformer.class, "transform",
this.getClass().getClassLoader(), "test3", this.getClass(), pd, bytes), returnedBytes);
WovenClass wc = getWovenClass(b1, "test3", bytes, this.getClass().getClassLoader(),
this.getClass(), pd);
tr.weave(wc);
Skeleton.getSkeleton(ct1a).assertCalled(new MethodCall(ClassTransformer.class, "transform",
this.getClass().getClassLoader(), "test3", this.getClass(), pd, bytes));
Skeleton.getSkeleton(ct1b).assertNotCalled(new MethodCall(ClassTransformer.class, "transform",