• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

leeonky / test-charm-java / 242

01 May 2025 09:52AM UTC coverage: 74.278% (+0.05%) from 74.224%
242

push

circleci

leeonky
Update version

8077 of 10874 relevant lines covered (74.28%)

0.74 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

90.48
/page-flow/src/main/java/com/github/leeonky/extensions/dal/ElementExtension.java
1
package com.github.leeonky.extensions.dal;
2

3
import com.github.leeonky.dal.DAL;
4
import com.github.leeonky.dal.runtime.Data;
5
import com.github.leeonky.dal.runtime.Extension;
6
import com.github.leeonky.dal.runtime.JavaClassPropertyAccessor;
7
import com.github.leeonky.dal.runtime.checker.Checker;
8
import com.github.leeonky.dal.runtime.checker.CheckingContext;
9
import com.github.leeonky.pf.By;
10
import com.github.leeonky.pf.Element;
11
import com.github.leeonky.pf.Elements;
12
import com.github.leeonky.pf.WebElement;
13
import com.github.leeonky.util.BeanClass;
14

15
public class ElementExtension implements Extension {
1✔
16
    public static final Checker PHONY_CHECKER = new Checker() {
1✔
17
        @Override
18
        public boolean failed(CheckingContext checkingContext) {
19
            return false;
1✔
20
        }
21
    };
22

23
    @Override
24
    @SuppressWarnings("unchecked")
25
    public void extend(DAL dal) {
26
        dal.getRuntimeContextBuilder()
1✔
27
                .checkerSetForMatching()
1✔
28
                .register((expected, actual) -> actual.cast(Element.class)
1✔
29
                        .map(e -> inputToElement(expected, e)))
1✔
30
                .register((expected, actual) -> actual.cast(Elements.class)
1✔
31
                        .map(e -> inputToElement(expected, (Element<?, ?>) e.single())));
1✔
32

33
        dal.getRuntimeContextBuilder().registerPropertyAccessor(WebElement.class,
1✔
34
                new JavaClassPropertyAccessor<WebElement<?, ?>>((BeanClass) BeanClass.create(WebElement.class)) {
1✔
35
                    @Override
36
                    public Object getValue(WebElement<?, ?> webElement, Object property) {
37
                        if (property instanceof String && ((String) property).startsWith("@"))
1✔
38
                            return webElement.attribute(((String) property).substring(1));
×
39
                        return super.getValue(webElement, property);
1✔
40
                    }
41
                });
42

43
        dal.getRuntimeContextBuilder().registerDumper(By.class, byData -> (data, dumpingBuffer) ->
1✔
44
                dumpingBuffer.append(data.value().toString()));
1✔
45
    }
1✔
46

47
    private static Checker inputToElement(Data<?> expected, Element<?, ?> e) {
48
        if (e.isInput()) {
1✔
49
            e.fillIn(expected.value());
1✔
50
            return PHONY_CHECKER;
1✔
51
        }
52
        return null;
×
53
    }
54
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc