diff --git a/test/SemaObjC/objc-literal-nsnumber.m b/test/SemaObjC/objc-literal-nsnumber.m
index a2d3728..1e304b2 100644
--- a/test/SemaObjC/objc-literal-nsnumber.m
+++ b/test/SemaObjC/objc-literal-nsnumber.m
@@ -9,6 +9,23 @@ typedef unsigned int NSUInteger;
 typedef int NSInteger;
 #endif
 
+void checkNSArrayUnavailableDiagnostic() {
+  id obj;
+  id arr = @[obj]; // expected-error {{NSArray must be available to use Objective-C array literals}}
+}
+
+void checkNSDictionaryUnavailableDiagnostic() {
+  id key;
+  id value;
+  id dict = @{ key : value }; // expected-error {{NSDictionary must be available to use Objective-C dictionary literals}}
+}
+
+void checkNSNumberUnavailableDiagnostic() {
+  NSUInteger i;
+  id num = @(i); // expected-error {{NSNumber must be available to use Objective-C literals}} \
+                 // expected-error {{illegal type 'NSUInteger' (aka 'unsigned long') used in a boxed expression}}
+}
+
 @interface NSObject
 + (NSObject*)nsobject;
 @end
