summaryrefslogtreecommitdiffstats
path: root/src/test/ui-fulldeps/fluent-messages
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui-fulldeps/fluent-messages')
-rw-r--r--src/test/ui-fulldeps/fluent-messages/duplicate-a.ftl1
-rw-r--r--src/test/ui-fulldeps/fluent-messages/duplicate-b.ftl1
-rw-r--r--src/test/ui-fulldeps/fluent-messages/missing-message.ftl1
-rw-r--r--src/test/ui-fulldeps/fluent-messages/test.rs66
-rw-r--r--src/test/ui-fulldeps/fluent-messages/test.stderr45
-rw-r--r--src/test/ui-fulldeps/fluent-messages/valid.ftl1
6 files changed, 115 insertions, 0 deletions
diff --git a/src/test/ui-fulldeps/fluent-messages/duplicate-a.ftl b/src/test/ui-fulldeps/fluent-messages/duplicate-a.ftl
new file mode 100644
index 000000000..fd9976b5a
--- /dev/null
+++ b/src/test/ui-fulldeps/fluent-messages/duplicate-a.ftl
@@ -0,0 +1 @@
+key = Value
diff --git a/src/test/ui-fulldeps/fluent-messages/duplicate-b.ftl b/src/test/ui-fulldeps/fluent-messages/duplicate-b.ftl
new file mode 100644
index 000000000..fd9976b5a
--- /dev/null
+++ b/src/test/ui-fulldeps/fluent-messages/duplicate-b.ftl
@@ -0,0 +1 @@
+key = Value
diff --git a/src/test/ui-fulldeps/fluent-messages/missing-message.ftl b/src/test/ui-fulldeps/fluent-messages/missing-message.ftl
new file mode 100644
index 000000000..372b1a2e4
--- /dev/null
+++ b/src/test/ui-fulldeps/fluent-messages/missing-message.ftl
@@ -0,0 +1 @@
+missing-message =
diff --git a/src/test/ui-fulldeps/fluent-messages/test.rs b/src/test/ui-fulldeps/fluent-messages/test.rs
new file mode 100644
index 000000000..0390a0785
--- /dev/null
+++ b/src/test/ui-fulldeps/fluent-messages/test.rs
@@ -0,0 +1,66 @@
+// normalize-stderr-test "note.*" -> "note: os-specific message"
+
+#![feature(rustc_private)]
+#![crate_type = "lib"]
+
+extern crate rustc_macros;
+use rustc_macros::fluent_messages;
+
+/// Copy of the relevant `DiagnosticMessage` variant constructed by `fluent_messages` as it
+/// expects `crate::DiagnosticMessage` to exist.
+pub enum DiagnosticMessage {
+ FluentIdentifier(std::borrow::Cow<'static, str>, Option<std::borrow::Cow<'static, str>>),
+}
+
+/// Copy of the relevant `SubdiagnosticMessage` variant constructed by `fluent_messages` as it
+/// expects `crate::SubdiagnosticMessage` to exist.
+pub enum SubdiagnosticMessage {
+ FluentAttr(std::borrow::Cow<'static, str>),
+}
+
+mod missing_absolute {
+ use super::fluent_messages;
+
+ fluent_messages! {
+ missing_absolute => "/definitely_does_not_exist.ftl",
+//~^ ERROR could not open Fluent resource
+ }
+}
+
+mod missing_relative {
+ use super::fluent_messages;
+
+ fluent_messages! {
+ missing_relative => "../definitely_does_not_exist.ftl",
+//~^ ERROR could not open Fluent resource
+ }
+}
+
+mod missing_message {
+ use super::fluent_messages;
+
+ fluent_messages! {
+ missing_message => "./missing-message.ftl",
+//~^ ERROR could not parse Fluent resource
+ }
+}
+
+mod duplicate {
+ use super::fluent_messages;
+
+ fluent_messages! {
+ a => "./duplicate-a.ftl",
+ b => "./duplicate-b.ftl",
+//~^ ERROR overrides existing message: `key`
+ }
+}
+
+mod valid {
+ use super::fluent_messages;
+
+ fluent_messages! {
+ valid => "./valid.ftl",
+ }
+
+ use self::fluent_generated::{DEFAULT_LOCALE_RESOURCES, valid::valid};
+}
diff --git a/src/test/ui-fulldeps/fluent-messages/test.stderr b/src/test/ui-fulldeps/fluent-messages/test.stderr
new file mode 100644
index 000000000..526bca43f
--- /dev/null
+++ b/src/test/ui-fulldeps/fluent-messages/test.stderr
@@ -0,0 +1,45 @@
+error: could not open Fluent resource
+ --> $DIR/test.rs:25:29
+ |
+LL | missing_absolute => "/definitely_does_not_exist.ftl",
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ |
+ = note: os-specific message
+
+error: could not open Fluent resource
+ --> $DIR/test.rs:34:29
+ |
+LL | missing_relative => "../definitely_does_not_exist.ftl",
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ |
+ = note: os-specific message
+
+error: could not parse Fluent resource
+ --> $DIR/test.rs:43:28
+ |
+LL | missing_message => "./missing-message.ftl",
+ | ^^^^^^^^^^^^^^^^^^^^^^^
+ |
+ = help: see additional errors emitted
+
+error: expected a message field for "missing-message"
+ --> ./missing-message.ftl:1:1
+ |
+1 | missing-message =
+ | ^^^^^^^^^^^^^^^^^^
+ |
+
+error: overrides existing message: `key`
+ --> $DIR/test.rs:53:9
+ |
+LL | b => "./duplicate-b.ftl",
+ | ^
+ |
+help: previously defined in this resource
+ --> $DIR/test.rs:52:9
+ |
+LL | a => "./duplicate-a.ftl",
+ | ^
+
+error: aborting due to 4 previous errors
+
diff --git a/src/test/ui-fulldeps/fluent-messages/valid.ftl b/src/test/ui-fulldeps/fluent-messages/valid.ftl
new file mode 100644
index 000000000..0eee4a02b
--- /dev/null
+++ b/src/test/ui-fulldeps/fluent-messages/valid.ftl
@@ -0,0 +1 @@
+valid = Valid!