@Test public void testSandboxParsing() throws ParseException, TokeniserException { failsToParse("sandbox a!*\n"); failsToParse("sandbox a!*^:"); assertEquals( "sandbox is valid", "sandbox abc", parse("sandbox abc").getDirectiveByType(SandboxDirective.class).show()); Policy p; p = parse("sandbox a"); Policy q; q = parse("sandbox a"); SandboxDirective d1 = p.getDirectiveByType(SandboxDirective.class); assertTrue("sandbox equals", d1.equals(q.getDirectiveByType(SandboxDirective.class))); assertEquals("sandbox hashcode equality", p.hashCode(), q.hashCode()); q = parse("sandbox b; script-src a"); assertFalse( "sandbox directives equality", d1.equals(q.getDirectiveByType(SandboxDirective.class))); d1.union(q.getDirectiveByType(SandboxDirective.class)); assertEquals("sandbox union", "sandbox a b", d1.show()); assertNotEquals("sandbox hashcode inequality", p.hashCode(), q.hashCode()); ScriptSrcDirective d2 = q.getDirectiveByType(ScriptSrcDirective.class); }