Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CON-2881 Markdown HTML Validator Exercise #2624

Merged
merged 1 commit into from
Jul 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions subjects/java/checkpoints/html-validator/ExerciseRunner.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
public class ExerciseRunner {
public static void main(String[] args) {
HTMLValidator validator = new HTMLValidator();

// Test case 1: Valid HTML
String html1 = "<html><body><h1>Hello, World!</h1></body></html>";
System.out.println("Is HTML valid? " + validator.validateHTML(html1)); // Expected output: true

// Test case 2: Invalid HTML (missing closing tag)
String html2 = "<html><body><h1>Hello, World!</body></html>";
System.out.println("Is HTML valid? " + validator.validateHTML(html2)); // Expected output: false

// Test case 3: Invalid HTML (incorrect nesting)
String html3 = "<html><body><h1><div>Hello, World!</h1></div></body></html>";
System.out.println("Is HTML valid? " + validator.validateHTML(html3)); // Expected output: false

// Test case 4: Valid HTML with multiple tags
String html4 = "<html><body><div><p>This is a <b>bold</b> word and this is <i>italic</i>.</p></div></body></html>";
System.out.println("Is HTML valid? " + validator.validateHTML(html4)); // Expected output: true
}
}
55 changes: 55 additions & 0 deletions subjects/java/checkpoints/html-validator/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
## HTML Validator

### Instructions

Create a class `HTMLValidator` that provides a method to validate whether a given HTML string is correctly formatted. The method should support a few basic HTML tags (`<html>`, `<body>`, `<div>`, `<p>`, `<b>`, `<i>`, `<h1>`, `<h2>`). If the HTML is valid, the method should return `true`. If the HTML is invalid, the method should return `false`.
nprimo marked this conversation as resolved.
Show resolved Hide resolved

### Expected Class

```java
public class HTMLValidator {
public boolean validateHTML(String html) {
// Implementation to validate if the given HTML is correctly formatted
}
}
```

### Usage

Here is a possible `ExerciseRunner.java` to test your class:

```java
public class ExerciseRunner {
public static void main(String[] args) {
HTMLValidator validator = new HTMLValidator();

// Test case 1: Valid HTML
String html1 = "<html><body><h1>Hello, World!</h1></body></html>";
System.out.println("Is HTML valid? " + validator.validateHTML(html1)); // Expected output: true

// Test case 2: Invalid HTML (missing closing tag)
String html2 = "<html><body><h1>Hello, World!</body></html>";
System.out.println("Is HTML valid? " + validator.validateHTML(html2)); // Expected output: false

// Test case 3: Invalid HTML (incorrect nesting)
String html3 = "<html><body><h1><div>Hello, World!</h1></div></body></html>";
System.out.println("Is HTML valid? " + validator.validateHTML(html3)); // Expected output: false

// Test case 4: Valid HTML with multiple tags
String html4 = "<html><body><div><p>This is a <b>bold</b> word and this is <i>italic</i>.</p></div></body></html>";
System.out.println("Is HTML valid? " + validator.validateHTML(html4)); // Expected output: true
}
}
```

### Expected Output

```shell
$ javac *.java -d build
$ java -cp build ExerciseRunner
Is HTML valid? true
Is HTML valid? false
Is HTML valid? false
Is HTML valid? true
$
```
Loading