我试图找出如何使用差异制作表单登录
像一些用户是管理员,其他是用户,另一个是vip
我尝试添加 Unexpected method call FilenameUtils.getExtension("thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog.jpeg"):
java.lang.AssertionError
Unexpected method call FilenameUtils.getExtension("thequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydogthequickbrownfoxjumpsoverthelazydog.jpeg"):
at org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:44)
at org.powermock.api.easymock.internal.invocationcontrol.EasyMockMethodInvocationControl.invoke(EasyMockMethodInvocationControl.java:91)
at org.powermock.core.MockGateway.doMethodCall(MockGateway.java:105)
at org.powermock.core.MockGateway.methodCall(MockGateway.java:60)
at org.apache.commons.io.FilenameUtils.getExtension(FilenameUtils.java)
at com.eurodyn.ecatalogue.util.FileUtil.sanitizeFilename(FileUtil.java:235)
at com.eurodyn.ecatalogue.ejb.session.others.AsyncFileDownloadManagerBeanTest.testSanitizeFilename(AsyncFileDownloadManagerBeanTest.java:130)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.powermock.modules.junit4.rule.PowerMockStatement$1.run(PowerMockRule.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.powermock.reflect.internal.WhiteboxImpl.performMethodInvocation(WhiteboxImpl.java:2014)
at org.powermock.reflect.internal.WhiteboxImpl.doInvokeMethod(WhiteboxImpl.java:885)
at org.powermock.reflect.internal.WhiteboxImpl.invokeMethod(WhiteboxImpl.java:713)
at org.powermock.reflect.Whitebox.invokeMethod(Whitebox.java:401)
at org.powermock.classloading.ClassloaderExecutor.execute(ClassloaderExecutor.java:98)
at org.powermock.classloading.ClassloaderExecutor.execute(ClassloaderExecutor.java:78)
at org.powermock.modules.junit4.rule.PowerMockStatement.evaluate(PowerMockRule.java:49)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runners.Suite.runChild(Suite.java:127)
at org.junit.runners.Suite.runChild(Suite.java:26)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:123)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:104)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:107)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68)
并更改变量,但它没有用。
else

答案 0 :(得分:1)
这里唯一的问题是,你忘了申报所有数组。 添加所有缺少的声明。
var users = new Array();
var passes = new Array();
var ausers = new Array();
var apasses = new Array();
然后它会起作用。
答案 1 :(得分:0)
您尚未定义ausers,users,pass,apasses array
答案 2 :(得分:0)
添加了缺少的数组声明。
<html>
<head>
<script language="javascript">
var vipz = new Array();
var vasses = new Array();
var ausers = new Array();
var apasses = new Array();
function init(){
vipz.push("vadmin");
vasses.push("vadmin");
vipz.push("vuser");
vasses.push("vuser");
vipz.push("velcius");
vasses.push("vitz");
users.push("admins");
passes.push("admins");
users.push("vipz");
passes.push("vipz");
users.push("celciuss");
passes.push("bitzs");
ausers.push("adminsa");
apasses.push("adminsa");
ausers.push("vipza");
apasses.push("vipza");
ausers.push("celciussa");
apasses.push("bitzsa");
}
function login(){
var ddl = document.getElementById("op");
var selectedValue = ddl.options[ddl.selectedIndex].value;
for(var i = 0;i<vipz.length;i++){
if(document.getElementById("user").value == vipz[i]){
if(document.getElementById("pass").value == vasses[i]){
if (selectedValue == "vip"){
alert("You have logged in");
document.getElementById("result").innerHTML = "You have logged into "+vipz[i];
}
}
}
}
for(var j = 0;j<users.length;j++){
if(document.getElementById("user").value == users[j]){
if(document.getElementById("pass").value == passes[j]){
if (selectedValue == "user"){
alert("You have logged in");
document.getElementById("result").innerHTML = "You have logged into "+users[j];
}
}
}
}
for(var k = 0;k<users.length;k++){
if(document.getElementById("user").value == users[k]){
if(document.getElementById("pass").value == passes[k]){
if (selectedValue == "admin"){
alert("You have logged in");
document.getElementById("result").innerHTML = "You have logged into "+users[k];
}
}
}
}
}
</script>
</head>
<body onLoad="init();">
<fieldset>
<table>
<tr><td><label>User</label></td>
<td><input type="text" id="user" /></td></tr>
<br>
<tr><td><label>Password</label></td>
<td><input type="password" id="pass" /></td></tr>
<br>
<tr><td>
<select type="opt" id="op" name="cards">
<option value="admin"> admin </option>
<option value="user"> user </option>
<option value="vip"> vip </option>
</td>
<td><input type="button" value="Submit" onClick="login();" /></td></tr>
<p id="result"></p>
</fieldset>
</body>
</html>
&#13;