From a8f3c17102a1ec8d766bcd57db74da5fb8c6cf5a Mon Sep 17 00:00:00 2001 From: DARSAN Date: Thu, 21 Nov 2024 14:07:24 +0530 Subject: [PATCH] Test cases updated. --- configLoader.ts | 4 +- test/browser.test.ts | 11 +- test/{main.test.ts => node.test.ts} | 109 +++--- .../browser-env/Sitesearch/searchpage.html | 27 ++ test/outputs/browser-env/article.html | 52 +++ .../browser-env/carousels/courses.html | 135 ++++++++ .../outputs/browser-env/carousels/movies.html | 140 ++++++++ .../browser-env/carousels/recipies.html | 311 ++++++++++++++++++ .../browser-env/carousels/restaurants.html | 287 ++++++++++++++++ test/outputs/browser-env/events.html | 239 ++++++++++++++ test/outputs/browser-env/faq.html | 79 +++++ test/outputs/browser-env/localbusiness.html | 283 ++++++++++++++++ test/outputs/browser-env/org.html | 142 ++++++++ test/outputs/browser-env/product.html | 187 +++++++++++ .../productVarient/productCombined.html | 185 +++++++++++ test/outputs/browser-env/profilepage.html | 79 +++++ test/outputs/browser-env/softwareapp.html | 74 +++++ test/outputs/browser-env/videos.html | 44 +++ .../Output_10_courses.html} | 6 + .../Output_11_events.html} | 12 +- .../Output_12_faq.html} | 6 + .../Output_13_videos.html} | 14 +- .../Output_14_localbusiness.html} | 6 + .../Output_15_org.html} | 6 + .../Output_16_product.html} | 10 +- .../Output_17_productCombined.html} | 12 +- .../Output_18_profilepage.html} | 6 + .../Output_19_searchpage.html} | 6 + .../Output_1_article.html} | 8 + .../Output_20_softwareapp.html} | 6 + .../Output_2_notindex.html} | 0 .../Output_3_recipies.html} | 14 +- .../Output_4_recipies.html} | 14 +- .../Output_5_movies.html} | 6 + .../Output_6_movies.html} | 6 + .../Output_7_restaurants.html} | 6 + .../Output_8_restaurants.html} | 6 + .../Output_9_courses.html} | 6 + 38 files changed, 2453 insertions(+), 91 deletions(-) rename test/{main.test.ts => node.test.ts} (56%) create mode 100644 test/outputs/browser-env/Sitesearch/searchpage.html create mode 100644 test/outputs/browser-env/article.html create mode 100644 test/outputs/browser-env/carousels/courses.html create mode 100644 test/outputs/browser-env/carousels/movies.html create mode 100644 test/outputs/browser-env/carousels/recipies.html create mode 100644 test/outputs/browser-env/carousels/restaurants.html create mode 100644 test/outputs/browser-env/events.html create mode 100644 test/outputs/browser-env/faq.html create mode 100644 test/outputs/browser-env/localbusiness.html create mode 100644 test/outputs/browser-env/org.html create mode 100644 test/outputs/browser-env/product.html create mode 100644 test/outputs/browser-env/productVarient/productCombined.html create mode 100644 test/outputs/browser-env/profilepage.html create mode 100644 test/outputs/browser-env/softwareapp.html create mode 100644 test/outputs/browser-env/videos.html rename test/outputs/{OP_Of_(10) courses.html => node-env/Output_10_courses.html} (98%) rename test/outputs/{OP_Of_(11) events.html => node-env/Output_11_events.html} (97%) rename test/outputs/{OP_Of_(12) faq.html => node-env/Output_12_faq.html} (96%) rename test/outputs/{OP_Of_(13) videos.html => node-env/Output_13_videos.html} (92%) rename test/outputs/{OP_Of_(14) localbusiness.html => node-env/Output_14_localbusiness.html} (98%) rename test/outputs/{OP_Of_(15) org.html => node-env/Output_15_org.html} (97%) rename test/outputs/{OP_Of_(16) product.html => node-env/Output_16_product.html} (97%) rename test/outputs/{OP_Of_(17) productCombined.html => node-env/Output_17_productCombined.html} (96%) rename test/outputs/{OP_Of_(18) profilepage.html => node-env/Output_18_profilepage.html} (97%) rename test/outputs/{OP_Of_(19) searchpage.html => node-env/Output_19_searchpage.html} (83%) rename test/outputs/{OP_Of_(1) article.html => node-env/Output_1_article.html} (93%) rename test/outputs/{OP_Of_(20) softwareapp.html => node-env/Output_20_softwareapp.html} (92%) rename test/outputs/{OP_Of_(2) notindex.html => node-env/Output_2_notindex.html} (100%) rename test/outputs/{OP_Of_(3) recipies.html => node-env/Output_3_recipies.html} (97%) rename test/outputs/{OP_Of_(4) recipies.html => node-env/Output_4_recipies.html} (97%) rename test/outputs/{OP_Of_(5) movies.html => node-env/Output_5_movies.html} (96%) rename test/outputs/{OP_Of_(6) movies.html => node-env/Output_6_movies.html} (97%) rename test/outputs/{OP_Of_(7) restaurants.html => node-env/Output_7_restaurants.html} (98%) rename test/outputs/{OP_Of_(8) restaurants.html => node-env/Output_8_restaurants.html} (98%) rename test/outputs/{OP_Of_(9) courses.html => node-env/Output_9_courses.html} (98%) diff --git a/configLoader.ts b/configLoader.ts index ed51ddc..6c4b879 100644 --- a/configLoader.ts +++ b/configLoader.ts @@ -3,9 +3,9 @@ import { join } from "node:path"; import { configurationOptions } from "./lib/types"; export default function loadConfig(): configurationOptions { - const CONFIG_FILE_NAME = "richie.config.js"; + const CONFIG_FILE_NAME = "richie.config"; - const projectConfigFile = join(process.cwd(), CONFIG_FILE_NAME); + const projectConfigFile = join(process.cwd(), `${CONFIG_FILE_NAME}.js`); const projectHasConfig = existsSync(projectConfigFile); let projectConfig: configurationOptions = {} as configurationOptions; diff --git a/test/browser.test.ts b/test/browser.test.ts index 57f83af..f8a1e47 100644 --- a/test/browser.test.ts +++ b/test/browser.test.ts @@ -1,8 +1,10 @@ -import { mkdirSync, writeFileSync } from "node:fs"; +import { mkdirSync, rmSync, writeFileSync } from "node:fs"; import { dirname, join, relative, resolve } from "node:path"; import puppeteer, { type Browser } from "puppeteer"; import { richies } from "../lib/types"; +const outputBase = "test/outputs/browser-env"; + async function _RenderResult( browser: Browser, htmlPath: string, @@ -28,7 +30,7 @@ async function _RenderResult( // Define the output destination const outputDest = join( - "test/test-sample-outputs", // Base output folder + outputBase, // Base output folder relative("test/test-sample", htmlPath), // Relative path from the base source folder ); @@ -36,7 +38,7 @@ async function _RenderResult( mkdirSync(dirname(outputDest), { recursive: true }); writeFileSync(outputDest, content); - console.log(`HTML saved to ${outputDest}`); + /* console.log(`HTML saved to ${outputDest}`); */ } catch (err) { console.error("Error during rendering:", err); } @@ -105,6 +107,9 @@ const testParamMap: Partial< }; async function runAll() { + // Clean up and prepare output directory + rmSync(outputBase, { recursive: true, force: true }); + // Launch the browser once at the start const browser = await puppeteer.launch({ headless: true }); diff --git a/test/main.test.ts b/test/node.test.ts similarity index 56% rename from test/main.test.ts rename to test/node.test.ts index 5353533..f17e377 100644 --- a/test/main.test.ts +++ b/test/node.test.ts @@ -1,124 +1,101 @@ import { existsSync, mkdirSync, rmSync } from "node:fs"; - import { basename, join } from "path"; import { richies, testProps } from "../lib/types"; import { richie } from "../richie"; -const opfolder = "./test/outputs"; -let iterN = 0; - -function mkDestPath(testfile: string): string { - iterN += 1; +const opFolder = "./test/outputs/node-env"; +let iteration = 0; +// Generate a unique destination path for test output +function createDestinationPath(testFile: string): string { + iteration += 1; return join( process.cwd(), - opfolder, - `OP_Of_(${iterN}) ${basename(testfile)}`, + opFolder, + `Output_${iteration}_${basename(testFile)}`, ); } -function createTestProps(testfile: string): testProps { +// Create test properties object +function createTestProps(testFile: string): testProps { return { - testfile: testfile, - destFile: mkDestPath(testfile), + testfile: testFile, + destFile: createDestinationPath(testFile), }; } +// Define test cases const testRecords: Record = { article: createTestProps("test/test-sample/article.html"), - breadcrumb: createTestProps( "test/test-sample/breadcrumb/sub-breadcrumb/notindex.html", ), - crecipe: createTestProps("test/test-sample/carousels/recipies.html"), recipe: createTestProps("test/test-sample/carousels/recipies.html"), - movie: createTestProps("test/test-sample/carousels/movies.html"), cmovie: createTestProps("test/test-sample/carousels/movies.html"), - restaurant: createTestProps( "test/test-sample/carousels/restaurants.html", ), crestaurant: createTestProps( "test/test-sample/carousels/restaurants.html", ), - course: createTestProps("test/test-sample/carousels/courses.html"), ccourse: createTestProps("test/test-sample/carousels/courses.html"), - event: createTestProps("test/test-sample/events.html"), - faq: createTestProps("test/test-sample/faq.html"), - video: createTestProps("test/test-sample/videos.html"), - localbusiness: createTestProps("test/test-sample/localbusiness.html"), - organization: createTestProps("test/test-sample/org.html"), - product: createTestProps("test/test-sample/product.html"), productwv: createTestProps( "test/test-sample/productVarient/productCombined.html", ), - profile: createTestProps("test/test-sample/profilepage.html"), - searchbox: createTestProps( "test/test-sample/Sitesearch/searchpage.html", ), - software: createTestProps("test/test-sample/softwareapp.html"), }; -function run(richieName: richies): Promise { - const testfile = testRecords[richieName].testfile; - const destinationFile = testRecords[richieName].destFile; - - return richie([richieName], testfile, destinationFile); +// Execute a single test case +async function executeTest(richieName: richies): Promise { + const { testfile, destFile } = testRecords[richieName]; + await richie([richieName], testfile, destFile); } -function runAll(): Promise { - //delete old artifacts - try { - rmSync(opfolder, { recursive: true }); - } catch { - //nothing to do - } finally { - //make op dir - mkdirSync(opfolder, { recursive: true }); - } - - const testOps: Promise[] = []; - - for (const richieName of Object.keys(testRecords)) { - testOps.push(run(richieName as richies)); - } +// Execute all test cases +async function executeAllTests(): Promise { + // Clean up and prepare output directory + rmSync(opFolder, { recursive: true, force: true }); + mkdirSync(opFolder, { recursive: true }); + + // Run all tests in parallel + await Promise.all( + Object.keys(testRecords).map((richieName) => + executeTest(richieName as richies), + ), + ); - return new Promise((resolve, reject) => { - Promise.all(testOps) - .then(() => { - resolve("passed"); - }) - .catch((err) => { - reject(err); - }); - }); + return "passed"; } -function outputCheck(): string { - for (const richieName of Object.keys(testRecords)) { - if (!existsSync(testRecords[richieName as richies].destFile)) { - return "failed"; - } - } - return "passed"; +// Verify output files +function verifyOutputs(): string { + return ( + Object.values(testRecords).every(({ destFile }) => + existsSync(destFile), + ) + ) ? + "passed" + : "failed"; } -test("InAction test", async () => { - expect(await runAll()).toBe("passed"); +// Test cases +test("Execute all tests", async () => { + expect(await executeAllTests()).toBe("passed"); }); -test("Output files Check", () => { - expect(outputCheck()).toBe("passed"); +test("Verify output files", () => { + expect(verifyOutputs()).toBe("passed"); }); diff --git a/test/outputs/browser-env/Sitesearch/searchpage.html b/test/outputs/browser-env/Sitesearch/searchpage.html new file mode 100644 index 0000000..2fc29ae --- /dev/null +++ b/test/outputs/browser-env/Sitesearch/searchpage.html @@ -0,0 +1,27 @@ + + + + Search Form + + + + + + + + +

Search Form

+
+ + + +
+
+ + + \ No newline at end of file diff --git a/test/outputs/browser-env/article.html b/test/outputs/browser-env/article.html new file mode 100644 index 0000000..250cce8 --- /dev/null +++ b/test/outputs/browser-env/article.html @@ -0,0 +1,52 @@ + + + + Article Test Page + + + + + + + + + + +

2024-02-06 08:37 PM

+ +

2024-06-26 05:23 PM

+ +
+ + + + + + + + +

Dr.Phil

+ + + User Profile + + +

Software Engineer

+ +

Winchester

+ User Profile + +

Cresteem

+ + +

Google

+ +
+ + + \ No newline at end of file diff --git a/test/outputs/browser-env/carousels/courses.html b/test/outputs/browser-env/carousels/courses.html new file mode 100644 index 0000000..0f1d410 --- /dev/null +++ b/test/outputs/browser-env/carousels/courses.html @@ -0,0 +1,135 @@ + + + + Courses + + + + + +
+ +
+ + +

Python Crash Course

+ + + +

By Saravanan

+ + +

Online

+ + +

This course serves as an introduction to Python programming, covering essential + concepts and skills necessary for beginners to start coding in Python. Participants will learn about + basic syntax, data types, control flow structures, functions, and file handling. Additionally, the + course will cover key Python libraries and modules for common tasks such as data manipulation, + visualization, and working with external files. Throughout the course, hands-on exercises and projects + will reinforce learning objectives, allowing participants to apply their newfound knowledge to + real-world scenarios.

+ + +

68 Hours

+ + + +

100 USD

+ + + +

LMS

+
+ +
+ + +
+ + +

Node.Js introduction

+ + + +

By Ram

+ + +

Onsite

+ + +

This course provides a comprehensive introduction to Node.js, a popular runtime + environment for executing JavaScript code server-side. Participants will learn how to build scalable, + high-performance web applications using Node.js, leveraging its asynchronous, event-driven architecture. + The course covers essential concepts such as event loops, modules, package management, and asynchronous + programming patterns. Additionally, participants will explore key Node.js frameworks and libraries for + web development, including Express.js for building web servers and handling HTTP requests. Hands-on + exercises and projects will reinforce learning objectives, allowing participants to apply their + knowledge to real-world scenarios.

+ + +

24 Hours

+ + + +

2000 USD

+ + + +

Edutube

+
+
+ + +
+ + +

Java Intermediate to Advanced

+ + +

English

+

Hindi

+ + + +

Peter

+ + +

Blended

+ + + +

This course offers a comprehensive introduction to Java programming, covering + core + concepts and principles essential for beginners to embark on their journey in Java development. + Participants will learn about Java syntax, object-oriented programming (OOP), control flow structures, + exception handling, and input/output operations. Additionally, the course will cover key Java libraries + and frameworks, providing a solid foundation for developing robust, scalable applications. Hands-on + exercises and projects will reinforce learning objectives, enabling participants to apply their + knowledge to practical scenarios.

+ + +

1 Months

+ + + +

2000 RS

+ + + +

Notoracle

+
+
+
+ + + \ No newline at end of file diff --git a/test/outputs/browser-env/carousels/movies.html b/test/outputs/browser-env/carousels/movies.html new file mode 100644 index 0000000..fc4a212 --- /dev/null +++ b/test/outputs/browser-env/carousels/movies.html @@ -0,0 +1,140 @@ + + + + Movies + + + + + + + +
+ + +

Dawn of Justice

+ + + + + + +

2016-02-05

+ + +

Zack Synder

+

Another director

+ + + +
+ +

100

+ + +

100

+ + +

1000

+
+ + +
+ + +
+ +

Darsan

+ +

100

+ +

98

+ +

IMDB

+
+ +
+ +

NotIndiaGlitz

+ + +

5

+ +

4.5

+ +

RottenTomato

+
+ +
+ +
+ + +
+ + +

Justice League

+ + + + + + +

2017-04-10

+ + +

Zack Synder

+

Joss Whedon

+ + + +
+ +

95

+ + +

100

+ + +

800

+
+ + +
+ + +
+ +

Darsan

+ +

100

+ +

90

+ +

IMDB

+
+ +
+ +

NotIndiaGlitz

+ + +

5

+ +

3.5

+ +

Rotten Tomato

+
+ +
+ +
+ + + + \ No newline at end of file diff --git a/test/outputs/browser-env/carousels/recipies.html b/test/outputs/browser-env/carousels/recipies.html new file mode 100644 index 0000000..4477e9c --- /dev/null +++ b/test/outputs/browser-env/carousels/recipies.html @@ -0,0 +1,311 @@ + + + + Recipe + + + + + + +
+ +
+ + +

Biryani

+ + + + + + +

Darsan

+ + +

2023-01-12

+ + +

+ Biryani is a flavorful and aromatic rice dish originating from the + Indian subcontinent. It consists of long-grain rice cooked with a + blend of spices such as cumin, cardamom, and saffron, layered with + marinated meats or vegetables. Biryani offers a rich and complex taste + profile and is often served with accompaniments like raita or salad. +

+ + + + +

25 minutes

+ + + + + + +

20 minutes

+ + + + +

4

+ + +

Rich Dishes

+ + +

Indian

+ + +
+ +

300

+
+ + +
    +
  • Basmati Rice - 2 cups
  • +
  • Meat (chicken, lamb, or beef) or Vegetables - 500 grams
  • +
  • Aromatic Spices
  • +
  • Yogurt - 1/2 cup
  • +
  • Saffron - A pinch (soaked in 2 tablespoons of warm milk)
  • +
  • Rose Water - 1 tablespoon
  • +
+ + +
+ + +
+ +

Prepare the Rice:

+ + + +

+ Rinse 2 cups of basmati rice under cold water until the water runs + clear. Soak the rice in water for 30 minutes, then drain. In a + large pot, bring water to a boil and add the drained rice along + with a pinch of salt. Cook until the rice is 70% done, then drain + and set aside. +

+
+ + + +
+ +

Prepare the Meat or Vegetables:

+ + + +

+ Marinate 500 grams of meat (chicken, lamb, or beef) or vegetables + in a mixture of yogurt and aromatic spices (cumin, cardamom, + cloves, cinnamon, bay leaves). Allow the meat or vegetables to + marinate for at least 30 minutes to absorb the flavors. +

+
+ + +
+ +

Layering:

+ + + +

+ In a heavy-bottomed pot, layer the partially cooked rice and + marinated meat or vegetables alternately. Drizzle saffron soaked + in warm milk and rose water over the layers for added fragrance + and color. Optionally, sprinkle fried onions and chopped mint + leaves between the layers. +

+
+ + +
+ +

Cooking:

+ + + +

+ Cover the pot with a tight-fitting lid and cook on low heat for + 20-25 minutes, allowing the flavors to meld together and the rice + to fully cook. Alternatively, you can place the pot in a preheated + oven at 350°F (180°C) for the same duration. +

+
+ + +
+ +

Serve:

+ + + +

+ Once cooked, gently fluff the biryani with a fork, ensuring the + layers remain intact. Serve hot garnished with additional fried + onions, chopped cilantro, and a side of raita or salad for a + complete meal experience. Enjoy your flavorful homemade biryani! +

+
+ +
+ + +
+ +

100

+ +

99

+ +

1200

+
+ + + + + +
    +
  • Biryani recipe
  • +
  • Authentic biryani
  • +
  • Homemade biryani
  • +
  • Indian biryani
  • +
  • Chicken biryani
  • +
  • Vegetable biryani
  • +
  • Spicy biryani
  • +
  • Easy biryani recipe
  • +
  • Delicious biryani
  • +
  • Traditional biryani dish
  • +
+ +
+ + +
+ + +

Classic Oatmeal

+ + + + + +

Your Name

+ + +

2024-04-26

+ + +

+ Classic oatmeal is a nutritious and comforting breakfast option. Made from + rolled oats and simmered in milk or water, it's a versatile dish that can + be customized with various toppings to suit your taste preferences. +

+ + +

10 minutes

+ + +

5 minutes

+ + +

2

+ + +

Breakfast

+ + +

American

+ + +
+ +

150

+
+ + +
    +
  • Rolled oats - 1 cup
  • +
  • Milk or water - 2 cups
  • +
  • Optional toppings: fruits, nuts, honey, cinnamon, etc.
  • +
+ + +
+ + +
+ +

Cook the Oats:

+ + + +

+ In a saucepan, bring the milk or water to a gentle boil over medium heat. + Stir in the rolled oats and reduce the heat to low. Simmer uncovered, + stirring occasionally, for about 5 minutes or until the oats are soft and + the mixture has thickened to your desired consistency. +

+
+ + +
+ +

Serve:

+ + + +

+ Once cooked, remove the oatmeal from heat and let it sit for a minute + before serving. Pour into bowls and top with your favorite toppings + such as fresh fruits, nuts, a drizzle of honey, or a sprinkle of cinnamon. + Enjoy your warm and nutritious bowl of oatmeal! +

+
+ +
+ + +
+ +

5

+ +

4.5

+ +

500

+
+ + +
    +
  • Oatmeal recipe
  • +
  • Classic oatmeal
  • +
  • Breakfast dish
  • +
  • Healthy breakfast
  • +
  • Quick oats
  • +
  • Cinnamon oats
  • +
  • Simple oatmeal
  • +
  • Nutritious breakfast
  • +
  • Warm breakfast
  • +
+ + + +
+ + +
+ + + + \ No newline at end of file diff --git a/test/outputs/browser-env/carousels/restaurants.html b/test/outputs/browser-env/carousels/restaurants.html new file mode 100644 index 0000000..987716f --- /dev/null +++ b/test/outputs/browser-env/carousels/restaurants.html @@ -0,0 +1,287 @@ + + + + Restaurants + + + + + +
+
+ +

Hookie Dookie

+ + +
+ picture of reception + another 1 + another 1 +
+ + + +
+ + +

008, Papanna street

+

St Mark's Rd

+ + +

Bengaluru

+ + +

Karnataka

+ + +

560001

+ + +

India

+
+ + +
+ +
+ +

4.5

+ + +

5

+ + + + +

Dean

+ +

Amazon

+
+ +
+ +

4.5

+ + +

5

+ + + + +

Someone

+ +

Noogle

+
+ +
+ + + +

+91-84259372x3

+ + +

Asian

+

Mexican

+ + +

INR 200 - INR 500

+ + +
+ + + + +

Sunday - Thursday (10:00 - 21:00)

+ + + + + +

Saturday (13:00 - 18:00)

+ + +

Friday (10:00AM - 06:00PM)

+ +
+ + + +

Menu

+
+ + + +
+ +

100

+ + +

100

+ + +

1000

+
+ + + +

+ #Tag1 + #Tag2 + #Tag3 + #Tag4 +

+ +

+ Chennai + Osur + Hyderabad +

+ +
+ + +
+ +

Gotham Restaurant

+ + +
+ picture of reception + +
+ + + +
+ + +

12 E 12th St

+ + + +

New York

+ + +

NY

+ + +

10003

+ + +

United States of America

+
+ + +
+ +
+ +

4.9

+ + +

5

+ + + + +

Sammy

+ +

Google

+
+ +
+ +

4.6

+ + +

5

+ + + + +

John

+ +

Noogle

+
+ +
+ + + +

+1 212-380-8x60

+ + +

American

+

Mexican

+ + +

$100 - $1200

+ + +
+ + + + +

Saturday - Thursday(08:00 - 21:00)

+ + + + +

Saturday (13:00 - 18:00)

+ +

Friday (10:00AM - 06:00PM)

+ +
+ + + +

Menu

+
+ + + +
+ +

78

+ + +

100

+ + +

9873

+
+ + + +

+ #Tag1 + #Tag2 + #Tag3 + #Tag4 +

+ + + +

+ New York +

+
+
+ + + \ No newline at end of file diff --git a/test/outputs/browser-env/events.html b/test/outputs/browser-env/events.html new file mode 100644 index 0000000..745ed67 --- /dev/null +++ b/test/outputs/browser-env/events.html @@ -0,0 +1,239 @@ + + + + Events + + + + + + +
+ + +
+

The Age of AI

+ + +

Starting Date: 2024-02-26 05:23 PM

+ + +

Ending Date: 2024-03-26 05:23 PM

+ + +

Attendance Mode: Online

+ + + + + + +

Event Status: Scheduled

+ + +
+ + Spotify Podcasts +
+ + + + + + + +

Explore the cutting-edge world of Deep Learning at our AI event! Dive + into + the + latest advancements, breakthroughs, and applications of neural networks and deep learning algorithms. + Join experts, researchers, and enthusiasts as we discuss the future of AI, its impact on various + industries, and how deep learning is reshaping technology and society. From natural language processing + to computer vision and beyond, discover the power of deep learning and its potential to revolutionize + the way we live, work, and interact with machines.

+ + + +

Event Fee: FREE

+ + Book Here + + +

Actor/Performer: + DARSAN, + DEAN, + SAM +

+ + + + + +

Organised By Cresteem

+ + +
+ + + +
+

The Age of Dark Web

+ + +

Starting Date: 2024-02-26 05:23 PM

+ + +

Ending Date: 2024-03-26 05:23 PM

+ + +

Attendance Mode: Offline

+ + + +

Event Status: Moved to Online

+ + + + + +
+

The Grand Plaza

+ + +

90, MGR Nagar Street

+

Public Office Road

+ + +

Nagapattinam

+ + +

TamilNadu

+ + +

611-001

+ + +

India

+
+ + + + + + + +

Explore the mysterious realms of the Dark Web during this age + of + digital anonymity. 💻🌐 Uncover hidden networks, encrypted communication, and clandestine marketplaces. + Delve into the shadows of cyberspace where anonymity reigns and secrets lurk. Discover + the unseen corners of the internet and unlock the secrets of the digital underworld. + #DarkWeb #CyberSecrecy #DigitalAge

+ + + +

Event Fee: 200 INR

+ + Book Here + + +

Actor/Performer: + DARSAN, +

+ + + + + +

Organised By Cresteem

+ + +
+ + + +
+ +

How to Win

+ + +

Starting Date: 2024-02-26 05:23 PM

+ + +

Ending Date: 2024-03-26 05:23 PM

+ + +

Attendance Mode: Online and Offline

+ + +

Event Status: Cancelled

+ + + +
+

The Grand Plaza

+ + +

90, MGR Nagar Street

+

Public Office Road

+ + +

Nagapattinam

+ + +

TamilNadu

+ + +

611-001

+ + +

India

+ + + Spotify Podcasts + +
+ + + + + + + +

Unlock the secrets to winning your audience over in webinars! + 🌟 + Preparation is key: set clear objectives and rehearse your content. Engage with + interactive elements like polls and Q&A to keep participants hooked. Keep it + concise, visually appealing, and follow up afterward for maximum + impact. Ready to captivate your audience? Let's make your next webinar a hit! 💼💻 #WebinarSuccess + #Engagement #PreparationIsKey +

+ + + +

Event Fee: 10 USD

+ + Book Here + + +

Actor/Performer: + DEAN, + SAM +

+ + + + +

Organised By JOHN

+ + +
+
+ + + + + \ No newline at end of file diff --git a/test/outputs/browser-env/faq.html b/test/outputs/browser-env/faq.html new file mode 100644 index 0000000..804be72 --- /dev/null +++ b/test/outputs/browser-env/faq.html @@ -0,0 +1,79 @@ + + + + FAQ Page + + + + + + +
+ + + Can you provide a content management system (CMS) that allows me to + update the website easily? + + +

+ Certainly! We take pride in crafting custom Content Management + Systems (CMS) tailored exclusively to your requirements. + Unlike common pre-made template CMS, our solutions are designed with + your unique needs in mind. With Cresteem, managing your website's + content is not only simple but also seamlessly integrated for a + truly + personalized experience. +

+ +
+ + +
+ + + Do you offer any additional services, such as digital marketing, + SEO, or social media management, to help promote the website? + + +

+ Absolutely! Beyond website development, Cresteem offers an + array of comprehensive services. Our immersive + digital marketing strategies are finely tuned to captivate your + potential clients, ensuring rapid growth. We deploy strategic operations to optimize + your website's performance, and our expertise extends to captivating + your target audience on various social media platforms. + We're your one-stop solution for a powerful online presence. +

+
+ + +
+ + + Will the website be optimized for fast loading times and + performance? + + +

+ At Cresteem, + yes optimizing website performance is our top priority. We're + dedicated to creating + highly accessible, lightning-fast, and reliable web applications, + landing pages, or e-commerce platforms + tailored to your business. Our commitment is evident in our + track record of achieving load times consistently below 2 + seconds. + We employ a range of cutting-edge tools and techniques, including + Google PageSpeed Insights, responsive design, and emulated devices, + to ensure your website maintains the highest quality and speed. +

+
+ + + + \ No newline at end of file diff --git a/test/outputs/browser-env/localbusiness.html b/test/outputs/browser-env/localbusiness.html new file mode 100644 index 0000000..620d410 --- /dev/null +++ b/test/outputs/browser-env/localbusiness.html @@ -0,0 +1,283 @@ + + + + Restaurants + + + + + +
+
+ +

Hookie Dookie

+ + +
+ picture of reception + another 1 + another 1 +
+ + + +
+ + +

008, Papanna street

+

St Mark's Rd

+ + +

Bengaluru

+ + +

Karnataka

+ + +

560001

+ + +

India

+
+ + +
+ +
+ +

4.5

+ + +

5

+ + + + +

Dean

+ +

Amazon

+
+ +
+ +

4.5

+ + +

5

+ + + + +

Someone

+ +

Noogle

+
+ +
+ + + +

+91-84259372x3

+ + +

Asian

+

Mexican

+ + +

INR 200 - INR 500

+ + +
+ + + + +

Sunday - Thursday (10:00 - 21:00)

+ + + + + +

Saturday (13:00 - 18:00)

+ + +

Friday (10:00AM - 06:00PM)

+ +
+ + + +

Menu

+
+ + + +
+ +

100

+ + +

100

+ + +

1000

+
+ + + +

+ #Tag1 + #Tag2 + #Tag3 + #Tag4 +

+ +

+ Chennai + Osur + Hyderabad +

+ +
+ + +
+ +

Gotham Restaurant

+ + +
+ picture of reception + +
+ + + +
+ + +

12 E 12th St

+ + + +

New York

+ + +

NY

+ + +

10003

+ + +

United States of America

+
+ + +
+ +
+ +

4.9

+ + +

5

+ + + + +

Sammy

+ +

Google

+
+ +
+ +

4.6

+ + +

5

+ + + + +

John

+ +

Noogle

+
+ +
+ + + +

+1 212-380-8x60

+ + + +

$100 - $1200

+ + +
+ + + + +

Saturday - Thursday(08:00 - 21:00)

+ + + + +

Saturday (13:00 - 18:00)

+ +

Friday (10:00AM - 06:00PM)

+ +
+ + + +

Menu

+
+ + + +
+ +

78

+ + +

100

+ + +

9873

+
+ + + +

+ #Tag1 + #Tag2 + #Tag3 + #Tag4 +

+ + +

+ New York +

+
+
+ + + \ No newline at end of file diff --git a/test/outputs/browser-env/org.html b/test/outputs/browser-env/org.html new file mode 100644 index 0000000..a9dbd7f --- /dev/null +++ b/test/outputs/browser-env/org.html @@ -0,0 +1,142 @@ + + + + Organisation + + + + + +
+ + +
+ + +

VideoLANO

+ + + + + +
+ picture of reception + + another 1 + + another 1 +
+ + +
+ + +

90, MGR Nagar Street

+

Public Office Road

+ + +

Nagapattinam

+ + +

TamilNadu

+ + +

611-001

+ + +

India

+
+ + +

+91-8425937x53

+ + +
+ Instagram + LinkedIN + Youtube +
+ +

+ We are a premier software company, offering top-notch web, mobile, and desktop development, SEO, + digital + marketing, UI/UX, and software solutions. With advanced AI integration, we deliver + excellence on time, + creatively, and affordably. +

+ +

hello@videolano.com

+ +

IN8E679878

+ +

2023

+ +
+ + + +
+ + +

Joogle

+ + + + + +
+ picture of reception + another 1 + another 1 +
+ + +
+ + +

10,XYZ Street

+ + + +

Chennai

+ + +

TamilNadu

+ + +

600028

+ + +

India

+
+ + +

098733x2530

+ + +
+ Instagram + LinkedIN + Youtube +
+ +

+ Joogle Web Design located in the Northern Suburbs is one of Perth's most affordable web design company's +

+ +

hello@joogle.com

+ +

IN9079875C

+ +

2024

+ +
+
+ + + \ No newline at end of file diff --git a/test/outputs/browser-env/product.html b/test/outputs/browser-env/product.html new file mode 100644 index 0000000..9a01587 --- /dev/null +++ b/test/outputs/browser-env/product.html @@ -0,0 +1,187 @@ + + + + Product Page + + + + + + +
+ + +

Denim Jacket

+ + + Product Image 1 + Product Image 2 + + +

Product Description Lorem ipsum dolor sit amet, consectetur adipiscing elit.

+ + +

SKU ID: 123456789

+ + +

MPN Code: ABC123

+ + +

Brand: XYZ Brand

+ + +

Price: 990

+ +

Availability: In Stock

+ + +

Item Condition: New

+ + +

Return Policy: 30 days

+ +

Return Fees: Free

+ + +

Shipping Cost: 80

+ +

Processing Time: 1-3 business days

+ +

Estimated Delivery Time: 3-5 business days

+ + + +
+
+ +

4.5

+ + +

5

+ + + +

John

+
+ +
+ +

4.5

+ + +

5

+ + + +

Foogle

+
+
+ + +
+ +

100

+ + +

100

+ + +

1000

+
+ + +
+ + +
+ + +

Denim Jacket

+ + + Product Image 1 + Product Image 2 + + +

Product Description Lorem ipsum dolor sit amet, consectetur adipiscing elit.

+ + +

SKU ID: 123456789

+ + +

MPN Code: ABC123

+ + +

Brand: XYZ Brand

+ + +

Price: 990

+ +

Availability: In Stock

+ + +

Item Condition: New

+ + +

Return Policy: 30 days

+ +

Return Fees: Free

+ + +

Shipping Cost: 80

+ +

Processing Time: 1-3 business days

+ +

Estimated Delivery Time: 3-5 business days

+ + + +
+
+ +

4.5

+ + +

5

+ + + +

John

+
+ +
+ +

4.5

+ + +

5

+ + + +

Foogle

+
+
+ + +
+ +

100

+ + +

100

+ + +

1000

+
+ + +
+ + + + \ No newline at end of file diff --git a/test/outputs/browser-env/productVarient/productCombined.html b/test/outputs/browser-env/productVarient/productCombined.html new file mode 100644 index 0000000..af97955 --- /dev/null +++ b/test/outputs/browser-env/productVarient/productCombined.html @@ -0,0 +1,185 @@ + + + + Product Page + + + + + +
+ + +

Denim Jacket | Black | Age 20 | Male

+ + + Product Image 1 + Product Image 2 + + +

Product Description Lorem ipsum dolor sit amet, consectetur adipiscing elit.

+ + +

SKU ID: 123456789

+ + +

MPN Code: ABC123

+ + +

Brand: XYZ Brand

+ + +

Price: 990

+ +

Availability: In Stock

+ + +

Item Condition: New

+ + +

Return Policy: 30 days

+ +

Return Fees: Free

+ + +

Shipping Cost: 80

+ +

Processing Time: 1-3 business days

+ +

Estimated Delivery Time: 3-5 business days

+ + + +
+
+ +

4.5

+ + +

5

+ + + +

John

+
+ +
+ +

4.5

+ + +

5

+ + + +

Foogle

+
+
+ + +
+ +

100

+ + +

100

+ + +

1000

+
+ + +
+ +
+ + +

Denim Jacket | Brown | Age 10 | Female

+ + + Product Image 1 + Product Image 2 + + +

Product Description Lorem ipsum dolor sit amet, consectetur adipiscing elit.

+ + +

SKU ID: 123456789

+ + +

MPN Code: ABC123

+ + +

Brand: XYZ Brand

+ + +

Price: 990

+ +

Availability: In Stock

+ + +

Item Condition: New

+ + +

Return Policy: 30 days

+ +

Return Fees: Free

+ + +

Shipping Cost: 80

+ +

Processing Time: 1-3 business days

+ +

Estimated Delivery Time: 3-5 business days

+ + + +
+
+ +

4.5

+ + +

5

+ + + +

John

+
+ +
+ +

4.5

+ + +

5

+ + + +

Foogle

+
+
+ + +
+ +

100

+ + +

100

+ + +

1000

+
+ + +
+ + + + \ No newline at end of file diff --git a/test/outputs/browser-env/profilepage.html b/test/outputs/browser-env/profilepage.html new file mode 100644 index 0000000..47b5873 --- /dev/null +++ b/test/outputs/browser-env/profilepage.html @@ -0,0 +1,79 @@ + + + + Profile Page + + + + + + +
+
+ + +

2024-06-06 08:37 PM

+ + +

2024-02-26 05:23 PM

+ + + + +

Posts Written By Author: 87

+

Posts Liked By Author: 1002

+

Author Follows: 35

+

Shared/Reposted Contents: 30

+ + +

Author Followers: 391080

+

Cummulative Likes: 9873221

+

Mutual Connections: 33

+ + +

DARSAN

+ +

iamspdarsan

+ +

@iamspdarsan

+ +

Seasoned Web Developer skilled in turning design concepts into flawless, + high-performance websites. Proficient in multiple languages and frameworks, I excel in crafting + clean, maintainable and user-centric code. My expertise in SEO and UI/UX ensures + captivating, user-focused experiences

+ + +
+ +
+ + +
+ +

This is example 1 headline

+

2024-06-06 08:37 PM

+ Read More +
+ +
+ +

This is example 2 headline

+

2024-06-09 11:27 PM

+ Read More +
+ +
+ +
+ + + \ No newline at end of file diff --git a/test/outputs/browser-env/softwareapp.html b/test/outputs/browser-env/softwareapp.html new file mode 100644 index 0000000..8026074 --- /dev/null +++ b/test/outputs/browser-env/softwareapp.html @@ -0,0 +1,74 @@ + + + + Software X - HomePage + + + + + + + + +
+ + +
+

God of War

+ +

+ Category: Game +

+ +

+ Supported on: Windows, PS4 +

+ + +
+ +

99 / 100

+ +

Number of rating: 90864000

+
+ +

2000

+ +
+ + + + +
+

JobRAID

+ +

+ Category: Business +

+ +

Supported on:

+
    +
  1. Android
  2. +
  3. Windows
  4. +
+ + +
+ +

96 / 100

+ +

Number of rating: 7900

+
+ +

5600

+ +
+ +
+ + \ No newline at end of file diff --git a/test/outputs/browser-env/videos.html b/test/outputs/browser-env/videos.html new file mode 100644 index 0000000..6331a48 --- /dev/null +++ b/test/outputs/browser-env/videos.html @@ -0,0 +1,44 @@ + + + + Videos + + + + + + +
+ +
+ +
    +
  • Photo Testing
  • +
  • Video Testing
  • +
  • Cinematic Testing
  • +
+ + +
+ + +
+
    +
  • Bruce Wayne Entry
  • +
  • Clark Messing Around
  • +
  • Batman Prep time
  • +
+ + +
+ +
+ + + + \ No newline at end of file diff --git a/test/outputs/OP_Of_(10) courses.html b/test/outputs/node-env/Output_10_courses.html similarity index 98% rename from test/outputs/OP_Of_(10) courses.html rename to test/outputs/node-env/Output_10_courses.html index 59bf01e..6f6b865 100644 --- a/test/outputs/OP_Of_(10) courses.html +++ b/test/outputs/node-env/Output_10_courses.html @@ -4,6 +4,12 @@ Courses + + + + + + + + + + + + + + + + + + + + + +