diff --git a/modules/juce_core/native/juce_ObjCHelpers_mac_test.mm b/modules/juce_core/native/juce_ObjCHelpers_mac_test.mm index 9b55cabc26..f7c3f185ac 100644 --- a/modules/juce_core/native/juce_ObjCHelpers_mac_test.mm +++ b/modules/juce_core/native/juce_ObjCHelpers_mac_test.mm @@ -1,68 +1,70 @@ -namespace juce { +namespace juce +{ -class ObjCHelpersTest final : public UnitTest { +class ObjCHelpersTest final : public UnitTest +{ public: - ObjCHelpersTest() : UnitTest{"ObjCHelpers", UnitTestCategories::native} {} + ObjCHelpersTest() : UnitTest { "ObjCHelpers", UnitTestCategories::native } {} - void runTest() final { - beginTest("Range"); + void runTest() final { - constexpr auto start = 10; - constexpr auto length = 20; + beginTest ("Range"); + { + constexpr auto start = 10; + constexpr auto length = 20; - const auto juceRange = Range::withStartAndLength(start, length); - const auto nsRange = NSMakeRange(start, length); + const auto juceRange = Range::withStartAndLength (start, length); + const auto nsRange = NSMakeRange (start, length); - expect(nsRangeToJuce(nsRange) == juceRange); - expect(NSEqualRanges(nsRange, juceRangeToNS(juceRange))); + expect (nsRangeToJuce (nsRange) == juceRange); + expect (NSEqualRanges (nsRange, juceRangeToNS (juceRange))); + } + + beginTest ("String"); + { + String juceString { "Hello world!" }; + NSString *nsString { @"Hello world!" }; + + expect (nsStringToJuce (nsString) == juceString); + expect ([nsString isEqualToString: juceStringToNS (juceString)]); + expect ([nsString isEqualToString: nsStringLiteral ("Hello world!")]); + } + + beginTest ("StringArray"); + { + const StringArray stringArray { "Hello world!", "this", "is", "a", "test" }; + NSArray *nsArray { @[@"Hello world!", @"this", @"is", @"a", @"test"] }; + + expect ([nsArray isEqualToArray: createNSArrayFromStringArray (stringArray)]); + } + + beginTest ("Dictionary"); + { + DynamicObject::Ptr data { new DynamicObject() }; + data->setProperty ("integer", 1); + data->setProperty ("double", 2.3); + data->setProperty ("boolean", true); + data->setProperty ("string", "Hello world!"); + + Array array { 45, 67.8, true, "Hello array!" }; + data->setProperty ("array", array); + + auto *nsDictionary = varObjectToNSDictionary (data.get()); + auto clone = nsDictionaryToVar (nsDictionary); + + expect (clone.getProperty ("integer", {}).isInt()); + expect (clone.getProperty ("double", {}).isDouble()); + expect (clone.getProperty ("boolean", {}).isBool()); + expect (clone.getProperty ("string", {}).isString()); + expect (clone.getProperty ("array", {}).isArray()); + + expect (clone.getProperty ("integer", {}) == var { 1 }); + expect (clone.getProperty ("double", {}) == var { 2.3 }); + expect (clone.getProperty ("boolean", {}) == var { true }); + expect (clone.getProperty ("string", {}) == var { "Hello world!" }); + expect (clone.getProperty ("array", {}) == array); + } } - - beginTest("String"); - { - String juceString{"Hello world!"}; - NSString *nsString{@"Hello world!"}; - - expect(nsStringToJuce(nsString) == juceString); - expect([nsString isEqualToString:juceStringToNS(juceString)]); - expect([nsString isEqualToString:nsStringLiteral("Hello world!")]); - } - - beginTest("StringArray"); - { - const StringArray stringArray{"Hello world!", "this", "is", "a", "test"}; - NSArray *nsArray { @[ @"Hello world!", @"this", @"is", @"a", @"test" ] }; - - expect( - [nsArray isEqualToArray:createNSArrayFromStringArray(stringArray)]); - } - - beginTest("Dictionary"); - { - DynamicObject::Ptr data{new DynamicObject()}; - data->setProperty("integer", 1); - data->setProperty("double", 2.3); - data->setProperty("boolean", true); - data->setProperty("string", "Hello world!"); - - Array array{45, 67.8, true, "Hello array!"}; - data->setProperty("array", array); - - auto *nsDictionary = varObjectToNSDictionary(data.get()); - auto clone = nsDictionaryToVar(nsDictionary); - - expect(clone.getProperty("integer", {}).isInt()); - expect(clone.getProperty("double", {}).isDouble()); - expect(clone.getProperty("boolean", {}).isBool()); - expect(clone.getProperty("string", {}).isString()); - expect(clone.getProperty("array", {}).isArray()); - - expect(clone.getProperty("integer", {}) == var{1}); - expect(clone.getProperty("double", {}) == var{2.3}); - expect(clone.getProperty("boolean", {}) == var{true}); - expect(clone.getProperty("string", {}) == var{"Hello world!"}); - expect(clone.getProperty("array", {}) == array); - } - } }; static ObjCHelpersTest objCHelpersTest;