Path: blob/master/test/jdk/javax/sound/sampled/AudioSystem/DefaultProperties/DefaultPropertiesNegative.java
41161 views
/*1* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*/2223import java.nio.file.Paths;2425import com.sun.media.sound.JDK13Services;2627/**28* @test29* @bug 820127930* @run main/othervm/policy=negative.policy DefaultPropertiesNegative31* @summary this test checks that "javax.sound.config.file" will be ignored if32* the user has no access to the properties file33* @modules java.desktop/com.sun.media.sound34*/35public class DefaultPropertiesNegative {3637private static final Class[] lineTypeClasses = {38javax.sound.sampled.SourceDataLine.class,39javax.sound.sampled.TargetDataLine.class,40javax.sound.sampled.Clip.class,41javax.sound.sampled.Port.class,42};4344public static void main(String[] args) throws Exception {45boolean allOk = true;46String path = Paths.get(System.getProperty("test.src", "."),47"testdata", "conf", "sound.properties")48.toAbsolutePath().normalize().toString();49System.setProperty("javax.sound.config.file", path);5051for (int i = 0; i < lineTypeClasses.length; i++) {52Class cls = lineTypeClasses[i];53// properties file, both provider class name and instance name54String result = JDK13Services.getDefaultProviderClassName(cls);55if (result != null) {56out("type " + cls + " failed: provider class should be 'null' "57+ "but is '" + result + "'!");58allOk = false;59}60result = JDK13Services.getDefaultInstanceName(cls);61if (result != null) {62out("type " + cls + " failed: instance name should be 'null' "63+ "but is '" + result + "'!");64allOk = false;65}66}67if (! allOk) {68throw new Exception("Test failed");69} else {70out("Test passed");71}72}7374private static void out(String message) {75System.out.println(message);76}77}787980