/* * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions.
*/
/* @test * @bug 4313887 6838333 * @summary Unit test for java.nio.file.SecureDirectoryStream * @library ..
*/
// create a file, directory, and two sym links in the directory
Path fileEntry = Paths.get("myfile");
createFile(dir1.resolve(fileEntry));
Path dirEntry = Paths.get("mydir");
createDirectory(dir1.resolve(dirEntry)); // myfilelink -> myfile
Path link1Entry = Paths.get("myfilelink"); if (supportsLinks)
createSymbolicLink(dir1.resolve(link1Entry), fileEntry); // mydirlink -> mydir
Path link2Entry = Paths.get("mydirlink"); if (supportsLinks)
createSymbolicLink(dir1.resolve(link2Entry), dirEntry);
// open directory and then move it so that it is no longer accessible // via its original path.
SecureDirectoryStream<Path> stream =
(SecureDirectoryStream<Path>)newDirectoryStream(dir1);
move(dir1, dir2);
// Test: iterate over all entries int count = 0; for (Path entry: stream) { count++; }
assertTrue(count == (supportsLinks ? 4 : 2));
// target name
Path target = Paths.get("newfile");
// open stream to both directories
SecureDirectoryStream<Path> stream1 =
(SecureDirectoryStream<Path>)newDirectoryStream(dir1);
SecureDirectoryStream<Path> stream2 =
(SecureDirectoryStream<Path>)newDirectoryStream(dir2);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.