Skip to content

Commit 47934b0

Browse files
authored
Merge branch 'main' into fix-12810-escape-keyword-separators
2 parents 1daaf65 + b8a8408 commit 47934b0

File tree

4 files changed

+29
-2
lines changed

4 files changed

+29
-2
lines changed

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ dependencies {
236236
exclude group: 'org.openjfx'
237237
}
238238
implementation 'org.kordamp.ikonli:ikonli-javafx:12.4.0'
239-
implementation 'org.kordamp.ikonli:ikonli-materialdesign2-pack:12.3.1'
239+
implementation 'org.kordamp.ikonli:ikonli-materialdesign2-pack:12.4.0'
240240
implementation 'com.github.sialcasa.mvvmFX:mvvmfx-validation:f195849ca9' //jitpack
241241
implementation 'de.saxsys:mvvmfx:1.8.0'
242242
implementation('org.jabref:easybind:2.2.1-SNAPSHOT') {

src/main/java/org/jabref/gui/icon/IconTheme.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ public enum JabRefIcons implements JabRefIcon {
176176
REMOVE(MaterialDesignM.MINUS_BOX),
177177
REMOVE_NOBOX(MaterialDesignM.MINUS),
178178
FILE(MaterialDesignF.FILE_OUTLINE),
179-
PDF_FILE(MaterialDesignF.FILE_PDF),
179+
PDF_FILE(MaterialDesignF.FILE_PDF_BOX),
180180
DOI(MaterialDesignB.BARCODE_SCAN),
181181
DUPLICATE(MaterialDesignC.CONTENT_DUPLICATE),
182182
EDIT(MaterialDesignP.PENCIL),

src/test/java/org/jabref/logic/importer/fileformat/pdf/PdfMergeMetadataImporterTest.java

+27
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import org.jabref.model.entry.BibEntry;
1717
import org.jabref.model.entry.LinkedFile;
1818
import org.jabref.model.entry.field.FieldFactory;
19+
import org.jabref.model.entry.field.InternalField;
1920
import org.jabref.model.entry.field.StandardField;
2021
import org.jabref.model.entry.field.UnknownField;
2122
import org.jabref.model.entry.types.StandardEntryType;
@@ -117,6 +118,32 @@ void pdfMetadataExtractedFrom2024SPLCBecker() throws Exception {
117118
assertEquals(List.of(expected), result);
118119
}
119120

121+
@Test
122+
void fetchArxivInformationForPdfWithArxivId() throws Exception {
123+
Path file = Path.of(PdfMergeMetadataImporter.class.getResource("/pdfs/test-arxivMetadata.pdf").toURI());
124+
List<BibEntry> result = importer.importDatabase(file).getDatabase().getEntries();
125+
126+
BibEntry expected = new BibEntry(StandardEntryType.Article)
127+
.withField(StandardField.AUTHOR, "Ricca, Filippo and Marchetto, Alessandro and Stocco, Andrea")
128+
.withField(StandardField.TITLE, "A Multi-Year Grey Literature Review on AI-assisted Test Automation")
129+
.withField(StandardField.DATE, "2024-08-12")
130+
.withField(StandardField.DAY, "2")
131+
.withField(StandardField.ABSTRACT, "Context: Test Automation (TA) techniques are crucial for quality assurance in software engineering but face limitations such as high test suite maintenance costs and the need for extensive programming skills. Artificial Intelligence (AI) offers new opportunities to address these issues through automation and improved practices. Objectives: Given the prevalent usage of AI in industry, sources of truth are held in grey literature as well as the minds of professionals, stakeholders, developers, and end-users. This study surveys grey literature to explore how AI is adopted in TA, focusing on the problems it solves, its solutions, and the available tools. Additionally, the study gathers expert insights to understand AI's current and future role in TA. Methods: We reviewed over 3,600 grey literature sources over five years, including blogs, white papers, and user manuals, and finally filtered 342 documents to develop taxonomies of TA problems and AI solutions. We also cataloged 100 AI-driven TA tools and interviewed five expert software testers to gain insights into AI's current and future role in TA. Results: The study found that manual test code development and maintenance are the main challenges in TA. In contrast, automated test generation and self-healing test scripts are the most common AI solutions. We identified 100 AI-based TA tools, with Applitools, Testim, Functionize, AccelQ, and Mabl being the most adopted in practice. Conclusion: This paper offers a detailed overview of AI's impact on TA through grey literature analysis and expert interviews. It presents new taxonomies of TA problems and AI solutions, provides a catalog of AI-driven tools, and relates solutions to problems and tools to solutions. Interview insights further revealed the state and future potential of AI in TA. Our findings support practitioners in selecting TA tools and guide future research directions.")
132+
.withField(StandardField.EPRINT, "2408.06224")
133+
.withField(StandardField.EPRINTTYPE, "arXiv")
134+
.withField(StandardField.FILE, ":http\\://arxiv.org/pdf/2408.06224v2:PDF;:" + file.toString().replace("\\", "/").replace(":", "\\:") + ":PDF")
135+
.withField(StandardField.EPRINTCLASS, "cs.SE")
136+
.withField(new UnknownField("copyright"), "Creative Commons Attribution Share Alike 4.0 International")
137+
.withField((InternalField.KEY_FIELD), "https://doi.org/10.48550/arxiv.2408.06224")
138+
.withField(StandardField.YEAR, "2024")
139+
.withField(StandardField.KEYWORDS, "Software Engineering (cs.SE), FOS: Computer and information sciences, FOS: Computer and information sciences")
140+
.withField(StandardField.MONTH, "1")
141+
.withField(StandardField.PUBLISHER, "arXiv")
142+
.withField(StandardField.DOI, "10.48550/ARXIV.2408.06224");
143+
144+
assertEquals(List.of(expected), result);
145+
}
146+
120147
@Test
121148
void importRelativizesFilePath() throws Exception {
122149
// Initialize database and preferences
1.92 MB
Binary file not shown.

0 commit comments

Comments
 (0)