jaroslav@425: /** jaroslav@425: * Back 2 Browser Bytecode Translator jaroslav@425: * Copyright (C) 2012 Jaroslav Tulach jaroslav@425: * jaroslav@425: * This program is free software: you can redistribute it and/or modify jaroslav@425: * it under the terms of the GNU General Public License as published by jaroslav@425: * the Free Software Foundation, version 2 of the License. jaroslav@425: * jaroslav@425: * This program is distributed in the hope that it will be useful, jaroslav@425: * but WITHOUT ANY WARRANTY; without even the implied warranty of jaroslav@425: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the jaroslav@425: * GNU General Public License for more details. jaroslav@425: * jaroslav@425: * You should have received a copy of the GNU General Public License jaroslav@425: * along with this program. Look for COPYING file in the top folder. jaroslav@425: * If not, see http://opensource.org/licenses/GPL-2.0. jaroslav@424: */ jaroslav@424: package org.apidesign.bck2brwsr.tck; jaroslav@424: jaroslav@1285: import org.apidesign.bck2brwsr.vmtest.BrwsrTest; jaroslav@424: import org.apidesign.bck2brwsr.vmtest.Compare; jaroslav@424: import org.apidesign.bck2brwsr.vmtest.VMTest; jaroslav@424: import org.testng.annotations.Factory; jaroslav@424: jaroslav@424: /** jaroslav@424: * jaroslav@424: * @author Jaroslav Tulach jaroslav@424: */ jaroslav@1285: public class NotifyWaitTest { jaroslav@424: jaroslav@1513: jaroslav@1285: @Compare public synchronized String canCallNotify() throws Exception { jaroslav@1285: notify(); jaroslav@1285: return "OK"; jaroslav@1285: } jaroslav@1285: jaroslav@1285: @Compare public synchronized String canCallNotifyAll() throws Exception { jaroslav@1285: notifyAll(); jaroslav@1285: return "OK"; jaroslav@1285: } jaroslav@1285: jaroslav@1285: @BrwsrTest public synchronized String throwsInterruptedException() { jaroslav@1285: try { jaroslav@1285: wait(); jaroslav@1285: throw new IllegalStateException(); jaroslav@1285: } catch (InterruptedException ex) { jaroslav@1285: return "OK"; jaroslav@424: } jaroslav@1285: } jaroslav@1285: jaroslav@1285: @BrwsrTest public synchronized String waitMsThrowsInterruptedException() { jaroslav@1285: try { jaroslav@1285: wait(32); jaroslav@1285: throw new IllegalStateException(); jaroslav@1285: } catch (InterruptedException ex) { jaroslav@1285: return "OK"; jaroslav@1285: } jaroslav@424: } jaroslav@424: jaroslav@424: @Factory public static Object[] create() { jaroslav@1285: return VMTest.create(NotifyWaitTest.class); jaroslav@424: } jaroslav@424: }