TestIdUtils

public final class TestIdUtils
extends Object

java.lang.Object
com.android.tradefed.result.resultdb.utils.TestIdUtils


यह यूटिलिटी क्लास, ResultDB के लिए टेस्ट आईडी को सैनिटाइज़ करती है.

इस क्लास को, ResultDB के कोडबेस से कॉपी किया गया है, ताकि यह उसके साथ काम कर सके.

खास जानकारी

कॉन्स्टेंट

String JUNIT_PACKAGE_PLACEHOLDER

String PYUNIT_PACKAGE_PLACEHOLDER

पब्लिक मेथड

static String escapeCaseName(String caseName)

यह मेथड, केस के नाम को ResultDB के मान्य केस नेम में बदलता है.

कॉन्स्टेंट

JUNIT_PACKAGE_PLACEHOLDER

public static final String JUNIT_PACKAGE_PLACEHOLDER

कॉन्स्टेंट वैल्यू: "no-package-name"

PYUNIT_PACKAGE_PLACEHOLDER

public static final String PYUNIT_PACKAGE_PLACEHOLDER

कॉन्स्टेंट वैल्यू: "__main__"

पब्लिक मेथड

escapeCaseName

public static String escapeCaseName (String caseName)

यह मेथड, केस के नाम को ResultDB के मान्य केस नेम में बदलता है. यह मेथड, ResultDB की एक्सटेंडेड डेप्थ हाइरार्की फ़ीचर के साथ काम नहीं करता . इस फ़ीचर में, कोलन को केस के नाम के हिस्सों के लिए सेपरेटर के तौर पर इस्तेमाल किया जाता है .

यह मेथड, केस के नाम को इस तरह बदलता है:

  1. अगर केस के नाम में ऐसे वर्ण शामिल हैं जिन्हें प्रिंट नहीं किया जा सकता, ऐसे वर्ण शामिल हैं जिनका इस्तेमाल करने पर रोक है ([ !"#$%&'()*+,]), या वह "\u2051" से खत्म होता है, तो उसे खास तरीके से बदला जाता है:
    1. बैकस्लैश (`\`) को `\\` में बदला जाता है.
    2. अगर केस का नाम [ !"#$%&'()*+,] (U+0020 से U+002C) में से किसी वर्ण से शुरू होता है, तो उसे बैकस्लैश से बदला जाता है.
    3. ऐसे वर्णों को उनके लिटरल यूनिकोड एस्केप सीक्वेंस (\\uXXXX या \\UXXXXXXXX) में बदला जाता है जिन्हें प्रिंट नहीं किया जा सकता.
    4. इसमें "\u2051" सफ़िक्स जोड़ा जाता है.
  2. पहले चरण के नतीजे (या अगर पहला चरण छोड़ दिया गया है, तो ओरिजनल स्ट्रिंग) में, ये बदलाव किए जाते हैं:
    1. बैकस्लैश (`\`) को `\\` में बदला जाता है.
    2. कोलन (`:`) को `\:` में बदला जाता है.

इसका मतलब है कि बैकस्लैश को दो बार एस्केप किया जा सकता है.

अगर ResultDB की एक्सटेंडेड डेप्थ हाइरार्की फ़ीचर का इस्तेमाल किया जा रहा है, तो इस फ़ंक्शन का इस्तेमाल न करें.

यह मेथड, chrome/engprod/resultdb/go/utils/test_id.go में मौजूद EscapeCaseName फ़ंक्शन के Java वर्शन के बराबर है. Go के UnescapeCaseName फ़ंक्शन के साथ राउंड-ट्रिप की सुविधा की जांच, Go के कोडबेस में की जाती है.

पैरामीटर
caseName String

रिटर्न
String