Warning: session_start(): open(/var/lib/php/sessions/sess_13lg6nbj81rd8u0lfuphgb53ff, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
sclass GazelleSiteTester implements AutoCloseable {
PlaywrightAndBrowser playwright;
S site = "https://empty.gazelle.rocks";
new Scorer scorer;
void init {
if (playwright == null) playwright = playwrightWithChromium();
}
abstract class Tester {
Page page;
void assertPageContainsText(S text) {
assertNotNull(scorer, text, page.querySelector("text=" + text));
}
}
class TestRegistration extends Tester {
S user = "testuser" + random(1000000);
S pw = "pw" + random(1000000);
S contact = "dummy contact";
run {
init();
page = playwrightOpenPage(playwright.browser, page, site);
page.click("text=Register as new user");
page.fill("[name=user]", user);
page.fill("[name=f_pw]", pw);
page.fill("[name=pw2]", pw);
page.fill("[name=contact]", contact);
page.click([[[type=submit]:has-text("Register")]]);
assertPageContainsText(replaceDollarVars("User $user created", +user));
}
}
class LogIn extends Tester {
S user;
S pw;
run {
init();
page = playwrightOpenPage(playwright.browser, page, site);
page.fill("[name=user]", user);
page.fill("[name=pw]", pw);
page.click([[[type=submit]:has-text("Log in")]]);
assertPageContainsText("[" + user + "]");
assertPageContainsText("BEA Objects");
}
}
LogIn registerAndLogIn() {
new TestRegistration reg;
reg.run();
new LogIn logIn;
copyFields(reg, logIn, "user", "pw", /*"page"*/);
logIn.run();
ret logIn;
}
public void close { dispose playwright; }
toString { ret "Tested " + site + ": " + scorer; }
}