1package org.udger.parser;
3import java.io.IOException;
4import java.io.InputStream;
5import java.sql.SQLException;
7import javax.json.JsonArray;
8import javax.json.JsonObject;
9import javax.json.JsonReader;
13 public static void main(String args[])
throws SQLException {
14 InputStream is =
UdgerUaTest.class.getResourceAsStream(
"test_ua.json");
15 JsonReader jr = javax.json.Json.createReader(is);
16 JsonArray ja = jr.readArray();
21 for (
int i=0; i < ja.size(); i++) {
22 JsonObject jar = ja.getJsonObject(i);
23 JsonObject jor = jar.getJsonObject(
"ret");
24 String query = jar.getJsonObject(
"test").getString(
"teststring");
27 System.out.print(
"### Test : " + (i+1) +
" - ");
28 if (checkResult(ret, jor)) {
29 System.out.println(
"SUCCEEDED");
31 System.out.println(
"FAILED!");
33 System.out.println(
"Query: " + query);
35 }
catch (SQLException e) {
43 }
catch (IOException e) {
49 private static boolean checkResult(
UdgerUaResult ret, JsonObject jor) {
50 boolean result =
true;
51 result = testEqual(jor,
"ua_engine", ret.getUaEngine()) && result;
52 result = testEqual(jor,
"ua_version", ret.getUaVersion()) && result;
53 result = testEqual(jor,
"ua_family_code", ret.getUaFamilyCode()) && result;
54 result = testEqual(jor,
"ua_family_icon_big", ret.getUaFamilyIconBig()) && result;
55 result = testEqual(jor,
"crawler_category", ret.getCrawlerCategory()) && result;
56 result = testEqual(jor,
"ua_family_icon", ret.getUaFamilyIcon()) && result;
57 result = testEqual(jor,
"ua_family_vendor", ret.getUaFamilyVendor()) && result;
58 result = testEqual(jor,
"ua_family_vendor_code", ret.getUaFamilyVendorCode()) && result;
59 result = testEqual(jor,
"ua_uptodate_current_version", ret.getUaUptodateCurrentVersion()) && result;
60 result = testEqual(jor,
"ua_class_code", ret.getUaClassCode()) && result;
61 result = testEqual(jor,
"ua", ret.getUa()) && result;
62 result = testEqual(jor,
"ua_family", ret.getUaFamily()) && result;
63 result = testEqual(jor,
"ua_family_homepage", ret.getUaFamilyHomepage()) && result;
64 result = testEqual(jor,
"ua_version_major", ret.getUaVersionMajor()) && result;
65 result = testEqual(jor,
"ua_family_info_url", ret.getUaFamilyInfoUrl()) && result;
66 result = testEqual(jor,
"crawler_respect_robotstxt", ret.getCrawlerRespectRobotstxt()) && result;
67 result = testEqual(jor,
"ua_class", ret.getUaClass()) && result;
68 result = testEqual(jor,
"ua_family_vendor_homepage", ret.getUaFamilyVendorHomepage()) && result;
69 result = testEqual(jor,
"crawler_category_code", ret.getCrawlerCategoryCode()) && result;
72 result = testEqual(jor,
"os_family_vendor_homepage", ret.getOsFamilyVendorHomepage()) && result;
73 result = testEqual(jor,
"os_icon_big", ret.getOsIconBig()) && result;
74 result = testEqual(jor,
"os_homepage", ret.getOsHomePage()) && result;
75 result = testEqual(jor,
"os_icon", ret.getOsIcon()) && result;
76 result = testEqual(jor,
"os", ret.getOs()) && result;
77 result = testEqual(jor,
"os_family_code", ret.getOsFamilyCode()) && result;
78 result = testEqual(jor,
"os_family_vendor", ret.getOsFamilyVendor()) && result;
79 result = testEqual(jor,
"os_family_vendor_code", ret.getOsFamilyVendorCode()) && result;
80 result = testEqual(jor,
"os_code", ret.getOsCode()) && result;
81 result = testEqual(jor,
"os_family", ret.getOsFamily()) && result;
82 result = testEqual(jor,
"os_info_url", ret.getOsInfoUrl()) && result;
84 result = testEqual(jor,
"device_class", ret.getDeviceClass()) && result;
85 result = testEqual(jor,
"device_class_icon_big", ret.getDeviceClassIconBig()) && result;
86 result = testEqual(jor,
"device_class_icon", ret.getDeviceClassIcon()) && result;
87 result = testEqual(jor,
"device_class_info_url", ret.getDeviceClassInfoUrl()) && result;
88 result = testEqual(jor,
"device_class_code", ret.getDeviceClassCode()) && result;
90 result = testEqual(jor,
"device_marketname", ret.getDeviceMarketname()) && result;
91 result = testEqual(jor,
"device_brand", ret.getDeviceBrand()) && result;
92 result = testEqual(jor,
"device_brand_code", ret.getDeviceBrandCode()) && result;
93 result = testEqual(jor,
"device_brand_homepage", ret.getDeviceBrandHomepage()) && result;
94 result = testEqual(jor,
"device_brand_icon", ret.getDeviceBrandIcon()) && result;
95 result = testEqual(jor,
"device_brand_icon_big", ret.getDeviceBrandIconBig()) && result;
96 result = testEqual(jor,
"device_brand_info_url", ret.getDeviceBrandInfoUrl()) && result;
101 private static boolean testEqual(JsonObject jor, String test, String ret) {
102 String expected = jor.getString(test);
103 if (!expected.equals(ret) && expected.startsWith(
"https://")) {
104 expected = expected.replaceAll(
" ",
"%20");
106 if (!expected.equals(ret)) {
107 System.out.println(
"Failed \"" + test +
"\" : value=" + ret +
" expected:" + expected);
UdgerUaResult parseUa(String uaString)